X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fsettings.php;h=905a5ed08d5cbbbbc74ef4c677c44370a578c7b1;hb=0db83b958659582ef2a7a20226cc7eea06bd9397;hp=3a07e714d07acf9e2678fb6d1aba79fe52b42c0b;hpb=5b78353fff3ce2f1dbf5bc8197a72ac42713ffd3;p=friendica.git diff --git a/mod/settings.php b/mod/settings.php index 3a07e714d0..905a5ed08d 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -39,61 +39,71 @@ function settings_init(&$a) { $tabs = array( array( 'label' => 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,7 +199,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(), 'system', 'ostatus_legacy_contact', $_POST['legacy_contact']); + set_pconfig(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']); } elseif(x($_POST, 'imap-submit')) { $mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : ''); @@ -284,13 +294,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 +321,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,7 +342,7 @@ function settings_post(&$a) { ); call_hooks('display_settings_post', $_POST); - goaway($a->get_baseurl(true) . '/settings/display' ); + goaway('settings/display' ); return; // NOTREACHED } @@ -337,7 +351,7 @@ function settings_post(&$a) { if (x($_POST,'resend_relocate')) { proc_run('php', '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 +398,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 +546,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 +576,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', @@ -582,7 +610,7 @@ function settings_post(&$a) { if(($old_visibility != $net_publish) || ($page_flags != $old_page_flags)) { // Update global directory in background $url = $_SESSION['my_url']; - if($url && strlen(get_config('system','directory_submit_url'))) + if($url && strlen(get_config('system','directory'))) proc_run('php',"include/directory.php","$url"); } @@ -599,12 +627,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 +756,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,16 +797,18 @@ 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 .= ''; - /* - // Deactivated by now - it doesn't seem to work reliable - $legacy_contact = get_pconfig(local_user(), 'system', 'ostatus_legacy_contact'); + $legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact'); + + if ($legacy_contact != "") + $a->page['htmlhead'] = ''; $settings_connectors .= '
'; $settings_connectors .= ''; $settings_connectors .= ''; $settings_connectors .= ''.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.').''; $settings_connectors .= '
'; - */ + + $settings_connectors .= '

'.t("Repair OStatus subscriptions").'

'; $settings_connectors .= '
'; @@ -903,7 +932,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 @@ -913,6 +943,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 @@ -938,10 +972,12 @@ 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.'), @@ -975,6 +1011,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']; @@ -1067,7 +1104,7 @@ function settings_content(&$a) { )); } - if(strlen(get_config('system','directory_submit_url'))) { + 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'))), )); @@ -1115,7 +1152,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"); @@ -1158,6 +1195,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'), @@ -1180,6 +1219,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), ''), @@ -1235,7 +1275,7 @@ function settings_content(&$a) { '$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')), - + '$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')), @@ -1256,5 +1296,5 @@ function settings_content(&$a) { return $o; -}} +}