]> git.mxchange.org Git - friendica.git/blobdiff - mod/settings.php
remove "smilie" expansion for Diaspora logo
[friendica.git] / mod / settings.php
old mode 100644 (file)
new mode 100755 (executable)
index 18e2d8a..a9d00bc
@@ -39,16 +39,19 @@ EOT;
 
 function settings_post(&$a) {
 
-       if(! local_user()) {
-               notice( t('Permission denied.') . EOL);
+       if(! local_user())
+               return;
+
+       if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
                return;
-       }
 
        if(count($a->user) && x($a->user,'uid') && $a->user['uid'] != local_user()) {
                notice( t('Permission denied.') . EOL);
                return;
        }
 
+       $old_page_flags = $a->user['page-flags'];
+
        if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){
                $key = $_POST['remove'];
                q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
@@ -109,13 +112,15 @@ function settings_post(&$a) {
        if(($a->argc > 1) && ($a->argv[1] == 'connectors')) {
 
                if(x($_POST['imap-submit'])) {
-                       $mail_server      = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
-                       $mail_port        = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : '');
-                       $mail_ssl         = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : '');
-                       $mail_user        = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : '');
-                       $mail_pass        = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : '');
-                       $mail_replyto     = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : '');
-                       $mail_pubmail     = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : '');
+                       $mail_server       = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
+                       $mail_port         = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : '');
+                       $mail_ssl          = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : '');
+                       $mail_user         = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : '');
+                       $mail_pass         = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : '');
+                       $mail_action       = ((x($_POST,'mail_action')) ? trim($_POST['mail_action']) : '');
+                       $mail_movetofolder = ((x($_POST,'mail_movetofolder')) ? trim($_POST['mail_movetofolder']) : '');
+                       $mail_replyto      = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : '');
+                       $mail_pubmail      = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : '');
 
 
                        $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
@@ -141,11 +146,14 @@ function settings_post(&$a) {
                                        );
                                }
                                $r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s',
+                                       `action` = %d, `movetofolder` = '%s',
                                        `mailbox` = 'INBOX', `reply_to` = '%s', `pubmail` = %d WHERE `uid` = %d LIMIT 1",
                                        dbesc($mail_server),
                                        intval($mail_port),
                                        dbesc($mail_ssl),
                                        dbesc($mail_user),
+                                       intval($mail_action),
+                                       dbesc($mail_movetofolder),
                                        dbesc($mail_replyto),
                                        intval($mail_pubmail),
                                        intval(local_user())
@@ -209,7 +217,7 @@ function settings_post(&$a) {
                }
        }
 
-       $theme            = ((x($_POST,'theme'))      ? notags(trim($_POST['theme']))        : '');
+       $theme            = ((x($_POST,'theme'))      ? notags(trim($_POST['theme']))        : $a->user['theme']);
        $username         = ((x($_POST,'username'))   ? notags(trim($_POST['username']))     : '');
        $email            = ((x($_POST,'email'))      ? notags(trim($_POST['email']))        : '');
        $timezone         = ((x($_POST,'timezone'))   ? notags(trim($_POST['timezone']))     : '');
@@ -217,8 +225,8 @@ function settings_post(&$a) {
        $openid           = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url']))   : '');
        $maxreq           = ((x($_POST,'maxreq'))     ? intval($_POST['maxreq'])             : 0);
        $expire           = ((x($_POST,'expire'))     ? intval($_POST['expire'])             : 0);
-       
-       
+
+
        $expire_items     = ((x($_POST,'expire_items')) ? intval($_POST['expire_items'])         : 0);
        $expire_notes     = ((x($_POST,'expire_notes')) ? intval($_POST['expire_notes'])         : 0);
        $expire_starred   = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
@@ -255,6 +263,10 @@ function settings_post(&$a) {
                $notify += intval($_POST['notify4']);
        if(x($_POST,'notify5'))
                $notify += intval($_POST['notify5']);
+       if(x($_POST,'notify6'))
+               $notify += intval($_POST['notify6']);
+       if(x($_POST,'notify7'))
+               $notify += intval($_POST['notify7']);
 
        $email_changed = false;
 
@@ -365,7 +377,7 @@ function settings_post(&$a) {
                );
        }               
 
-       if($old_visibility != $net_publish) {
+       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')))
@@ -399,6 +411,11 @@ function settings_content(&$a) {
                notice( t('Permission denied.') . EOL );
                return;
        }
+
+       if(x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
+               notice( t('Permission denied.') . EOL );
+               return;
+       }
        
        $tabs = array(
                array(
@@ -551,36 +568,40 @@ function settings_content(&$a) {
                $r = null;
        }
 
-       $mail_server  = ((count($r)) ? $r[0]['server'] : '');
-       $mail_port    = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : '');
-       $mail_ssl     = ((count($r)) ? $r[0]['ssltype'] : '');
-       $mail_user    = ((count($r)) ? $r[0]['user'] : '');
-       $mail_replyto = ((count($r)) ? $r[0]['reply_to'] : '');
-       $mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0);
-       $mail_chk     = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00');
+       $mail_server       = ((count($r)) ? $r[0]['server'] : '');
+       $mail_port         = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : '');
+       $mail_ssl          = ((count($r)) ? $r[0]['ssltype'] : '');
+       $mail_user         = ((count($r)) ? $r[0]['user'] : '');
+       $mail_replyto      = ((count($r)) ? $r[0]['reply_to'] : '');
+       $mail_pubmail      = ((count($r)) ? $r[0]['pubmail'] : 0);
+       $mail_action       = ((count($r)) ? $r[0]['action'] : 0);
+       $mail_movetofolder = ((count($r)) ? $r[0]['movetofolder'] : '');
+       $mail_chk          = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00');
+
 
-               
        $tpl = get_markup_template("settings_connectors.tpl");
                $o .= replace_macros($tpl, array(
                        '$title'        => t('Connector Settings'),
                        '$tabs'         => $tabs,
-               
+
                '$diasp_enabled' => $diasp_enabled,
                '$ostat_enabled' => $ostat_enabled,
-               
+
                '$h_imap' => t('Email/Mailbox Setup'),
                '$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."),
                '$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $mail_chk,''),
                '$mail_disabled' => (($mail_disabled) ? t('Email access is disabled on this site.') : ''),
                '$mail_server'  => array('mail_server',  t('IMAP server name:'), $mail_server, ''),
                '$mail_port'    => array('mail_port',    t('IMAP port:'), $mail_port, ''),
-               '$mail_ssl'             => array('mail_ssl',     t('Security:'), strtoupper($mail_ssl), '', array( ''=>t('None'), 'TSL'=>'TSL', 'SSL'=>'SSL')),
+               '$mail_ssl'             => array('mail_ssl',     t('Security:'), strtoupper($mail_ssl), '', array( ''=>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_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
-               '$submit' => t('Submit'),               
-               
+               '$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'),
+
 
 
                        '$settings_connectors' => $settings_connectors
@@ -588,7 +609,7 @@ function settings_content(&$a) {
                return $o;
        }
 
-               
+
        require_once('include/acl_selectors.php');
 
        $p = q("SELECT * FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
@@ -626,7 +647,7 @@ function settings_content(&$a) {
        $suggestme = (($suggestme===false)?0:$suggestme); // default if not set: 0
 
        $browser_update = intval(get_pconfig(local_user(), 'system','update_interval'));
-       $browser_update = (($browser_update===false)? 40 : $browser_update / 1000); // default if not set: 40 seconds
+       $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
        
        if(! strlen($a->user['timezone']))
                $timezone = date_default_timezone_get();
@@ -718,14 +739,27 @@ function settings_content(&$a) {
        $default_theme = get_config('system','theme');
        if(! $default_theme)
                $default_theme = 'default';
+
+       $allowed_themes_str = get_config('system','allowed_themes');
+       $allowed_themes_raw = explode(',',$allowed_themes_str);
+       $allowed_themes = array();
+       if(count($allowed_themes_raw))
+               foreach($allowed_themes_raw as $x)
+                       if(strlen(trim($x)))
+                               $allowed_themes[] = trim($x);
+
        
        $themes = array();
        $files = glob('view/theme/*');
-       if($files) {
-               foreach($files as $file) {
-                       $f = basename($file);
-                       $theme_name = ((file_exists($file . '/experimental')) ?  sprintf("%s - \x28Experimental\x29", $f) : $f);
-                       $themes[$f]=$theme_name;
+       if($allowed_themes) {
+               foreach($allowed_themes as $th) {
+                       $f = $th;
+                       $is_experimental = file_exists('view/theme/' . $th . '/experimental');
+                       $unsupported = file_exists('view/theme/' . $th . '/unsupported');
+                       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);
+                               $themes[$f]=$theme_name;
+                       }
                }
        }
        $theme_selected = (!x($_SESSION,'theme')? $default_theme : $_SESSION['theme']);
@@ -747,7 +781,7 @@ function settings_content(&$a) {
        $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 days:"), $expire, t('If empty, posts will not expire. Expired posts will be deleted')),
+               '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'),
                'label' => t('Advanced Expiration'),
                'items' => array('expire_items',  t("Expire posts:"), $expire_items, '', array(t('No'),t('Yes'))),
@@ -807,7 +841,8 @@ 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, ''),         
                
                
                '$h_advn' => t('Advanced Page Settings'),