]> git.mxchange.org Git - friendica.git/blobdiff - mod/settings.php
Merge pull request #636 from fabrixxm/installer/checkphpcli
[friendica.git] / mod / settings.php
index fd2bb9e570d70f04f2460177cccc5a20375a6338..8b3cebfa35dd642c6b21a27fe66d9f0116dd134f 100644 (file)
@@ -31,6 +31,11 @@ function settings_init(&$a) {
                        'url'   => $a->get_baseurl(true).'/settings',
                        'selected'      => (($a->argc == 1)?'active':''),
                ),      
+               array(
+                       'label' => t('Additional features'),
+                       'url'   => $a->get_baseurl(true).'/settings/features',
+                       'selected'      => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
+               ),
                array(
                        'label' => t('Display settings'),
                        'url'   => $a->get_baseurl(true).'/settings/display',
@@ -204,6 +209,7 @@ function settings_post(&$a) {
                                        intval($mail_pubmail),
                                        intval(local_user())
                                );
+                               logger("mail: updating mailaccount. Response: ".print_r($r, true));
                                $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
                                        intval(local_user())
                                );
@@ -231,7 +237,18 @@ function settings_post(&$a) {
                return;
        }
        
-       if(($a->argc > 1) && ($a->argv[1] == 'display')) {
+       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) {
+                               set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
+                       }
+               }
+               info( t('Features updated') . EOL);
+               return;
+       }
+
+       if(($a->argc > 1) && ($a->argv[1] === 'display')) {
                
                check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
 
@@ -612,6 +629,7 @@ function settings_content(&$a) {
                return $o;
                
        }
+
        if(($a->argc > 1) && ($a->argv[1] === 'addon')) {
                $settings_addons = "";
                
@@ -631,6 +649,29 @@ function settings_content(&$a) {
                return $o;
        }
 
+       if(($a->argc > 1) && ($a->argv[1] === 'features')) {
+               
+               $arr = array();
+               $features = get_features();
+               foreach($features as $fname => $fdata) {
+                       $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')));
+                       }
+               }
+
+
+               $tpl = get_markup_template("settings_features.tpl");
+               $o .= replace_macros($tpl, array(
+                       '$form_security_token' => get_form_security_token("settings_features"),
+                       '$title'        => t('Additional Features'),
+                       '$features' => $arr,
+                       '$submit'   => t('Submit'),
+               ));
+               return $o;
+       }
+
        if(($a->argc > 1) && ($a->argv[1] === 'connectors')) {
 
                $settings_connectors = "";
@@ -673,6 +714,7 @@ function settings_content(&$a) {
                        $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"),
                        
@@ -690,9 +732,9 @@ function settings_content(&$a) {
                        '$mail_ssl'             => array('mail_ssl',     t('Security:'), strtoupper($mail_ssl), '', array( 'notls'=>t('None'), 'TLS'=>'TLS', 'SSL'=>'SSL')),
                        '$mail_user'    => array('mail_user',    t('Email login name:'), $mail_user, ''),
                        '$mail_pass'    => array('mail_pass',    t('Email password:'), '', ''),
-                       '$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'),
+                       '$mail_replyto' => array('mail_replyto', t('Reply-to address:'), $mail_replyto, 'Optional'),
                        '$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
-                       '$mail_action'  => array('mail_action',  t('Action after import:'), $mail_action, '', array(0=>t('None'), 1=>t('Delete'), 2=>t('Mark as seen'), 3=>t('Move to folder'))),
+                       '$mail_action'  => array('mail_action',  t('Action after import:'), $mail_action, '', array(0=>t('None'), /*1=>t('Delete'),*/ 2=>t('Mark as seen'), 3=>t('Move to folder'))),
                        '$mail_movetofolder'    => array('mail_movetofolder',    t('Move to folder:'), $mail_movetofolder, ''),
                        '$submit' => t('Submit'),
 
@@ -849,7 +891,7 @@ function settings_content(&$a) {
 
 
        $pageset_tpl = get_markup_template('pagetypes.tpl');
-       $pagetype = replace_macros($pageset_tpl,array(
+       $pagetype = replace_macros($pageset_tpl, array(
                '$page_normal'  => array('page-flags', t('Normal Account Page'), PAGE_NORMAL, 
                                                                        t('This account is a normal personal profile'), 
                                                                        ($a->user['page-flags'] == PAGE_NORMAL)),
@@ -970,7 +1012,26 @@ function settings_content(&$a) {
        require_once('include/group.php');
        $group_select = mini_group_select(local_user(),$a->user['def_gid']);
 
-       $o .= replace_macros($stpl,array(
+
+       // Private/public post links for the non-JS ACL form
+       $private_post = 1;
+       if($_REQUEST['public'])
+               $private_post = 0;
+
+       $query_str = $a->query_string;
+       if(strpos($query_str, 'public=1') !== false)
+               $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+       // I think $a->query_string may never have ? in it, but I could be wrong
+       // It looks like it's from the index.php?q=[etc] rewrite that the web
+       // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+       if(strpos($query_str, '?') === false)
+               $public_post_link = '?public=1';
+       else
+               $public_post_link = '&public=1';
+
+
+       $o .= replace_macros($stpl, array(
                '$ptitle'       => t('Account Settings'),
 
                '$submit'       => t('Submit'),
@@ -1004,6 +1065,17 @@ function settings_content(&$a) {
                '$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, ''),
 
+               // ACL permissions box
+               '$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
+               '$group_perms' => t('Show to Groups'),
+               '$contact_perms' => t('Show to Contacts'),
+               '$private' => t('Default Private Post'),
+               '$public' => t('Default Public Post'),
+               '$is_private' => $private_post,
+               '$return_path' => $query_str,
+               '$public_link' => $public_post_link,
+               '$settings_perms' => t('Default Permissions for New Posts'),
+
                '$group_select' => $group_select,