X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fsettings.php;h=3a07e714d07acf9e2678fb6d1aba79fe52b42c0b;hb=8504cf4f059c89732c47f51d39aa1a3b0d5e913a;hp=ae4c36e0cc0be0e2df3778daeaff4916a1f51ad9;hpb=cf0ebd952f662654f5e1291845fa82b1047155d4;p=friendica.git diff --git a/mod/settings.php b/mod/settings.php index ae4c36e0cc..3a07e714d0 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -16,6 +16,11 @@ function get_theme_config_file($theme){ function settings_init(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL ); + return; + } + // APC deactivated, since there are problems with PHP 5.5 //if (function_exists("apc_delete")) { // $toDelete = new APCIterator('user', APC_ITER_VALUE); @@ -35,48 +40,57 @@ function settings_init(&$a) { array( 'label' => t('Account'), 'url' => $a->get_baseurl(true).'/settings', - 'selected' => (($a->argc == 1)?'active':''), + '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[1] === 'addon')?'active':''), + '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' => '' + 'selected' => (($a->argc == 1) && ($a->argv[0] === 'uexport')?'active':''), + 'accesskey' => 'e', ), array( 'label' => t('Remove account'), 'url' => $a->get_baseurl(true) . '/removeme', - 'selected' => '' + 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme')?'active':''), + 'accesskey' => 'r', ) ); @@ -172,7 +186,11 @@ function settings_post(&$a) { check_form_security_token_redirectOnErr('/settings/connectors', 'settings_connectors'); - if(x($_POST, 'imap-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(), 'system', 'ostatus_legacy_contact', $_POST['legacy_contact']); + } elseif(x($_POST, 'imap-submit')) { $mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : ''); $mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : ''); @@ -395,6 +413,8 @@ function settings_post(&$a) { $post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0); $post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0); + $email_textonly = (($_POST['email_textonly'] == 1) ? 1 : 0); + $notify = 0; if(x($_POST,'notify1')) @@ -467,7 +487,7 @@ function settings_post(&$a) { $str_contact_deny = perms2str($_POST['contact_deny']); $openidserver = $a->user['openidserver']; - $openid = normalise_openid($openid); + //$openid = normalise_openid($openid); // If openid has changed or if there's an openid but no openidserver, try and discover it. @@ -495,6 +515,7 @@ function settings_post(&$a) { set_pconfig(local_user(),'system','post_joingroup', $post_joingroup); set_pconfig(local_user(),'system','post_profilechange', $post_profilechange); + set_pconfig(local_user(),'system','email_textonly', $email_textonly); if($page_flags == PAGE_PRVGROUP) { $hidewall = 1; @@ -505,7 +526,7 @@ function settings_post(&$a) { } else { notice( t('Private forum has no privacy permissions and no default privacy group.') . EOL); - } + } } } @@ -590,7 +611,7 @@ function settings_content(&$a) { nav_set_selected('settings'); if(! local_user()) { - notice( t('Permission denied.') . EOL ); + #notice( t('Permission denied.') . EOL ); return; } @@ -656,7 +677,7 @@ function settings_content(&$a) { } - $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my + $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my FROM clients LEFT JOIN tokens ON clients.client_id=tokens.client_id WHERE clients.uid IN (%d,0)", @@ -725,13 +746,50 @@ function settings_content(&$a) { if(($a->argc > 1) && ($a->argv[1] === 'connectors')) { - $settings_connectors = ""; + $settings_connectors = ''; + $settings_connectors .= '

'. t('General Social Media Settings').'

'; + $settings_connectors .= '
'; + $settings_connectors .= '
'; call_hooks('connector_settings', $settings_connectors); if (is_site_admin()) { $diasp_enabled = sprintf( t('Built-in support for %s connectivity is %s'), t('Diaspora'), ((get_config('system','diaspora_enabled')) ? t('enabled') : t('disabled'))); - $ostat_enabled = sprintf( t('Built-in support for %s connectivity is %s'), t('StatusNet'), ((get_config('system','ostatus_disabled')) ? t('disabled') : t('enabled'))); + $ostat_enabled = sprintf( t('Built-in support for %s connectivity is %s'), t('GNU Social (OStatus)'), ((get_config('system','ostatus_disabled')) ? t('disabled') : t('enabled'))); } else { $diasp_enabled = ""; $ostat_enabled = ""; @@ -830,7 +888,7 @@ function settings_content(&$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 or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){ $theme_name = (($is_experimental) ? sprintf("%s - \x28Experimental\x29", $f) : $f); if($is_mobile) { $mobile_themes[$f]=$theme_name; @@ -888,6 +946,7 @@ function settings_content(&$a) { '$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.'), + 'stitle' => t('Theme settings'), '$theme_config' => $theme_config, )); @@ -994,7 +1053,7 @@ function settings_content(&$a) { $openid_field = false; } else { - $openid_field = array('openid_url', t('OpenID:'),$openid, t("\x28Optional\x29 Allow this OpenID to login to this account.")); + $openid_field = array('openid_url', t('OpenID:'),$openid, t("\x28Optional\x29 Allow this OpenID to login to this account."), "", "", "url"); } @@ -1022,7 +1081,7 @@ function settings_content(&$a) { )); $hide_wall = replace_macros($opt_tpl,array( - '$field' => array('hidewall', t('Hide your profile details from unknown viewers?'), $a->user['hidewall'], '', 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'))), )); @@ -1056,21 +1115,17 @@ 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') . ' ' . $a->get_baseurl(true) . '/profile/' . $nickname : ''); $tpl_addr = get_markup_template("settings_nick_set.tpl"); $prof_addr = replace_macros($tpl_addr,array( - '$desc' => t('Your Identity Address is'), - '$nickname' => $nickname, - '$subdir' => $subdir, + '$desc' => sprintf(t("Your Identity Address is '%s' or '%s'."), $nickname.'@'.$a->get_hostname().$a->get_path(), $a->get_baseurl().'/profile/'.$nickname), '$basepath' => $a->get_hostname() )); $stpl = get_markup_template('settings.tpl'); - $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false); - $expire_arr = array( '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'), @@ -1078,8 +1133,8 @@ function settings_content(&$a) { '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'))), + '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'); @@ -1123,7 +1178,7 @@ function settings_content(&$a) { '$h_basic' => t('Basic Settings'), '$username' => array('username', t('Full Name:'), $username,''), - '$email' => array('email', t('Email Address:'), $email, ''), + '$email' => array('email', t('Email Address:'), $email, '', '', '', 'email'), '$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''), '$defloc' => array('defloc', t('Default Post Location:'), $defloc, ''), '$allowloc' => array('allow_location', t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''), @@ -1135,7 +1190,7 @@ function settings_content(&$a) { '$permissions' => t('Default Post Permissions'), '$permdesc' => t("\x28click to open/close\x29"), '$visibility' => $profile['net-publish'], - '$aclselect' => populate_acl($a->user,$celeb), + '$aclselect' => populate_acl($a->user), '$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, ''), @@ -1175,10 +1230,15 @@ function settings_content(&$a) { '$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''), '$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''), '$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''), - '$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''), - '$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, ''), - + '$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''), + '$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')), + + '$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')), '$h_advn' => t('Advanced Account/Page Type Settings'), '$h_descadvn' => t('Change the behaviour of this account for special situations'),