]> git.mxchange.org Git - friendica.git/blobdiff - mod/settings.php
Check for ImageMagick and for GIF support
[friendica.git] / mod / settings.php
index a83986267cd272a41a9c4ec47f907a99ab930f1c..6601858ee41b2bc8e234a1d0a9359b1818cd11c8 100644 (file)
@@ -41,47 +41,56 @@ function settings_init(&$a) {
                        'label' => t('Account'),
                        'url'   => $a->get_baseurl(true).'/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',
                )
        );
 
@@ -178,7 +187,9 @@ function settings_post(&$a) {
                check_form_security_token_redirectOnErr('/settings/connectors', 'settings_connectors');
 
                if(x($_POST, 'general-submit')) {
-                       set_pconfig(local_user(), 'system', 'no_intelligent_shortening', $_POST['no_intelligent_shortening']);
+                       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', 'legacy_contact', $_POST['legacy_contact']);
                } elseif(x($_POST, 'imap-submit')) {
 
                        $mail_server       = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
@@ -273,6 +284,7 @@ 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);
@@ -297,6 +309,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);
@@ -571,7 +584,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");
 
        }
@@ -751,6 +764,27 @@ function settings_content(&$a) {
                $settings_connectors .= '<span class="field_help">'.t('Normally the system tries to find the best link to add to shortened posts. If this option is enabled then every shortened post will always point to the original friendica post.').'</span>';
                $settings_connectors .= '</div>';
 
+               $checked = ((get_pconfig(local_user(), 'system', 'ostatus_autofriend')) ? ' checked="checked" ' : '');
+
+               $settings_connectors .= '<div id="snautofollow-wrapper" class="field checkbox">';
+               $settings_connectors .= '<label id="snautofollow-label" for="snautofollow-checkbox">'. t('Automatically follow any GNU Social (OStatus) followers/mentioners'). '</label>';
+               $settings_connectors .= '<input id="snautofollow-checkbox" type="checkbox" name="snautofollow" value="1" ' . $checked . '/>';
+               $settings_connectors .= '<span class="field_help">'.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.').'</span>';
+               $settings_connectors .= '</div>';
+
+               $legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact');
+
+               if ($legacy_contact != "")
+                       $a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.$a->get_baseurl().'/ostatus_subscribe?url='.urlencode($legacy_contact).'">';
+
+               $settings_connectors .= '<div id="legacy-contact-wrapper" class="field input">';
+               $settings_connectors .= '<label id="legacy-contact-label" for="snautofollow-checkbox">'. t('Your legacy GNU Social account'). '</label>';
+               $settings_connectors .= '<input id="legacy-contact-checkbox" name="legacy_contact" value="'.$legacy_contact.'"/>';
+               $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="'.$a->get_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>';
 
                $settings_connectors .= '</div><div class="clear"></div>';
@@ -759,7 +793,7 @@ function settings_content(&$a) {
 
                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 = "";
@@ -883,6 +917,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
 
@@ -912,10 +950,13 @@ function settings_content(&$a) {
                        '$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.'),
 
+                       'stitle' => t('Theme settings'),
                        '$theme_config' => $theme_config,
                ));
 
@@ -1036,7 +1077,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'))),
                ));
@@ -1084,14 +1125,12 @@ function settings_content(&$a) {
                info( t('Profile is <strong>not published</strong>.') . EOL );
 
 
-       $subdir = ((strlen($a->get_path())) ? '<br />' . t('or') . ' ' . $a->get_baseurl(true) . '/profile/' . $nickname : '');
+       //$subdir = ((strlen($a->get_path())) ? '<br />' . 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 <strong>'%s'</strong> or '%s'."), $nickname.'@'.$a->get_hostname().$a->get_path(), $a->get_baseurl().'/profile/'.$nickname),
                '$basepath' => $a->get_hostname()
        ));