]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote branch 'upstream/master'
authorzottel <github@zottel.net>
Wed, 30 May 2012 09:08:02 +0000 (11:08 +0200)
committerzottel <github@zottel.net>
Wed, 30 May 2012 09:08:02 +0000 (11:08 +0200)
47 files changed:
boot.php
database.sql
htconfig.php
include/api.php
include/auth.php
include/bb2diaspora.php
include/config.php
include/dba.php
include/delivery.php
include/enotify.php
include/event.php
include/items.php
include/nav.php
include/notifier.php
include/profile_advanced.php
include/profile_selectors.php
mod/dfrn_confirm.php
mod/dfrn_notify.php
mod/dfrn_request.php
mod/item.php
mod/network.php
mod/notes.php
mod/profiles.php
mod/search.php
mod/settings.php
mod/wallmessage.php
update.php
util/messages.po
view/dfrn_req_confirm.tpl
view/generic_links_widget.tpl
view/settings.tpl
view/theme/diabook/theme.php
view/theme/dispy/communityhome.tpl
view/theme/dispy/config.php
view/theme/dispy/conversation.tpl
view/theme/dispy/dark/_base.less
view/theme/dispy/dark/style.css
view/theme/dispy/dark/style.less
view/theme/dispy/dark/theme.php
view/theme/dispy/light/_base.less
view/theme/dispy/light/style.css
view/theme/dispy/light/style.less
view/theme/dispy/light/theme.php
view/theme/dispy/style.php
view/theme/dispy/theme.php
view/theme/duepuntozero/style.css
view/theme/slackr/style.css

index 634cf28c9284e6f4b423e785312ea119f45f87c3..54ab14d632c8049330a5eebde2c40814245eba61 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -9,9 +9,9 @@ require_once('include/nav.php');
 require_once('include/cache.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1353' );
+define ( 'FRIENDICA_VERSION',      '3.0.1358' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
-define ( 'DB_UPDATE_VERSION',      1144      );
+define ( 'DB_UPDATE_VERSION',      1145      );
 
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
@@ -441,22 +441,19 @@ if(! class_exists('App')) {
                                if(intval($this->config['system']['ssl_policy']) === intval(SSL_POLICY_FULL))
                                        $scheme = 'https';
 
-                               //                      We need to populate the $ssl flag across the entire program before turning this on.
-                               //                      Basically, we'll have $ssl = true on any links which can only be seen by a logged in user
-                               //                      (and also the login link). Anything seen by an outsider will have it turned off.
-                               //                      At present, setting SSL_POLICY_SELFSIGN will only force remote contacts to update their
-                               //                      contact links to this site with "http:" if they are currently using "https:"
-
-                               //                      if($this->config['system']['ssl_policy'] == SSL_POLICY_SELFSIGN) {
-                               //                              if($ssl)
-                               //                                      $scheme = 'https';
-                               //                              else
-                               //                                      $scheme = 'http';
-                                       //                      }
-               }
+                               //      Basically, we have $ssl = true on any links which can only be seen by a logged in user
+                               //      (and also the login link). Anything seen by an outsider will have it turned off.
+
+                               if($this->config['system']['ssl_policy'] == SSL_POLICY_SELFSIGN) {
+                                       if($ssl)
+                                               $scheme = 'https';
+                                       else
+                                               $scheme = 'http';
+                               }
+                       }
 
-                               $this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
-                               return $this->baseurl;
+                       $this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
+                       return $this->baseurl;
                }
 
                function set_baseurl($url) {
index ed97cd4aa7edd1820e571f4f9741e5a859407031..48900839c938a83335d2ca55b3d86df0c0ae9820 100644 (file)
@@ -173,6 +173,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
   `readonly` tinyint(1) NOT NULL DEFAULT '0',
   `writable` tinyint(1) NOT NULL DEFAULT '0',
   `forum` tinyint(1) NOT NULL DEFAULT '0',
+  `prv` tinyint(1) NOT NULL DEFAULT '0',
   `hidden` tinyint(1) NOT NULL DEFAULT '0',
   `archive` tinyint(1) NOT NULL DEFAULT '0',
   `pending` tinyint(1) NOT NULL DEFAULT '1',
index 872572654a705cec36d5f39d43353d4f7fd64209..de7674c9ae3fe066abd2a2041415b9d878a9bd94 100644 (file)
@@ -88,3 +88,6 @@ $a->config['system']['itemcache'] = "";
 
 // If enabled, the lockpath is used for a lockfile to check if the poller is running
 $a->config['system']['lockpath'] = "";
+
+// If enabled, the MyBB fulltext engine is used
+// $a->config['system']['use_fulltext_engine'] = true;
index a693a32c8bb3c797a4d20afa62493ed3d4bf2ce2..5c17b35f56e7ae25b64631b653e966f3523dae75 100644 (file)
@@ -4,26 +4,26 @@
        require_once("conversation.php");
        require_once("oauth.php");
        require_once("html2plain.php");
-       /* 
+       /*
         * Twitter-Like API
-        *  
+        *
         */
 
        $API = Array();
-       $called_api = Null; 
+       $called_api = Null;
 
        function api_date($str){
                //Wed May 23 06:01:13 +0000 2007
                return datetime_convert('UTC', 'UTC', $str, "D M d H:i:s +0000 Y" );
        }
-        
-       
+
+
        function api_register_func($path, $func, $auth=false){
                global $API;
                $API[$path] = array('func'=>$func,
                                                        'auth'=>$auth);
        }
-       
+
        /**
         * Simple HTTP Login
         */
                                'geo' => '',
                                'coordinates' => $lastwall['coord'],
                                'place' => $lastwall['location'],
-                               'contributors' => ''                                    
+                               'contributors' => ''
                        );
                }
                return  api_apply_template("user", $type, array('$user' => $user_info));
-               
+
        }
        api_register_func('api/users/show','api_users_show');
-       
+
        /**
-        * 
+        *
         * http://developer.twitter.com/doc/get/statuses/home_timeline
-        * 
+        *
         * TODO: Optional parameters
         * TODO: Add reply info
         */
        function api_statuses_home_timeline(&$a, $type){
                if (local_user()===false) return false;
-                               
+
                $user_info = api_get_user($a);
                // get last newtork messages
 
                $since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
                $max_id = (x($_REQUEST,'max_id')?$_REQUEST['max_id']:0);
                //$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
-               
+
                $start = $page*$count;
 
                //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
                if ($max_id > 0)
                        $sql_extra = 'AND `item`.`id` <= '.intval($max_id);
 
-               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                        `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
 
                $ret = api_format_items($r,$user_info);
 
-               
+
                $data = array('$statuses' => $ret);
                switch($type){
                        case "atom":
                                return($as);
                                break;
                }
-                               
+
                return  api_apply_template("timeline", $type, $data);
        }
        api_register_func('api/statuses/home_timeline','api_statuses_home_timeline', true);
 
        function api_statuses_public_timeline(&$a, $type){
                if (local_user()===false) return false;
-                               
+
                $user_info = api_get_user($a);
                // get last newtork messages
 
                $since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
                $max_id = (x($_REQUEST,'max_id')?$_REQUEST['max_id']:0);
                //$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
-               
+
                $start = $page*$count;
 
                //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
                if ($max_id > 0)
                        $sql_extra = 'AND `item`.`id` <= '.intval($max_id);
 
-               /*$r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+               /*$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                        `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                        intval($since_id),
                        intval($start), intval($count)
                );*/
-               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
-                       `contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`, 
+                       `contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
                        `user`.`nickname`, `user`.`hidewall`
                        FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
                        LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
                        WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
-                       AND `item`.`allow_cid` = ''  AND `item`.`allow_gid` = '' 
-                       AND `item`.`deny_cid`  = '' AND `item`.`deny_gid`  = '' 
-                       AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `user`.`hidewall` = 0 
+                       AND `item`.`allow_cid` = ''  AND `item`.`allow_gid` = ''
+                       AND `item`.`deny_cid`  = '' AND `item`.`deny_gid`  = ''
+                       AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `user`.`hidewall` = 0
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        $sql_extra
                        AND `item`.`id`>%d
 
                $ret = api_format_items($r,$user_info);
 
-               
+
                $data = array('$statuses' => $ret);
                switch($type){
                        case "atom":
                                return($as);
                                break;
                }
-                               
+
                return  api_apply_template("timeline", $type, $data);
        }
        api_register_func('api/statuses/public_timeline','api_statuses_public_timeline', true);
                // params
                $id = intval($a->argv[3]);
 
-               logger('API: api_statuses_show: '.$id);         
+               logger('API: api_statuses_show: '.$id);
 
                //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
 
-               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                        `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                );
 
                $ret = api_format_items($r,$user_info);
-               
+
                $data = array('$status' => $ret[0]);
                /*switch($type){
                        case "atom":
                $since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
                $max_id = (x($_REQUEST,'max_id')?$_REQUEST['max_id']:0);
                //$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
-               
+
                $start = $page*$count;
 
                //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
                $myurl = substr($myurl,strpos($myurl,'://')+3);
                $myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
                $diasp_url = str_replace('/profile/','/u/',$myurl);
-               $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` regexp '%s' or `tag` regexp '%s' or tag regexp '%s' )) ",
-                       dbesc($myurl . '$'),
-                       dbesc($myurl . '\\]'),
-                       dbesc($diasp_url . '\\]')
-               );
+
+               if (get_config('system','use_fulltext_engine'))
+                        $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where (MATCH(`author-link`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(`tag`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode))) ",
+                                dbesc(protect_sprintf($myurl)),
+                                dbesc(protect_sprintf($myurl)),
+                                dbesc(protect_sprintf($diasp_url))
+                        );
+                else
+                        $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
+                                dbesc(protect_sprintf('%' . $myurl)),
+                                dbesc(protect_sprintf('%' . $myurl . ']%')),
+                                dbesc(protect_sprintf('%' . $diasp_url . ']%'))
+                        );
 
                if ($max_id > 0)
                        $sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
 
                $ret = api_format_items($r,$user_info);
 
-               
+
                $data = array('$statuses' => $ret);
                switch($type){
                        case "atom":
                                return($as);
                                break;
                }
-                               
+
                return  api_apply_template("timeline", $type, $data);
        }
        api_register_func('api/statuses/mentions','api_statuses_mentions', true);
 
                $ret = api_format_items($r,$user_info);
 
-               
+
                $data = array('$statuses' => $ret);
                switch($type){
                        case "atom":
                        case "rss":
                                $data = api_rss_extra($a, $data, $user_info);
                }
-                               
+
                return  api_apply_template("timeline", $type, $data);
        }
 
 
        function api_favorites(&$a, $type){
                if (local_user()===false) return false;
-               
+
                $user_info = api_get_user($a);
                // in friendica starred item are private
                // return favorites only for self
                logger('api_favorites: self:' . $user_info['self']);
-               
+
                if ($user_info['self']==0) {
                        $ret = array();
                } else {
-                       
-                       
+
+
                        // params
                        $count = (x($_GET,'count')?$_GET['count']:20);
                        $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0);
                        if ($page<0) $page=0;
-                       
+
                        $start = $page*$count;
 
-                       $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
+                       $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                                `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                                `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                                `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                        );
 
                        $ret = api_format_items($r,$user_info);
-               
+
                }
-               
+
                $data = array('$statuses' => $ret);
                switch($type){
                        case "atom":
                        case "rss":
                                $data = api_rss_extra($a, $data, $user_info);
                }
-                               
+
                return  api_apply_template("timeline", $type, $data);
        }
 
                $as['link']['type'] = "text/html";
                return($as);
        }
-       
+
        function api_format_items($r,$user_info) {
 
                //logger('api_format_items: ' . print_r($r,true));
                        $status_user = (($item['cid']==$user_info['id'])?$user_info: api_item_get_user($a,$item));
 
                        if ($item['parent']!=$item['id']) {
-                               $r = q("select id from item where parent=%s and id<%s order by id desc limit 1", 
+                               $r = q("select id from item where parent=%s and id<%s order by id desc limit 1",
                                        intval($item['parent']), intval($item['id']));
                                if ($r)
                                        $in_reply_to_status_id = $r[0]['id'];
                                else
                                        $in_reply_to_status_id = $item['parent'];
 
-                               $r = q("select `item`.`contact-id`, `contact`.nick, `item`.`author-name` from item, contact 
+                               $r = q("select `item`.`contact-id`, `contact`.nick, `item`.`author-name` from item, contact
                                        where `contact`.`id` = `item`.`contact-id` and `item`.id=%d", intval($in_reply_to_status_id));
 
                                $in_reply_to_screen_name = $r[0]['author-name'];
                        else
                                $statustext = trim($statustitle."\n\n".$statusbody);
 
+                       if (($item["network"] == NETWORK_FEED) and (strlen($statustext)> 1000))
+                               $statustext = substr($statustext, 0, 1000)."... \n".$item["plink"];
+
                        $status = array(
                                'text'          => $statustext,
                                'truncated' => False,
index b87662fea29f55944d5744768ba09d87705ca070..cba6a67a7fd7ec5124b919540bc3b6bf118013cc 100644 (file)
@@ -53,6 +53,8 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p
                $check = get_config('system','paranoia');
                // extra paranoia - if the IP changed, log them out
                if($check && ($_SESSION['addr'] != $_SERVER['REMOTE_ADDR'])) {
+                       logger('Session address changed. Paranoid setting in effect, blocking session. ' 
+                               . $_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']);
                        nuke_session();
                        goaway(z_root());
                }
index 8487f845a62848a75750632f14b773047096dbde..d86ba454375b72cdb481c6a5da845028e90e3502 100644 (file)
@@ -221,13 +221,18 @@ function bb2diaspora($Text,$preserve_nl = false) {
 
        $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
 
-       $Text = preg_replace('/\[(.*?)\]\((.*?)\\\\_(.*?)\)/ism','[$1]($2_$3)',$Text);
+       $Text = preg_replace_callback('/\[(.*?)\]\((.*?)\)/ism','unescape_underscores_in_links',$Text);
        
        call_hooks('bb2diaspora',$Text);
 
        return $Text;
 }
 
+function unescape_underscores_in_links($m) {
+       $y = str_replace('\\_','_', $m[2]);
+       return('[' . $m[1] . '](' . $y . ')');
+}
+
 function format_event_diaspora($ev) {
 
        $a = get_app();
index 12fc9cafc99b61699fe172d635673277ff79b2fd..df1070c13c6b61ab5c476e5874c619a229a85f7c 100644 (file)
@@ -6,7 +6,7 @@
  * Note:
  * Please do not store booleans - convert to 0/1 integer values
  * The get_?config() functions return boolean false for keys that are unset,
- * and this could lead to subtle bugs.  
+ * and this could lead to subtle bugs.
  *
  * There are a few places in the code (such as the admin panel) where boolean
  * configurations need to be fixed as of 10/08/2011.
@@ -30,6 +30,9 @@ function load_config($family) {
                                $a->config[$family][$k] = $rr['v'];
                        }
                }
+       } else if ($rr['cat'] != 'config') {
+               // Negative caching
+               $a->config[$family] = "!<unset>!";
        }
 }}
 
@@ -47,6 +50,13 @@ function get_config($family, $key, $instore = false) {
        global $a;
 
        if(! $instore) {
+               // Looking if the whole family isn't set
+               if(isset($a->config[$family])) {
+                       if($a->config[$family] === '!<unset>!') {
+                               return false;
+                       }
+               }
+
                if(isset($a->config[$family][$key])) {
                        if($a->config[$family][$key] === '!<unset>!') {
                                return false;
@@ -87,11 +97,11 @@ function set_config($family,$key,$value) {
                        dbesc($key),
                        dbesc($dbvalue)
                );
-               if($ret) 
+               if($ret)
                        return $value;
                return $ret;
        }
-       
+
        $ret = q("UPDATE `config` SET `v` = '%s' WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
                dbesc($dbvalue),
                dbesc($family),
@@ -118,6 +128,9 @@ function load_pconfig($uid,$family) {
                        $k = $rr['k'];
                        $a->config[$uid][$family][$k] = $rr['v'];
                }
+       } else if ($rr['cat'] != 'config') {
+               // Negative caching
+               $a->config[$uid][$family] = "!<unset>!";
        }
 }}
 
@@ -129,6 +142,13 @@ function get_pconfig($uid,$family, $key, $instore = false) {
        global $a;
 
        if(! $instore) {
+               // Looking if the whole family isn't set
+               if(isset($a->config[$uid][$family])) {
+                       if($a->config[$uid][$family] === '!<unset>!') {
+                               return false;
+                       }
+               }
+
                if(isset($a->config[$uid][$family][$key])) {
                        if($a->config[$uid][$family][$key] === '!<unset>!') {
                                return false;
index c9f880241ba9003d38cc2a356c90e62daeb7fc59..881097f30c399598e3d6fc4f95739c8ec9b4c2bf 100644 (file)
@@ -32,9 +32,9 @@ class dba {
                if (!(strlen($server) && strlen($user))){
                        $this->connected = false;
                        $this->db = null;
-                       return;                 
+                       return;
                }
-               
+
                if($install) {
                        if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
                                if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
@@ -71,23 +71,29 @@ class dba {
        }
 
        public function q($sql) {
-               
+
                if((! $this->db) || (! $this->connected))
                        return false;
-               
+
                $this->error = '';
 
+               //if (get_config("system", "db_log") != "")
+               //      @file_put_contents(get_config("system", "db_log"), datetime_convert().':'.session_id(). ' Start '.$sql."\n", FILE_APPEND);
+
                if($this->mysqli)
                        $result = @$this->db->query($sql);
                else
                        $result = @mysql_query($sql,$this->db);
 
+               //if (get_config("system", "db_log") != "")
+               //      @file_put_contents(get_config("system", "db_log"), datetime_convert().':'.session_id(). ' Stop '."\n", FILE_APPEND);
+
                if($this->mysqli) {
                        if($this->db->errno)
                                $this->error = $this->db->error;
                }
                elseif(mysql_errno($this->db))
-                               $this->error = mysql_error($this->db);  
+                               $this->error = mysql_error($this->db);
 
                if(strlen($this->error)) {
                        logger('dba: ' . $this->error);
@@ -107,8 +113,8 @@ class dba {
                        else
                                        $mesg = mysql_num_rows($result) . ' results' . EOL;
                        }
-    
-                       $str =  'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg 
+
+                       $str =  'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg
                                . (($this->error) ? ' error: ' . $this->error : '')
                                . EOL;
 
@@ -146,7 +152,7 @@ class dba {
                        }
                }
 
-    
+
                if($this->debug)
                        logger('dba: ' . printable(print_r($r, true)));
                return($r);
index 61b0bd33a5d98f002f72647d4a8027582075aef0..32943d5dabdefabe211fee14ca90b8e0a2e051eb 100644 (file)
@@ -288,7 +288,7 @@ function delivery_run($argv, $argc){
 
                                        if($normal_mode) {
                                                if($item_id == $item['id'] || $item['id'] == $item['parent'])
-                                                       $atom .= atom_entry($item,'text',null,$owner,true);
+                                                       $atom .= atom_entry($item,'text',null,$owner,true,(($top_level) ? $contact['id'] : 0));
                                        }
                                        else
                                                $atom .= atom_entry($item,'text',null,$owner,true);
index ca134ac86c1814b0d595cc68b64bd5b71d06c5ee..f7ef74fac59469e706084fabfdac59bcfbb99a83 100644 (file)
@@ -13,7 +13,7 @@ function notification($params) {
 
        $banner = t('Friendica Notification');
        $product = FRIENDICA_PLATFORM;
-       $siteurl = z_path();
+       $siteurl = $a->get_baseurl(true);
        $thanks = t('Thank You,');
        $sitename = get_config('config','sitename');
        $site_admin = sprintf( t('%s Administrator'), $sitename);
index 29202baddf982417cdf3decedc3f0b69be539dc8..866ae8c3f006370c7f0bae151995e47a5cad2934 100644 (file)
@@ -42,7 +42,7 @@ function format_event_html($ev) {
        return $o;
 }
 
-
+/*
 function parse_event($h) {
 
        require_once('include/Scrape.php');
@@ -108,7 +108,7 @@ function parse_event($h) {
 
        return $ret;
 }
-
+*/
 
 function format_event_bbcode($ev) {
 
@@ -162,7 +162,6 @@ function bbtoevent($s) {
        $match = '';
        if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match))
                $ev['adjust'] = $match[1];
-       $match = '';
        $ev['nofinish'] = (((x($ev, 'start') && $ev['start']) && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0);
        return $ev;
 
@@ -294,10 +293,14 @@ function event_store($arr) {
                                intval($arr['uid'])
                        );
 
-                       return $r[0]['id'];
+                       $item_id = $r[0]['id'];
                }
                else
-                       return 0;
+                       $item_id = 0;
+
+               call_hooks("event_updated", $arr['id']);
+
+               return $item_id;
        }
        else {
 
@@ -361,7 +364,7 @@ function event_store($arr) {
                $item_arr['body']          = format_event_bbcode($event);
 
 
-               $item_arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($uri) . '</id>';
+               $item_arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($arr['uri']) . '</id>';
                $item_arr['object'] .= '<content>' . xmlify(format_event_bbcode($event)) . '</content>';
                $item_arr['object'] .= '</object>' . "\n";
 
@@ -383,6 +386,8 @@ function event_store($arr) {
                        );
                }
 
+               call_hooks("event_created", $event['id']);
+
                return $item_id;
        }
 }
index e5b640fd2327c29b9b87c5f1c563b734dfc42408..c6d852fe7315266ca6c82ff963db4b9378dd1f60 100644 (file)
@@ -1063,9 +1063,6 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
 
        $a = get_app();
 
-//     if((! strlen($contact['issued-id'])) && (! $contact['duplex']) && (! ($owner['page-flags'] == PAGE_COMMUNITY)))
-//             return 3;
-
        $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
 
        if($contact['duplex'] && $contact['dfrn-id'])
@@ -1130,6 +1127,9 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
        $rino_allowed = ((intval($res->rino) === 1) ? 1 : 0);
        $page         = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0);
 
+       if($owner['page-flags'] == PAGE_PRVGROUP)
+               $page = 2;
+
        $final_dfrn_id = '';
 
        if($perm) {
@@ -1183,7 +1183,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
        $postvars['ssl_policy'] = $ssl_policy;
 
        if($page)
-               $postvars['page'] = '1';
+               $postvars['page'] = $page;
        
        if($rino && $rino_allowed && (! $dissolve)) {
                $key = substr(random_string(),0,16);
@@ -2832,7 +2832,7 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) {
        return $o;
 }
 
-function atom_entry($item,$type,$author,$owner,$comment = false) {
+function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
 
        $a = get_app();
 
@@ -2844,7 +2844,7 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
 
 
        if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
-               $body = fix_private_photos($item['body'],$owner['uid']);
+               $body = fix_private_photos($item['body'],$owner['uid'],$item,$cid);
        else
                $body = $item['body'];
 
@@ -2927,14 +2927,17 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
        return $o;
 }
 
-function fix_private_photos($s,$uid) {
+function fix_private_photos($s,$uid, $item = null, $cid = 0) {
        $a = get_app();
-       logger('fix_private_photos');
+
+       logger('fix_private_photos', LOGGER_DEBUG);
+       $site = substr($a->get_baseurl(),strpos($a->get_baseurl(),'://'));
 
        if(preg_match("/\[img\](.*?)\[\/img\]/is",$s,$matches)) {
                $image = $matches[1];
-               logger('fix_private_photos: found photo ' . $image);
-               if(stristr($image ,$a->get_baseurl() . '/photo/')) {
+               logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG);
+               if(stristr($image , $site . '/photo/')) {
+                       $replace = false;
                        $i = basename($image);
                        $i = str_replace('.jpg','',$i);
                        $x = strpos($i,'-');
@@ -2947,17 +2950,86 @@ function fix_private_photos($s,$uid) {
                                        intval($uid)
                                );
                                if(count($r)) {
-                                       logger('replacing photo');
-                                       $s = str_replace($image, 'data:image/jpg;base64,' . base64_encode($r[0]['data']), $s);
+
+                                       // Check to see if we should replace this photo link with an embedded image
+                                       // 1. No need to do so if the photo is public
+                                       // 2. If there's a contact-id provided, see if they're in the access list
+                                       //    for the photo. If so, embed it. 
+                                       // 3. Otherwise, if we have an item, see if the item permissions match the photo
+                                       //    permissions, regardless of order but first check to see if they're an exact
+                                       //    match to save some processing overhead.
+                               
+                                       // Currently we only embed one private photo per message so as not to hit import 
+                                       // size limits at the receiving end.
+
+                                       // To embed multiples, we would need to parse out the embedded photos on message
+                                       // receipt and limit size based only on the text component. Would also need to
+                                       // ignore all photos during bbcode translation and item localisation, as these
+                                       // will hit internal regex backtrace limits.  
+
+                                       if(has_permissions($r[0])) {
+                                               if($cid) {
+                                                       $recips = enumerate_permissions($r[0]);
+                                                       if(in_array($cid, $recips)) {
+                                                               $replace = true;        
+                                                       }
+                                               }
+                                               elseif($item) {
+                                                       if(compare_permissions($item,$r[0]))
+                                                               $replace = true;
+                                               }
+                                       }
+                                       if($replace) {
+                                               logger('fix_private_photos: replacing photo', LOGGER_DEBUG);
+                                               $s = str_replace($image, 'data:image/jpg;base64,' . base64_encode($r[0]['data']), $s);
+                                               logger('fix_private_photos: replaced: ' . $s, LOGGER_DATA);
+                                       }
                                }
                        }
-                       logger('fix_private_photos: replaced: ' . $s, LOGGER_DATA);
                }       
        }
        return($s);
 }
 
 
+function has_permissions($obj) {
+       if(($obj['allow_cid'] != '') || ($obj['allow_gid'] != '') || ($obj['deny_cid'] != '') || ($obj['deny_gid'] != ''))
+               return true;
+       return false;
+}
+
+function compare_permissions($obj1,$obj2) {
+       // first part is easy. Check that these are exactly the same. 
+       if(($obj1['allow_cid'] == $obj2['allow_cid'])
+               && ($obj1['allow_gid'] == $obj2['allow_gid'])
+               && ($obj1['deny_cid'] == $obj2['deny_cid'])
+               && ($obj1['deny_gid'] == $obj2['deny_gid']))
+               return true;
+
+       // This is harder. Parse all the permissions and compare the resulting set.
+
+       $recipients1 = enumerate_permissions($obj1);
+       $recipients2 = enumerate_permissions($obj2);
+       sort($recipients1);
+       sort($recipients2);
+       if($recipients1 == $recipients2)
+               return true;
+       return false;
+}
+
+// returns an array of contact-ids that are allowed to see this object
+
+function enumerate_permissions($obj) {
+       require_once('include/group.php');
+       $allow_people = expand_acl($obj['allow_cid']);
+       $allow_groups = expand_groups(expand_acl($obj['allow_gid']));
+       $deny_people  = expand_acl($obj['deny_cid']);
+       $deny_groups  = expand_groups(expand_acl($obj['deny_gid']));
+       $recipients   = array_unique(array_merge($allow_people,$allow_groups));
+       $deny         = array_unique(array_merge($deny_people,$deny_groups));
+       $recipients   = array_diff($recipients,$deny);
+       return $recipients;
+}
 
 function item_getfeedtags($item) {
        $ret = array();
@@ -3004,13 +3076,20 @@ function item_getfeedattach($item) {
        
 function item_expire($uid,$days) {
 
-       if((! $uid) || (! $days))
+       if((! $uid) || ($days < 1))
                return;
 
+       // $expire_network_only = save your own wall posts
+       // and just expire conversations started by others
+
+       $expire_network_only = get_pconfig($uid,'expire','network_only');
+       $sql_extra = ((intval($expire_network_only)) ? " AND wall = 0 " : "");
+
        $r = q("SELECT * FROM `item` 
                WHERE `uid` = %d 
                AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY 
                AND `id` = `parent` 
+               $sql_extra
                AND `deleted` = 0",
                intval($uid),
                intval($days)
index 2c9c643a92f596ec7d6c10cef84fbdc76b3c02a2..909ba9b541da97cc278fb0922cb5a8faa402b1c9 100644 (file)
@@ -117,7 +117,7 @@ function nav(&$a) {
 
                /* only show friend requests for normal pages. Other page types have automatic friendship. */
 
-               if($_SESSION['page_flags'] == PAGE_NORMAL) {
+               if($_SESSION['page_flags'] == PAGE_NORMAL || $_SESSION['page_flags'] == PAGE_PRVGROUP) {
                        $nav['introductions'] = array('notifications/intros',   t('Introductions'), "", t('Friend Requests'));
                        $nav['notifications'] = array('notifications',  t('Notifications'), "", t('Notifications'));
                        $nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", "");
index cb4fb2a31c063be9823d6d16b69ed9c4e149021f..070e7a436193aef69d9501d141dda27e37891be9 100644 (file)
@@ -345,7 +345,7 @@ function notifier_run($argv, $argc){
        if($mail) {
                $public_message = false;  // mail is  not public
 
-               $body = fix_private_photos($item['body'],$owner['uid']);
+               $body = fix_private_photos($item['body'],$owner['uid'],null,$message[0]['contact-id']);
 
                $atom .= replace_macros($mail_template, array(
                        '$name'         => xmlify($owner['name']),
index bb9850cd0279e2d93400a7b01fb76c45c7e54467..8c2acd8e7639441573689a1efc3076af36ed274f 100644 (file)
@@ -25,8 +25,8 @@ function advanced_profile(&$a) {
                
                        $val = ((intval($a->profile['dob'])) 
                                ? day_translate(datetime_convert('UTC','UTC',$a->profile['dob'] . ' 00:00 +00:00',$year_bd_format))
-                               : day_translate(datetime_convert('UTC','UTC','2001-' . substr($a->profile['dob'],6) . ' 00:00 +00:00',$short_bd_format)));
-                       
+                               : day_translate(datetime_convert('UTC','UTC','2001-' . substr($a->profile['dob'],5) . ' 00:00 +00:00',$short_bd_format)));
+
                        $profile['birthday'] = array( t('Birthday:'), $val);
 
                }
index 4700bb96f2ae6190dabf8ebe0a6e4bdf6e98845c..8d29fd0998c608ce68a33976225c8b21130945cc 100644 (file)
@@ -5,6 +5,8 @@ function gender_selector($current="",$suffix="") {
        $o = '';
        $select = array('', t('Male'), t('Female'), t('Currently Male'), t('Currently Female'), t('Mostly Male'), t('Mostly Female'), t('Transgender'), t('Intersex'), t('Transsexual'), t('Hermaphrodite'), t('Neuter'), t('Non-specific'), t('Other'), t('Undecided'));
 
+       call_hooks('gender_selector', $select);
+
        $o .= "<select name=\"gender$suffix\" id=\"gender-select$suffix\" size=\"1\" >";
        foreach($select as $selection) {
                if($selection !== 'NOTRANSLATION') {
@@ -20,6 +22,9 @@ function sexpref_selector($current="",$suffix="") {
        $o = '';
        $select = array('', t('Males'), t('Females'), t('Gay'), t('Lesbian'), t('No Preference'), t('Bisexual'), t('Autosexual'), t('Abstinent'), t('Virgin'), t('Deviant'), t('Fetish'), t('Oodles'), t('Nonsexual'));
 
+
+       call_hooks('sexpref_selector', $select);
+
        $o .= "<select name=\"sexual$suffix\" id=\"sexual-select$suffix\" size=\"1\" >";
        foreach($select as $selection) {
                if($selection !== 'NOTRANSLATION') {
@@ -36,6 +41,8 @@ function marital_selector($current="",$suffix="") {
        $o = '';
        $select = array('', t('Single'), t('Lonely'), t('Available'), t('Unavailable'), t('Has crush'), t('Infatuated'), t('Dating'), t('Unfaithful'), t('Sex Addict'), t('Friends'), t('Friends/Benefits'), t('Casual'), t('Engaged'), t('Married'), t('Imaginarily married'), t('Partners'), t('Cohabiting'), t('Common law'), t('Happy'), t('Not looking'), t('Swinger'), t('Betrayed'), t('Separated'), t('Unstable'), t('Divorced'), t('Imaginarily divorced'), t('Widowed'), t('Uncertain'), t('It\'s complicated'), t('Don\'t care'), t('Ask me') );
 
+       call_hooks('marital_selector', $select);
+
        $o .= "<select name=\"marital\" id=\"marital-select\" size=\"1\" >";
        foreach($select as $selection) {
                if($selection !== 'NOTRANSLATION') {
index 093993bbc429070fd5a9d529ede1d3ef0c497a03..76b99cbca7a121ba600553992bf8ee310d4af24b 100644 (file)
@@ -202,6 +202,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                        if($user[0]['page-flags'] == PAGE_COMMUNITY)
                                $params['page'] = 1;
+                       if($user[0]['page-flags'] == PAGE_PRVGROUP)
+                               $params['page'] = 2;
 
                        logger('dfrn_confirm: Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
 
@@ -500,7 +502,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                );
                if($contact && $g && intval($g[0]['def_gid'])) {
                        require_once('include/group.php');
-                       group_add_member($uid,'',$contact[0]['id'],$g[0]['def_gid']);
+                       group_add_member($uid,'',$contact['id'],$g[0]['def_gid']);
                }
 
                // Let's send our user to the contact editor in case they want to
@@ -537,6 +539,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $page       = ((x($_POST,'page'))         ? intval($_POST['page'])         : 0 );
                $version_id = ((x($_POST,'dfrn_version')) ? (float) $_POST['dfrn_version'] : 2.0);
        
+               $forum = (($page == 1) ? 1 : 0);
+               $prv   = (($page == 2) ? 1 : 0);
+
                logger('dfrn_confirm: requestee contacted: ' . $node);
 
                logger('dfrn_confirm: request: POST=' . print_r($_POST,true), LOGGER_DATA);
@@ -691,6 +696,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        `pending` = 0,
                        `duplex` = %d, 
                        `forum` = %d,
+                       `prv` = %d,
                        `network` = '%s' WHERE `id` = %d LIMIT 1
                ",
                        dbesc($photos[0]),
@@ -701,7 +707,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
                        intval($duplex),
-                       intval($page),
+                       intval($forum),
+                       intval($prv),
                        dbesc(NETWORK_DFRN),
                        intval($dfrn_record)
                );
index 65d39d5fe12f8d844d7ce15f545e67dd6676fe03..e55da557223c8e9708881e331b16664f89092ea8 100644 (file)
@@ -17,6 +17,9 @@ function dfrn_notify_post(&$a) {
        $ssl_policy   = ((x($_POST,'ssl_policy'))   ? notags(trim($_POST['ssl_policy'])): 'none');
        $page         = ((x($_POST,'page'))         ? intval($_POST['page'])            :  0);
 
+       $forum = (($page == 1) ? 1 : 0);
+       $prv   = (($page == 2) ? 1 : 0);
+
        $writable = (-1);
        if($dfrn_version >= 2.21) {
                $writable = (($perm === 'rw') ? 1 : 0);
@@ -88,10 +91,11 @@ function dfrn_notify_post(&$a) {
 
        $importer = $r[0];
 
-       if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $page)) {
-               q("UPDATE `contact` SET `writable` = %d, forum = %d WHERE `id` = %d LIMIT 1",
+       if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $forum) || ($importer['prv'] != $prv)) {
+               q("UPDATE `contact` SET `writable` = %d, forum = %d, prv = %d WHERE `id` = %d LIMIT 1",
                        intval(($writable == (-1)) ? $importer['writable'] : $writable),
-                       intval($page),
+                       intval($forum),
+                       intval($prv),
                        intval($importer['id'])
                );
                if($writable != (-1))
index b809929d7e14b4b506348b3200b437534b35e63f..896fe179271d465c0dbe13939b8f08784402840c 100644 (file)
@@ -68,7 +68,7 @@ function dfrn_request_post(&$a) {
                        $dfrn_url    = notags(trim($_POST['dfrn_url']));
                        $aes_allow   = (((x($_POST,'aes_allow')) && ($_POST['aes_allow'] == 1)) ? 1 : 0);
                        $confirm_key = ((x($_POST,'confirm_key')) ? $_POST['confirm_key'] : "");
-
+                       $hidden = ((x($_POST,'hidden-contact')) ? intval($_POST['hidden-contact']) : 0);
                        $contact_record = null;
        
                        if(x($dfrn_url)) {
@@ -98,8 +98,9 @@ function dfrn_request_post(&$a) {
                                }
        
                                if(is_array($contact_record)) {
-                                       $r = q("UPDATE `contact` SET `ret-aes` = %d WHERE `id` = %d LIMIT 1",
+                                       $r = q("UPDATE `contact` SET `ret-aes` = %d, hidden = %d WHERE `id` = %d LIMIT 1",
                                                intval($aes_allow),
+                                               intval($hidden),
                                                intval($contact_record['id'])
                                        );
                                }
@@ -144,8 +145,8 @@ function dfrn_request_post(&$a) {
                                         */
 
                                        $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `name`, `nick`, `photo`, `site-pubkey`,
-                                               `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`) 
-                                               VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+                                               `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`, `hidden`
+                                               VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
                                                intval(local_user()),
                                                datetime_convert(),
                                                dbesc($dfrn_url),
@@ -160,7 +161,8 @@ function dfrn_request_post(&$a) {
                                                $parms['dfrn-poll'],
                                                $parms['dfrn-poco'],
                                                dbesc(NETWORK_DFRN),
-                                               intval($aes_allow)
+                                               intval($aes_allow),
+                                               intval($hidden)
                                        );
                                }
 
@@ -649,6 +651,8 @@ function dfrn_request_content(&$a) {
                $o  = replace_macros($tpl,array(
                        '$dfrn_url' => $dfrn_url,
                        '$aes_allow' => (($aes_allow) ? '<input type="hidden" name="aes_allow" value="1" />' : "" ),
+                       '$hidethem' => t('Hide this contact'),
+                       '$hidechecked' => '',
                        '$confirm_key' => $confirm_key,
                        '$welcome' => sprintf( t('Welcome home %s.'), $a->user['username']),
                        '$please' => sprintf( t('Please confirm your introduction/connection request to %s.'), $dfrn_url),
@@ -680,7 +684,7 @@ function dfrn_request_content(&$a) {
                        $auto_confirm = false;
 
                        if(count($r)) {
-                               if($r[0]['page-flags'] != PAGE_NORMAL)
+                               if(($r[0]['page-flags'] != PAGE_NORMAL) && ($r[0]['page-flags'] != PAGE_PRVGROUP))
                                        $auto_confirm = true;                           
 
                                if(! $auto_confirm) {
index 81dd553cdb795895dfd9a204d28ca49871a61de0..497cf5daa2d3e97c4cd694a5dbae89f356c18e91 100644 (file)
@@ -262,17 +262,17 @@ function item_post(&$a) {
                }
        }
 
-        if(strlen($categories)) {
-               // get the "fileas" tags for this post
-                $filedas = file_tag_file_to_list($categories, 'file');
+       if(strlen($categories)) {
+               // get the "fileas" tags for this post
+               $filedas = file_tag_file_to_list($categories, 'file');
        }
-        // save old and new categories, so we can determine what needs to be deleted from pconfig
-        $categories_old = $categories;
-        $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
-        $categories_new = $categories;
-        if(strlen($filedas)) {
-               // append the fileas stuff to the new categories list
-               $categories .= file_tag_list_to_file($filedas, 'file');
+       // save old and new categories, so we can determine what needs to be deleted from pconfig
+       $categories_old = $categories;
+       $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
+       $categories_new = $categories;
+       if(strlen($filedas)) {
+               // append the fileas stuff to the new categories list
+               $categories .= file_tag_list_to_file($filedas, 'file');
        }
 
        // Work around doubled linefeeds in Tinymce 3.5b2
@@ -355,13 +355,15 @@ function item_post(&$a) {
                                $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
                                if(! strlen($image_uri))
                                        continue;
-                               $srch = '<' . intval($contact_record['id']) . '>';
+                               $srch = '<' . intval($contact_id) . '>';
+
                                $r = q("SELECT `id` FROM `photo` WHERE `allow_cid` = '%s' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = ''
                                        AND `resource-id` = '%s' AND `uid` = %d LIMIT 1",
                                        dbesc($srch),
                                        dbesc($image_uri),
                                        intval($profile_uid)
                                );
+
                                if(! count($r))
                                        continue;
  
@@ -451,6 +453,7 @@ function item_post(&$a) {
 
        $tagged = array();
 
+       $private_forum = false;
 
        if(count($tags)) {
                foreach($tags as $tag) {
@@ -469,11 +472,22 @@ function item_post(&$a) {
                                continue;
 
                        $success = handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag); 
-                       if($success)
+                       if($success['replaced'])
                                $tagged[] = $tag;
+                       if(is_array($success['contact']) && intval($success['contact']['prv'])) {
+                               $private_forum = true;
+                               $private_id = $success['contact']['id'];
+                       }
                }
        }
 
+       if(($private_forum) && (! $parent) && (! $private)) {
+               // we tagged a private forum in a top level post and the message was public.
+               // Restrict it.
+               $private = 1;
+               $str_contact_allow = '<' . $private_id . '>'; 
+       }
+
        $attachments = '';
        $match = false;
 
@@ -891,6 +905,7 @@ function item_content(&$a) {
 function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
 
        $replaced = false;
+       $r = null;
 
        //is it a hash tag? 
        if(strpos($tag,'#') === 0) {
@@ -1021,5 +1036,5 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
                }
        }
 
-       return $replaced;       
+       return array('replaced' => $replaced, 'contact' => $r[0]);      
 }
index f43eeb67e643233c5d9d42a9dc52d56965c4002d..7c4c1ac04e77f97c5e9a2c30e22bb66be1e7ed39 100644 (file)
@@ -402,10 +402,22 @@ function network_content(&$a, $update = 0) {
 
        if(x($_GET,'search')) {
                $search = escape_tags($_GET['search']);
-               $sql_extra .= sprintf(" AND ( `item`.`body` like '%s' OR `item`.`tag` like '%s' ) ",
-                       dbesc(protect_sprintf('%' . $search . '%')),
-                       dbesc(protect_sprintf('%]' . $search . '[%'))
-               );
+               if (get_config('system','use_fulltext_engine')) {
+                       if(strpos($search,'#') === 0)
+                               $sql_extra .= sprintf(" AND (MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode)) ",
+                                       dbesc(protect_sprintf($search))
+                               );
+                       else
+                               $sql_extra .= sprintf(" AND (MATCH(`item`.`body`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode)) ",
+                                       dbesc(protect_sprintf($search)),
+                                       dbesc(protect_sprintf($search))
+                               );
+               } else {
+                       $sql_extra .= sprintf(" AND ( `item`.`body` like '%s' OR `item`.`tag` like '%s' ) ",
+                                       dbesc(protect_sprintf('%' . $search . '%')),
+                                       dbesc(protect_sprintf('%]' . $search . '[%'))
+                       );
+               }
        }
        if(strlen($file)) {
                $sql_extra .= file_tag_file_query('item',unxmlify($file));
@@ -414,15 +426,22 @@ function network_content(&$a, $update = 0) {
        if($conv) {
                $myurl = $a->get_baseurl() . '/profile/'. $a->user['nickname'];
                $myurl = substr($myurl,strpos($myurl,'://')+3);
-               $myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
+               $myurl = str_replace('www.','',$myurl);
                $diasp_url = str_replace('/profile/','/u/',$myurl);
-               $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
-                       dbesc(protect_sprintf('%s' . $myurl)),
-                       dbesc(protect_sprintf('%' . $myurl . '\\]%')),
-                       dbesc(protect_sprintf('%' . $diasp_url . '\\]%'))
-               );
-       }
+               if (get_config('system','use_fulltext_engine'))
+                       $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where (MATCH(`author-link`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(`tag`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode))) ",
+                               dbesc(protect_sprintf($myurl)),
+                               dbesc(protect_sprintf($myurl)),
+                               dbesc(protect_sprintf($diasp_url))
+                       );
+               else
+                       $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
+                               dbesc(protect_sprintf('%' . $myurl)),
+                               dbesc(protect_sprintf('%' . $myurl . ']%')),
+                               dbesc(protect_sprintf('%' . $diasp_url . ']%'))
+                       );
 
+       }
 
        if($update) {
 
index 0072ce447f1d98179f5925348b778a1813c6460f..703c898e6e36dce0f3b82276f755a7177ab4050a 100644 (file)
@@ -80,7 +80,8 @@ function notes_content(&$a,$update = false) {
 
        $r = q("SELECT COUNT(*) AS `total`
                FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
+               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 and `item`.`moderated` = 0 
+               AND `item`.`deleted` = 0 AND `item`.`type` = 'note'
                AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `contact`.`self` = 1
                AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 0
                $sql_extra ",
@@ -95,7 +96,8 @@ function notes_content(&$a,$update = false) {
 
        $r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact-uid`
                FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
+               WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 
+               and `item`.`moderated` = 0 AND `item`.`type` = 'note'
                AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `contact`.`self` = 1
                AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 0
                $sql_extra
index 8e4fba74e05cd2a523be19e15a76a3d6554eb9cf..ca3890eb9466e39aa7be7354e450fd0e38662b76 100644 (file)
@@ -176,9 +176,18 @@ function profiles_post(&$a) {
                                $changes[] = t('Interests');
                                $value = $interest;
                        }
-                       if($address != $orig[0]['address'] || $locality != $orig[0]['locality'] || $region != $orig[0]['region']
+                       if($address != $orig[0]['address']) {
+                               $changes[] = t('Address');
+                               // New address not sent in notifications, potential privacy issues
+                               // in case this leaks to unintended recipients. Yes, it's in the public
+                               // profile but that doesn't mean we have to broadcast it to everybody.
+                       }
+                       if($locality != $orig[0]['locality'] || $region != $orig[0]['region']
                                || $country_name != $orig[0]['country-name']) {
                                $changes[] = t('Location');
+                               $comma1 = ((($locality) && ($region || $country_name)) ? ', ' : ' ');
+                               $comma2 = (($region && $country_name) ? ', ' : '');
+                               $value = $locality . $comma1 . $region . $comma2 . $country_name;
                        }
 
                        profile_activity($changes,$value);
index 3e6bf68aa679c96c1aaaa3507e3c00cc261e3ae3..466ffc4c34cad18c6fdf62c3deaa495a81836321 100644 (file)
@@ -71,7 +71,7 @@ function search_content(&$a) {
                notice( t('Public access denied.') . EOL);
                return;
        }
-       
+
        nav_set_selected('search');
 
        require_once("include/bbcode.php");
@@ -96,7 +96,6 @@ function search_content(&$a) {
 
        $o .= search($search,'search-box','/search',((local_user()) ? true : false));
 
-
        if(strpos($search,'#') === 0) {
                $tag = true;
                $search = substr($search,1);
@@ -109,10 +108,17 @@ function search_content(&$a) {
        if(! $search)
                return $o;
 
-       if($tag)
-               $sql_extra = sprintf(" AND `item`.`tag` REGEXP '%s' ",  dbesc('\\]' . preg_quote($search) . '\\['));
-       else
-               $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(preg_quote($search)));
+       if (get_config('system','use_fulltext_engine')) {
+               if($tag)
+                       $sql_extra = sprintf(" AND MATCH (`item`.`tag`) AGAINST ('".'"%s"'."' in boolean mode) ", '#'.dbesc(protect_sprintf($search)));
+               else
+                       $sql_extra = sprintf(" AND MATCH (`item`.`body`) AGAINST ('".'"%s"'."' in boolean mode) ", dbesc(protect_sprintf($search)));
+       } else {
+               if($tag)
+                       $sql_extra = sprintf(" AND `item`.`tag` REGEXP '%s' ",  dbesc('\\]' . protect_sprintf(preg_quote($search)) . '\\['));
+               else
+                       $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(protect_sprintf(preg_quote($search))));
+       }
 
 
 
index 40fa55eeaae08a13c97cb2d55ab3f629ed18f1fa..bbdfe1ac9fbe2727013d59f74eff0b2e6813cbb3 100644 (file)
@@ -15,6 +15,7 @@ function get_theme_config_file($theme){
 }
 
 function settings_init(&$a) {
+
        // These lines provide the javascript needed by the acl selector
 
        $a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
@@ -86,6 +87,7 @@ EOT;
        $tabtpl = get_markup_template("generic_links_widget.tpl");
        $a->page['aside'] = replace_macros($tabtpl, array(
                '$title' => t('Settings'),
+               '$class' => 'settings-widget',
                '$items' => $tabs,
        ));
 
@@ -337,8 +339,7 @@ function settings_post(&$a) {
        $expire_notes     = ((x($_POST,'expire_notes')) ? intval($_POST['expire_notes'])         : 0);
        $expire_starred   = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
        $expire_photos    = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos'])        : 0);
-
-
+       $expire_network_only    = ((x($_POST,'expire_network_only'))? intval($_POST['expire_network_only'])      : 0);
 
        $allow_location   = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
        $publish          = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
@@ -434,6 +435,7 @@ function settings_post(&$a) {
        set_pconfig(local_user(),'expire','notes', $expire_notes);
        set_pconfig(local_user(),'expire','starred', $expire_starred);
        set_pconfig(local_user(),'expire','photos', $expire_photos);
+       set_pconfig(local_user(),'expire','network_only', $expire_network_only);
 
        set_pconfig(local_user(),'system','suggestme', $suggestme);
        set_pconfig(local_user(),'system','post_newfriend', $post_newfriend);
@@ -443,7 +445,7 @@ function settings_post(&$a) {
 
        if($page_flags == PAGE_PRVGROUP) {
                $hidewall = 1;
-               if((! str_contact_allow) && (! str_group_allow) && (! str_contact_deny) && (! $str_group_deny)) {
+               if((! $str_contact_allow) && (! $str_group_allow) && (! $str_contact_deny) && (! $str_group_deny)) {
                        if($def_gid) {
                                info( t('Private forum has no privacy permissions. Using default privacy group.'). EOL);
                                $str_group_allow = '<' . $def_gid . '>';
@@ -811,6 +813,9 @@ function settings_content(&$a) {
        $expire_photos = get_pconfig(local_user(), 'expire','photos');
        $expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0
 
+       $expire_network_only = get_pconfig(local_user(), 'expire','network_only');
+       $expire_network_only = (($expire_network_only===false)? '0' : $expire_network_only); // default if not set: 0
+
 
        $suggestme = get_pconfig(local_user(), 'system','suggestme');
        $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
@@ -953,6 +958,7 @@ function settings_content(&$a) {
                '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'))),          
        );
 
        require_once('include/group.php');
index 1a4882b643ee21a272700bfb3ec00b67e4db842c..cf349775c67ba8d946dfe1161a3ed686485345e0 100644 (file)
@@ -44,7 +44,7 @@ function wallmessage_post(&$a) {
        }
 
        // Work around doubled linefeeds in Tinymce 3.5b2
-dbg(1);
+
        $body = str_replace("\r\n","\n",$body);
        $body = str_replace("\n\n","\n",$body);
 
@@ -67,7 +67,7 @@ dbg(1);
                default:
                        info( t('Message sent.') . EOL );
        }
-dbg(0);
+
 //     goaway($a->get_baseurl() . '/profile/' . $user['nickname']);
        
 }
index f25d16f9df13e6411381181a0f32725c7e606363..f94b89fd31d08a3e6b55c38d2d1d5ec22eafd2a0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1144 );
+define( 'UPDATE_VERSION' , 1145 );
 
 /**
  *
@@ -1253,5 +1253,9 @@ function update_1143() {
        return UPDATE_SUCCESS ;
 }
 
-
-
+function update_1144() {
+       $r = q("alter table contact add prv tinyint(1) not null default '0' after forum");
+       if(! $r)
+               return UPDATE_FAILED ;
+       return UPDATE_SUCCESS ;
+}
index 7aefd8f67d1d7b2571ddbb4bcea83040db2c02dd..37c1785d4795750339b1092420bd3b11e07752e9 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: 3.0.1353\n"
+"Project-Id-Version: 3.0.1358\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-24 16:51-0700\n"
+"POT-Creation-Date: 2012-05-29 10:00-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,8 +39,8 @@ msgstr ""
 #: ../../mod/api.php:31 ../../mod/photos.php:130 ../../mod/photos.php:920
 #: ../../mod/editpost.php:10 ../../mod/install.php:151
 #: ../../mod/notifications.php:66 ../../mod/contacts.php:125
-#: ../../mod/settings.php:104 ../../mod/settings.php:535
-#: ../../mod/settings.php:540 ../../mod/manage.php:86 ../../mod/network.php:6
+#: ../../mod/settings.php:106 ../../mod/settings.php:537
+#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
 #: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
 #: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
 #: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
@@ -52,10 +52,10 @@ msgstr ""
 #: ../../mod/message.php:96 ../../mod/allfriends.php:9
 #: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
 #: ../../mod/follow.php:8 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:365 ../../mod/delegate.php:6
+#: ../../mod/profiles.php:374 ../../mod/delegate.php:6
 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:503
-#: ../../include/items.php:3214 ../../index.php:306
+#: ../../include/items.php:3293 ../../index.php:306
 msgid "Permission denied."
 msgstr ""
 
@@ -84,8 +84,8 @@ msgstr ""
 msgid "Return to contact editor"
 msgstr ""
 
-#: ../../mod/crepair.php:148 ../../mod/settings.php:555
-#: ../../mod/settings.php:581 ../../mod/admin.php:656 ../../mod/admin.php:665
+#: ../../mod/crepair.php:148 ../../mod/settings.php:557
+#: ../../mod/settings.php:583 ../../mod/admin.php:656 ../../mod/admin.php:665
 msgid "Name"
 msgstr ""
 
@@ -127,11 +127,11 @@ msgstr ""
 #: ../../mod/photos.php:1336 ../../mod/photos.php:1367
 #: ../../mod/install.php:245 ../../mod/install.php:283
 #: ../../mod/localtime.php:45 ../../mod/contacts.php:322
-#: ../../mod/settings.php:553 ../../mod/settings.php:699
-#: ../../mod/settings.php:760 ../../mod/settings.php:964
+#: ../../mod/settings.php:555 ../../mod/settings.php:701
+#: ../../mod/settings.php:762 ../../mod/settings.php:970
 #: ../../mod/manage.php:109 ../../mod/group.php:85 ../../mod/admin.php:417
 #: ../../mod/admin.php:653 ../../mod/admin.php:789 ../../mod/admin.php:988
-#: ../../mod/admin.php:1075 ../../mod/profiles.php:534
+#: ../../mod/admin.php:1075 ../../mod/profiles.php:543
 #: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:605
 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
 #: ../../addon/nsfw/nsfw.php:57 ../../addon/planets/planets.php:158
@@ -221,7 +221,7 @@ msgid "link to source"
 msgstr ""
 
 #: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:126
-#: ../../include/nav.php:52 ../../boot.php:1523
+#: ../../include/nav.php:52 ../../boot.php:1520
 msgid "Events"
 msgstr ""
 
@@ -271,7 +271,7 @@ msgid "Description:"
 msgstr ""
 
 #: ../../mod/events.php:423 ../../include/event.php:37
-#: ../../include/bb2diaspora.php:260 ../../boot.php:1103
+#: ../../include/bb2diaspora.php:265 ../../boot.php:1100
 msgid "Location:"
 msgstr ""
 
@@ -280,8 +280,8 @@ msgid "Share this event"
 msgstr ""
 
 #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:826 ../../mod/settings.php:554
-#: ../../mod/settings.php:580 ../../addon/js_upload/js_upload.php:45
+#: ../../mod/dfrn_request.php:826 ../../mod/settings.php:556
+#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
 msgid "Cancel"
 msgstr ""
 
@@ -325,28 +325,30 @@ msgid ""
 msgstr ""
 
 #: ../../mod/api.php:105 ../../mod/dfrn_request.php:814
-#: ../../mod/settings.php:875 ../../mod/settings.php:881
-#: ../../mod/settings.php:889 ../../mod/settings.php:893
-#: ../../mod/settings.php:898 ../../mod/settings.php:904
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:952 ../../mod/settings.php:953
-#: ../../mod/settings.php:954 ../../mod/settings.php:955
-#: ../../mod/register.php:511 ../../mod/profiles.php:511
+#: ../../mod/settings.php:880 ../../mod/settings.php:886
+#: ../../mod/settings.php:894 ../../mod/settings.php:898
+#: ../../mod/settings.php:903 ../../mod/settings.php:909
+#: ../../mod/settings.php:915 ../../mod/settings.php:921
+#: ../../mod/settings.php:957 ../../mod/settings.php:958
+#: ../../mod/settings.php:959 ../../mod/settings.php:960
+#: ../../mod/settings.php:961 ../../mod/register.php:511
+#: ../../mod/profiles.php:520
 msgid "Yes"
 msgstr ""
 
 #: ../../mod/api.php:106 ../../mod/dfrn_request.php:815
-#: ../../mod/settings.php:875 ../../mod/settings.php:881
-#: ../../mod/settings.php:889 ../../mod/settings.php:893
-#: ../../mod/settings.php:898 ../../mod/settings.php:904
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:952 ../../mod/settings.php:953
-#: ../../mod/settings.php:954 ../../mod/settings.php:955
-#: ../../mod/register.php:512 ../../mod/profiles.php:512
+#: ../../mod/settings.php:880 ../../mod/settings.php:886
+#: ../../mod/settings.php:894 ../../mod/settings.php:898
+#: ../../mod/settings.php:903 ../../mod/settings.php:909
+#: ../../mod/settings.php:915 ../../mod/settings.php:921
+#: ../../mod/settings.php:957 ../../mod/settings.php:958
+#: ../../mod/settings.php:959 ../../mod/settings.php:960
+#: ../../mod/settings.php:961 ../../mod/register.php:512
+#: ../../mod/profiles.php:521
 msgid "No"
 msgstr ""
 
-#: ../../mod/photos.php:43 ../../boot.php:1517
+#: ../../mod/photos.php:43 ../../boot.php:1514
 msgid "Photo Albums"
 msgstr ""
 
@@ -362,7 +364,7 @@ msgstr ""
 msgid "Upload New Photos"
 msgstr ""
 
-#: ../../mod/photos.php:69 ../../mod/settings.php:20
+#: ../../mod/photos.php:69 ../../mod/settings.php:21
 msgid "everybody"
 msgstr ""
 
@@ -551,7 +553,7 @@ msgstr ""
 
 #: ../../mod/photos.php:1295 ../../mod/photos.php:1335
 #: ../../mod/photos.php:1366 ../../include/conversation.php:558
-#: ../../boot.php:517
+#: ../../boot.php:514
 msgid "Comment"
 msgstr ""
 
@@ -560,8 +562,8 @@ msgstr ""
 msgid "Preview"
 msgstr ""
 
-#: ../../mod/photos.php:1394 ../../mod/settings.php:616
-#: ../../mod/settings.php:697 ../../mod/group.php:168 ../../mod/admin.php:660
+#: ../../mod/photos.php:1394 ../../mod/settings.php:618
+#: ../../mod/settings.php:699 ../../mod/group.php:168 ../../mod/admin.php:660
 #: ../../include/conversation.php:322 ../../include/conversation.php:588
 msgid "Delete"
 msgstr ""
@@ -631,7 +633,7 @@ msgstr ""
 msgid "Post to Email"
 msgstr ""
 
-#: ../../mod/editpost.php:95 ../../mod/settings.php:615
+#: ../../mod/editpost.php:95 ../../mod/settings.php:617
 #: ../../include/conversation.php:575
 msgid "Edit"
 msgstr ""
@@ -861,7 +863,7 @@ msgstr ""
 msgid "StatusNet/Federated Social Web"
 msgstr ""
 
-#: ../../mod/dfrn_request.php:820 ../../mod/settings.php:650
+#: ../../mod/dfrn_request.php:820 ../../mod/settings.php:652
 #: ../../include/contact_selectors.php:80
 msgid "Diaspora"
 msgstr ""
@@ -904,7 +906,7 @@ msgid ""
 msgstr ""
 
 #: ../../mod/install.php:139 ../../mod/install.php:203
-#: ../../mod/install.php:480
+#: ../../mod/install.php:482
 msgid "Please see the file \"INSTALL.txt\"."
 msgstr ""
 
@@ -976,157 +978,166 @@ msgstr ""
 msgid "Could not find a command line version of PHP in the web server PATH."
 msgstr ""
 
-#: ../../mod/install.php:320
+#: ../../mod/install.php:318
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron. See <a href='http://"
+"friendica.com/node/27'>'Activating scheduled tasks'</a>"
+msgstr ""
+
+#: ../../mod/install.php:322
 msgid "PHP executable path"
 msgstr ""
 
-#: ../../mod/install.php:320
-msgid "Enter full path to php executable"
+#: ../../mod/install.php:322
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
 msgstr ""
 
-#: ../../mod/install.php:325
+#: ../../mod/install.php:327
 msgid "Command line PHP"
 msgstr ""
 
-#: ../../mod/install.php:334
+#: ../../mod/install.php:336
 msgid ""
 "The command line version of PHP on your system does not have "
 "\"register_argc_argv\" enabled."
 msgstr ""
 
-#: ../../mod/install.php:335
+#: ../../mod/install.php:337
 msgid "This is required for message delivery to work."
 msgstr ""
 
-#: ../../mod/install.php:337
+#: ../../mod/install.php:339
 msgid "PHP register_argc_argv"
 msgstr ""
 
-#: ../../mod/install.php:358
+#: ../../mod/install.php:360
 msgid ""
 "Error: the \"openssl_pkey_new\" function on this system is not able to "
 "generate encryption keys"
 msgstr ""
 
-#: ../../mod/install.php:359
+#: ../../mod/install.php:361
 msgid ""
 "If running under Windows, please see \"http://www.php.net/manual/en/openssl."
 "installation.php\"."
 msgstr ""
 
-#: ../../mod/install.php:361
+#: ../../mod/install.php:363
 msgid "Generate encryption keys"
 msgstr ""
 
-#: ../../mod/install.php:368
+#: ../../mod/install.php:370
 msgid "libCurl PHP module"
 msgstr ""
 
-#: ../../mod/install.php:369
+#: ../../mod/install.php:371
 msgid "GD graphics PHP module"
 msgstr ""
 
-#: ../../mod/install.php:370
+#: ../../mod/install.php:372
 msgid "OpenSSL PHP module"
 msgstr ""
 
-#: ../../mod/install.php:371
+#: ../../mod/install.php:373
 msgid "mysqli PHP module"
 msgstr ""
 
-#: ../../mod/install.php:372
+#: ../../mod/install.php:374
 msgid "mb_string PHP module"
 msgstr ""
 
-#: ../../mod/install.php:377 ../../mod/install.php:379
+#: ../../mod/install.php:379 ../../mod/install.php:381
 msgid "Apache mod_rewrite module"
 msgstr ""
 
-#: ../../mod/install.php:377
+#: ../../mod/install.php:379
 msgid ""
 "Error: Apache webserver mod-rewrite module is required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:384
+#: ../../mod/install.php:386
 msgid "Error: libCURL PHP module required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:388
+#: ../../mod/install.php:390
 msgid ""
 "Error: GD graphics PHP module with JPEG support required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:392
+#: ../../mod/install.php:394
 msgid "Error: openssl PHP module required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:396
+#: ../../mod/install.php:398
 msgid "Error: mysqli PHP module required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:400
+#: ../../mod/install.php:402
 msgid "Error: mb_string PHP module required but not installed."
 msgstr ""
 
-#: ../../mod/install.php:417
+#: ../../mod/install.php:419
 msgid ""
 "The web installer needs to be able to create a file called \".htconfig.php\" "
 "in the top folder of your web server and it is unable to do so."
 msgstr ""
 
-#: ../../mod/install.php:418
+#: ../../mod/install.php:420
 msgid ""
 "This is most often a permission setting, as the web server may not be able "
 "to write files in your folder - even if you can."
 msgstr ""
 
-#: ../../mod/install.php:419
+#: ../../mod/install.php:421
 msgid ""
 "At the end of this procedure, we will give you a text to save in a file "
 "named .htconfig.php in your Friendica top folder."
 msgstr ""
 
-#: ../../mod/install.php:420
+#: ../../mod/install.php:422
 msgid ""
 "You can alternatively skip this procedure and perform a manual installation. "
 "Please see the file \"INSTALL.txt\" for instructions."
 msgstr ""
 
-#: ../../mod/install.php:423
+#: ../../mod/install.php:425
 msgid ".htconfig.php is writable"
 msgstr ""
 
-#: ../../mod/install.php:434
+#: ../../mod/install.php:436
 msgid ""
 "Url rewrite in .htconfig is not working. Check your server configuration."
 msgstr ""
 
-#: ../../mod/install.php:436
+#: ../../mod/install.php:438
 msgid "Url rewrite is working"
 msgstr ""
 
-#: ../../mod/install.php:442
+#: ../../mod/install.php:444
 msgid ""
 "The database configuration file \".htconfig.php\" could not be written. "
 "Please use the enclosed text to create a configuration file in your web "
 "server root."
 msgstr ""
 
-#: ../../mod/install.php:467
+#: ../../mod/install.php:469
 msgid "Errors encountered creating database tables."
 msgstr ""
 
-#: ../../mod/install.php:478
+#: ../../mod/install.php:480
 msgid "<h1>What next</h1>"
 msgstr ""
 
-#: ../../mod/install.php:479
+#: ../../mod/install.php:481
 msgid ""
 "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
 msgstr ""
 
 #: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:238
+#: ../../include/bb2diaspora.php:243
 msgid "l F d, Y \\@ g:i A"
 msgstr ""
 
@@ -1172,7 +1183,7 @@ msgid "is interested in:"
 msgstr ""
 
 #: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1047
+#: ../../include/contact_widgets.php:9 ../../boot.php:1044
 msgid "Connect"
 msgstr ""
 
@@ -1699,7 +1710,7 @@ msgstr ""
 #: ../../addon/facebook/facebook.php:1178
 #: ../../addon/public_server/public_server.php:62
 #: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2738
-#: ../../boot.php:697
+#: ../../boot.php:694
 msgid "Administrator"
 msgstr ""
 
@@ -1709,7 +1720,7 @@ msgid ""
 "Password reset failed."
 msgstr ""
 
-#: ../../mod/lostpass.php:83 ../../boot.php:829
+#: ../../mod/lostpass.php:83 ../../boot.php:826
 msgid "Password Reset"
 msgstr ""
 
@@ -1753,97 +1764,97 @@ msgstr ""
 msgid "Reset"
 msgstr ""
 
-#: ../../mod/settings.php:49 ../../include/nav.php:137
+#: ../../mod/settings.php:50 ../../include/nav.php:137
 msgid "Account settings"
 msgstr ""
 
-#: ../../mod/settings.php:54
+#: ../../mod/settings.php:55
 msgid "Display settings"
 msgstr ""
 
-#: ../../mod/settings.php:60
+#: ../../mod/settings.php:61
 msgid "Connector settings"
 msgstr ""
 
-#: ../../mod/settings.php:65
+#: ../../mod/settings.php:66
 msgid "Plugin settings"
 msgstr ""
 
-#: ../../mod/settings.php:70
+#: ../../mod/settings.php:71
 msgid "Connected apps"
 msgstr ""
 
-#: ../../mod/settings.php:75
+#: ../../mod/settings.php:76
 msgid "Export personal data"
 msgstr ""
 
-#: ../../mod/settings.php:80
+#: ../../mod/settings.php:81
 msgid "Remove account"
 msgstr ""
 
-#: ../../mod/settings.php:88 ../../mod/admin.php:748 ../../mod/admin.php:953
+#: ../../mod/settings.php:89 ../../mod/admin.php:748 ../../mod/admin.php:953
 #: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:638
 #: ../../view/theme/diabook/theme.php:768 ../../include/nav.php:137
 msgid "Settings"
 msgstr ""
 
-#: ../../mod/settings.php:131
+#: ../../mod/settings.php:133
 msgid "Missing some important data!"
 msgstr ""
 
-#: ../../mod/settings.php:134 ../../mod/settings.php:579
+#: ../../mod/settings.php:136 ../../mod/settings.php:581
 msgid "Update"
 msgstr ""
 
-#: ../../mod/settings.php:239
+#: ../../mod/settings.php:241
 msgid "Failed to connect with email account using the settings provided."
 msgstr ""
 
-#: ../../mod/settings.php:244
+#: ../../mod/settings.php:246
 msgid "Email settings updated."
 msgstr ""
 
-#: ../../mod/settings.php:303
+#: ../../mod/settings.php:305
 msgid "Passwords do not match. Password unchanged."
 msgstr ""
 
-#: ../../mod/settings.php:308
+#: ../../mod/settings.php:310
 msgid "Empty passwords are not allowed. Password unchanged."
 msgstr ""
 
-#: ../../mod/settings.php:319
+#: ../../mod/settings.php:321
 msgid "Password changed."
 msgstr ""
 
-#: ../../mod/settings.php:321
+#: ../../mod/settings.php:323
 msgid "Password update failed. Please try again."
 msgstr ""
 
-#: ../../mod/settings.php:385
+#: ../../mod/settings.php:386
 msgid " Please use a shorter name."
 msgstr ""
 
-#: ../../mod/settings.php:387
+#: ../../mod/settings.php:388
 msgid " Name too short."
 msgstr ""
 
-#: ../../mod/settings.php:393
+#: ../../mod/settings.php:394
 msgid " Not valid email."
 msgstr ""
 
-#: ../../mod/settings.php:395
+#: ../../mod/settings.php:396
 msgid " Cannot change to that email."
 msgstr ""
 
-#: ../../mod/settings.php:448
+#: ../../mod/settings.php:450
 msgid "Private forum has no privacy permissions. Using default privacy group."
 msgstr ""
 
-#: ../../mod/settings.php:452
+#: ../../mod/settings.php:454
 msgid "Private forum has no privacy permissions and no default privacy group."
 msgstr ""
 
-#: ../../mod/settings.php:482 ../../addon/facebook/facebook.php:488
+#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:488
 #: ../../addon/impressum/impressum.php:77
 #: ../../addon/openstreetmap/openstreetmap.php:80
 #: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
@@ -1851,417 +1862,421 @@ msgstr ""
 msgid "Settings updated."
 msgstr ""
 
-#: ../../mod/settings.php:552 ../../mod/settings.php:578
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:554 ../../mod/settings.php:580
+#: ../../mod/settings.php:616
 msgid "Add application"
 msgstr ""
 
-#: ../../mod/settings.php:556 ../../mod/settings.php:582
+#: ../../mod/settings.php:558 ../../mod/settings.php:584
 #: ../../addon/statusnet/statusnet.php:555
 msgid "Consumer Key"
 msgstr ""
 
-#: ../../mod/settings.php:557 ../../mod/settings.php:583
+#: ../../mod/settings.php:559 ../../mod/settings.php:585
 #: ../../addon/statusnet/statusnet.php:554
 msgid "Consumer Secret"
 msgstr ""
 
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
+#: ../../mod/settings.php:560 ../../mod/settings.php:586
 msgid "Redirect"
 msgstr ""
 
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
+#: ../../mod/settings.php:561 ../../mod/settings.php:587
 msgid "Icon url"
 msgstr ""
 
-#: ../../mod/settings.php:570
+#: ../../mod/settings.php:572
 msgid "You can't edit this application."
 msgstr ""
 
-#: ../../mod/settings.php:613
+#: ../../mod/settings.php:615
 msgid "Connected Apps"
 msgstr ""
 
-#: ../../mod/settings.php:617
+#: ../../mod/settings.php:619
 msgid "Client key starts with"
 msgstr ""
 
-#: ../../mod/settings.php:618
+#: ../../mod/settings.php:620
 msgid "No name"
 msgstr ""
 
-#: ../../mod/settings.php:619
+#: ../../mod/settings.php:621
 msgid "Remove authorization"
 msgstr ""
 
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:632
 msgid "No Plugin settings configured"
 msgstr ""
 
-#: ../../mod/settings.php:638 ../../addon/widgets/widgets.php:123
+#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
 msgid "Plugin Settings"
 msgstr ""
 
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
 #, php-format
 msgid "Built-in support for %s connectivity is %s"
 msgstr ""
 
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
 msgid "enabled"
 msgstr ""
 
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
 msgid "disabled"
 msgstr ""
 
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:653
 msgid "StatusNet"
 msgstr ""
 
-#: ../../mod/settings.php:681
+#: ../../mod/settings.php:683
 msgid "Connector Settings"
 msgstr ""
 
-#: ../../mod/settings.php:686
+#: ../../mod/settings.php:688
 msgid "Email/Mailbox Setup"
 msgstr ""
 
-#: ../../mod/settings.php:687
+#: ../../mod/settings.php:689
 msgid ""
 "If you wish to communicate with email contacts using this service "
 "(optional), please specify how to connect to your mailbox."
 msgstr ""
 
-#: ../../mod/settings.php:688
+#: ../../mod/settings.php:690
 msgid "Last successful email check:"
 msgstr ""
 
-#: ../../mod/settings.php:689
+#: ../../mod/settings.php:691
 msgid "Email access is disabled on this site."
 msgstr ""
 
-#: ../../mod/settings.php:690
+#: ../../mod/settings.php:692
 msgid "IMAP server name:"
 msgstr ""
 
-#: ../../mod/settings.php:691
+#: ../../mod/settings.php:693
 msgid "IMAP port:"
 msgstr ""
 
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:694
 msgid "Security:"
 msgstr ""
 
-#: ../../mod/settings.php:692 ../../mod/settings.php:697
+#: ../../mod/settings.php:694 ../../mod/settings.php:699
 msgid "None"
 msgstr ""
 
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:695
 msgid "Email login name:"
 msgstr ""
 
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:696
 msgid "Email password:"
 msgstr ""
 
-#: ../../mod/settings.php:695
+#: ../../mod/settings.php:697
 msgid "Reply-to address:"
 msgstr ""
 
-#: ../../mod/settings.php:696
+#: ../../mod/settings.php:698
 msgid "Send public posts to all email contacts:"
 msgstr ""
 
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
 msgid "Action after import:"
 msgstr ""
 
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
 msgid "Mark as seen"
 msgstr ""
 
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
 msgid "Move to folder"
 msgstr ""
 
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:700
 msgid "Move to folder:"
 msgstr ""
 
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:760
 msgid "Display Settings"
 msgstr ""
 
-#: ../../mod/settings.php:764
+#: ../../mod/settings.php:766
 msgid "Display Theme:"
 msgstr ""
 
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:767
 msgid "Update browser every xx seconds"
 msgstr ""
 
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:767
 msgid "Minimum of 10 seconds, no maximum"
 msgstr ""
 
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:768
 msgid "Number of items to display on the network page:"
 msgstr ""
 
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:768
 msgid "Maximum of 100 items"
 msgstr ""
 
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:769
 msgid "Don't show emoticons"
 msgstr ""
 
-#: ../../mod/settings.php:835 ../../mod/admin.php:180 ../../mod/admin.php:634
+#: ../../mod/settings.php:840 ../../mod/admin.php:180 ../../mod/admin.php:634
 msgid "Normal Account"
 msgstr ""
 
-#: ../../mod/settings.php:836
+#: ../../mod/settings.php:841
 msgid "This account is a normal personal profile"
 msgstr ""
 
-#: ../../mod/settings.php:839 ../../mod/admin.php:181 ../../mod/admin.php:635
+#: ../../mod/settings.php:844 ../../mod/admin.php:181 ../../mod/admin.php:635
 msgid "Soapbox Account"
 msgstr ""
 
-#: ../../mod/settings.php:840
+#: ../../mod/settings.php:845
 msgid "Automatically approve all connection/friend requests as read-only fans"
 msgstr ""
 
-#: ../../mod/settings.php:843 ../../mod/admin.php:182 ../../mod/admin.php:636
+#: ../../mod/settings.php:848 ../../mod/admin.php:182 ../../mod/admin.php:636
 msgid "Community/Celebrity Account"
 msgstr ""
 
-#: ../../mod/settings.php:844
+#: ../../mod/settings.php:849
 msgid "Automatically approve all connection/friend requests as read-write fans"
 msgstr ""
 
-#: ../../mod/settings.php:847 ../../mod/admin.php:183 ../../mod/admin.php:637
+#: ../../mod/settings.php:852 ../../mod/admin.php:183 ../../mod/admin.php:637
 msgid "Automatic Friend Account"
 msgstr ""
 
-#: ../../mod/settings.php:848
+#: ../../mod/settings.php:853
 msgid "Automatically approve all connection/friend requests as friends"
 msgstr ""
 
-#: ../../mod/settings.php:851
+#: ../../mod/settings.php:856
 msgid "Private Forum"
 msgstr ""
 
-#: ../../mod/settings.php:852
+#: ../../mod/settings.php:857
 msgid "Private forum - approved members only [Experimental]"
 msgstr ""
 
-#: ../../mod/settings.php:865
+#: ../../mod/settings.php:870
 msgid "OpenID:"
 msgstr ""
 
-#: ../../mod/settings.php:865
+#: ../../mod/settings.php:870
 msgid "(Optional) Allow this OpenID to login to this account."
 msgstr ""
 
-#: ../../mod/settings.php:875
+#: ../../mod/settings.php:880
 msgid "Publish your default profile in your local site directory?"
 msgstr ""
 
-#: ../../mod/settings.php:881
+#: ../../mod/settings.php:886
 msgid "Publish your default profile in the global social directory?"
 msgstr ""
 
-#: ../../mod/settings.php:889
+#: ../../mod/settings.php:894
 msgid "Hide your contact/friend list from viewers of your default profile?"
 msgstr ""
 
-#: ../../mod/settings.php:893
+#: ../../mod/settings.php:898
 msgid "Hide your profile details from unknown viewers?"
 msgstr ""
 
-#: ../../mod/settings.php:898
+#: ../../mod/settings.php:903
 msgid "Allow friends to post to your profile page?"
 msgstr ""
 
-#: ../../mod/settings.php:904
+#: ../../mod/settings.php:909
 msgid "Allow friends to tag your posts?"
 msgstr ""
 
-#: ../../mod/settings.php:910
+#: ../../mod/settings.php:915
 msgid "Allow us to suggest you as a potential friend to new members?"
 msgstr ""
 
-#: ../../mod/settings.php:916
+#: ../../mod/settings.php:921
 msgid "Permit unknown people to send you private mail?"
 msgstr ""
 
-#: ../../mod/settings.php:927
+#: ../../mod/settings.php:932
 msgid "Profile is <strong>not published</strong>."
 msgstr ""
 
-#: ../../mod/settings.php:933 ../../mod/profile_photo.php:211
+#: ../../mod/settings.php:938 ../../mod/profile_photo.php:211
 msgid "or"
 msgstr ""
 
-#: ../../mod/settings.php:938
+#: ../../mod/settings.php:943
 msgid "Your Identity Address is"
 msgstr ""
 
-#: ../../mod/settings.php:949
+#: ../../mod/settings.php:954
 msgid "Automatically expire posts after this many days:"
 msgstr ""
 
-#: ../../mod/settings.php:949
+#: ../../mod/settings.php:954
 msgid "If empty, posts will not expire. Expired posts will be deleted"
 msgstr ""
 
-#: ../../mod/settings.php:950
+#: ../../mod/settings.php:955
 msgid "Advanced expiration settings"
 msgstr ""
 
-#: ../../mod/settings.php:951
+#: ../../mod/settings.php:956
 msgid "Advanced Expiration"
 msgstr ""
 
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:957
 msgid "Expire posts:"
 msgstr ""
 
-#: ../../mod/settings.php:953
+#: ../../mod/settings.php:958
 msgid "Expire personal notes:"
 msgstr ""
 
-#: ../../mod/settings.php:954
+#: ../../mod/settings.php:959
 msgid "Expire starred posts:"
 msgstr ""
 
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:960
 msgid "Expire photos:"
 msgstr ""
 
-#: ../../mod/settings.php:962
+#: ../../mod/settings.php:961
+msgid "Only expire posts by others:"
+msgstr ""
+
+#: ../../mod/settings.php:968
 msgid "Account Settings"
 msgstr ""
 
-#: ../../mod/settings.php:970
+#: ../../mod/settings.php:976
 msgid "Password Settings"
 msgstr ""
 
-#: ../../mod/settings.php:971
+#: ../../mod/settings.php:977
 msgid "New Password:"
 msgstr ""
 
-#: ../../mod/settings.php:972
+#: ../../mod/settings.php:978
 msgid "Confirm:"
 msgstr ""
 
-#: ../../mod/settings.php:972
+#: ../../mod/settings.php:978
 msgid "Leave password fields blank unless changing"
 msgstr ""
 
-#: ../../mod/settings.php:976
+#: ../../mod/settings.php:982
 msgid "Basic Settings"
 msgstr ""
 
-#: ../../mod/settings.php:977 ../../include/profile_advanced.php:15
+#: ../../mod/settings.php:983 ../../include/profile_advanced.php:15
 msgid "Full Name:"
 msgstr ""
 
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:984
 msgid "Email Address:"
 msgstr ""
 
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:985
 msgid "Your Timezone:"
 msgstr ""
 
-#: ../../mod/settings.php:980
+#: ../../mod/settings.php:986
 msgid "Default Post Location:"
 msgstr ""
 
-#: ../../mod/settings.php:981
+#: ../../mod/settings.php:987
 msgid "Use Browser Location:"
 msgstr ""
 
-#: ../../mod/settings.php:984
+#: ../../mod/settings.php:990
 msgid "Security and Privacy Settings"
 msgstr ""
 
-#: ../../mod/settings.php:986
+#: ../../mod/settings.php:992
 msgid "Maximum Friend Requests/Day:"
 msgstr ""
 
-#: ../../mod/settings.php:986 ../../mod/settings.php:1005
+#: ../../mod/settings.php:992 ../../mod/settings.php:1011
 msgid "(to prevent spam abuse)"
 msgstr ""
 
-#: ../../mod/settings.php:987
+#: ../../mod/settings.php:993
 msgid "Default Post Permissions"
 msgstr ""
 
-#: ../../mod/settings.php:988
+#: ../../mod/settings.php:994
 msgid "(click to open/close)"
 msgstr ""
 
-#: ../../mod/settings.php:1005
+#: ../../mod/settings.php:1011
 msgid "Maximum private messages per day from unknown people:"
 msgstr ""
 
-#: ../../mod/settings.php:1008
+#: ../../mod/settings.php:1014
 msgid "Notification Settings"
 msgstr ""
 
-#: ../../mod/settings.php:1009
+#: ../../mod/settings.php:1015
 msgid "By default post a status message when:"
 msgstr ""
 
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1016
 msgid "accepting a friend request"
 msgstr ""
 
-#: ../../mod/settings.php:1011
+#: ../../mod/settings.php:1017
 msgid "joining a forum/community"
 msgstr ""
 
-#: ../../mod/settings.php:1012
+#: ../../mod/settings.php:1018
 msgid "making an <em>interesting</em> profile change"
 msgstr ""
 
-#: ../../mod/settings.php:1013
+#: ../../mod/settings.php:1019
 msgid "Send a notification email when:"
 msgstr ""
 
-#: ../../mod/settings.php:1014
+#: ../../mod/settings.php:1020
 msgid "You receive an introduction"
 msgstr ""
 
-#: ../../mod/settings.php:1015
+#: ../../mod/settings.php:1021
 msgid "Your introductions are confirmed"
 msgstr ""
 
-#: ../../mod/settings.php:1016
+#: ../../mod/settings.php:1022
 msgid "Someone writes on your profile wall"
 msgstr ""
 
-#: ../../mod/settings.php:1017
+#: ../../mod/settings.php:1023
 msgid "Someone writes a followup comment"
 msgstr ""
 
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1024
 msgid "You receive a private message"
 msgstr ""
 
-#: ../../mod/settings.php:1019
+#: ../../mod/settings.php:1025
 msgid "You receive a friend suggestion"
 msgstr ""
 
-#: ../../mod/settings.php:1020
+#: ../../mod/settings.php:1026
 msgid "You are tagged in a post"
 msgstr ""
 
-#: ../../mod/settings.php:1023
+#: ../../mod/settings.php:1029
 msgid "Advanced Page Settings"
 msgstr ""
 
@@ -2375,7 +2390,7 @@ msgstr ""
 msgid "Invalid contact."
 msgstr ""
 
-#: ../../mod/notes.php:44 ../../boot.php:1529
+#: ../../mod/notes.php:44 ../../boot.php:1526
 msgid "Personal Notes"
 msgstr ""
 
@@ -2626,7 +2641,7 @@ msgstr ""
 
 #: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:123
 #: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:74
-#: ../../include/nav.php:50 ../../boot.php:1508
+#: ../../include/nav.php:50 ../../boot.php:1505
 msgid "Profile"
 msgstr ""
 
@@ -2798,7 +2813,7 @@ msgstr ""
 msgid "Choose a nickname: "
 msgstr ""
 
-#: ../../mod/register.php:546 ../../include/nav.php:81 ../../boot.php:795
+#: ../../mod/register.php:546 ../../include/nav.php:81 ../../boot.php:792
 msgid "Register"
 msgstr ""
 
@@ -2832,7 +2847,7 @@ msgstr ""
 
 #: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:156
 #: ../../mod/admin.php:697 ../../mod/admin.php:896 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3096
+#: ../../mod/display.php:142 ../../include/items.php:3175
 msgid "Item not found."
 msgstr ""
 
@@ -2841,7 +2856,7 @@ msgid "Access denied."
 msgstr ""
 
 #: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:125
-#: ../../include/nav.php:51 ../../boot.php:1514
+#: ../../include/nav.php:51 ../../boot.php:1511
 msgid "Photos"
 msgstr ""
 
@@ -2870,34 +2885,34 @@ msgstr ""
 msgid "Empty post discarded."
 msgstr ""
 
-#: ../../mod/item.php:377 ../../mod/wall_upload.php:99
+#: ../../mod/item.php:379 ../../mod/wall_upload.php:99
 #: ../../mod/wall_upload.php:108 ../../mod/wall_upload.php:115
 #: ../../include/message.php:144
 msgid "Wall Photos"
 msgstr ""
 
-#: ../../mod/item.php:786
+#: ../../mod/item.php:788
 msgid "System error. Post not saved."
 msgstr ""
 
-#: ../../mod/item.php:811
+#: ../../mod/item.php:813
 #, php-format
 msgid ""
 "This message was sent to you by %s, a member of the Friendica social network."
 msgstr ""
 
-#: ../../mod/item.php:813
+#: ../../mod/item.php:815
 #, php-format
 msgid "You may visit them online at %s"
 msgstr ""
 
-#: ../../mod/item.php:814
+#: ../../mod/item.php:816
 msgid ""
 "Please contact the sender by replying to this post if you do not wish to "
 "receive these messages."
 msgstr ""
 
-#: ../../mod/item.php:816
+#: ../../mod/item.php:818
 #, php-format
 msgid "%s posted an update."
 msgstr ""
@@ -3624,7 +3639,7 @@ msgstr ""
 msgid "FTP Password"
 msgstr ""
 
-#: ../../mod/profile.php:21 ../../boot.php:960
+#: ../../mod/profile.php:21 ../../boot.php:957
 msgid "Requested profile is not available."
 msgstr ""
 
@@ -3694,8 +3709,8 @@ msgid ""
 "Account not found and OpenID registration is not permitted on this site."
 msgstr ""
 
-#: ../../mod/openid.php:93 ../../include/auth.php:97
-#: ../../include/auth.php:160
+#: ../../mod/openid.php:93 ../../include/auth.php:99
+#: ../../include/auth.php:162
 msgid "Login failed."
 msgstr ""
 
@@ -3779,8 +3794,8 @@ msgstr ""
 msgid "Search"
 msgstr ""
 
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:375
-#: ../../mod/profiles.php:489 ../../mod/dfrn_confirm.php:62
+#: ../../mod/profiles.php:21 ../../mod/profiles.php:384
+#: ../../mod/profiles.php:498 ../../mod/dfrn_confirm.php:62
 msgid "Profile not found."
 msgstr ""
 
@@ -3824,237 +3839,241 @@ msgstr ""
 msgid "Interests"
 msgstr ""
 
-#: ../../mod/profiles.php:181
+#: ../../mod/profiles.php:180
+msgid "Address"
+msgstr ""
+
+#: ../../mod/profiles.php:187
 msgid "Location"
 msgstr ""
 
-#: ../../mod/profiles.php:253
+#: ../../mod/profiles.php:262
 msgid "Profile updated."
 msgstr ""
 
-#: ../../mod/profiles.php:320
+#: ../../mod/profiles.php:329
 msgid " and "
 msgstr ""
 
-#: ../../mod/profiles.php:328
+#: ../../mod/profiles.php:337
 msgid "public profile"
 msgstr ""
 
-#: ../../mod/profiles.php:331
+#: ../../mod/profiles.php:340
 #, php-format
 msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
 msgstr ""
 
-#: ../../mod/profiles.php:332
+#: ../../mod/profiles.php:341
 #, php-format
 msgid " - Visit %1$s's %2$s"
 msgstr ""
 
-#: ../../mod/profiles.php:335
+#: ../../mod/profiles.php:344
 #, php-format
 msgid "%1$s has an updated %2$s, changing %3$s."
 msgstr ""
 
-#: ../../mod/profiles.php:394
+#: ../../mod/profiles.php:403
 msgid "Profile deleted."
 msgstr ""
 
-#: ../../mod/profiles.php:412 ../../mod/profiles.php:446
+#: ../../mod/profiles.php:421 ../../mod/profiles.php:455
 msgid "Profile-"
 msgstr ""
 
-#: ../../mod/profiles.php:431 ../../mod/profiles.php:473
+#: ../../mod/profiles.php:440 ../../mod/profiles.php:482
 msgid "New profile created."
 msgstr ""
 
-#: ../../mod/profiles.php:452
+#: ../../mod/profiles.php:461
 msgid "Profile unavailable to clone."
 msgstr ""
 
-#: ../../mod/profiles.php:510
+#: ../../mod/profiles.php:519
 msgid "Hide your contact/friend list from viewers of this profile?"
 msgstr ""
 
-#: ../../mod/profiles.php:533
+#: ../../mod/profiles.php:542
 msgid "Edit Profile Details"
 msgstr ""
 
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:544
 msgid "View this profile"
 msgstr ""
 
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:545
 msgid "Create a new profile using these settings"
 msgstr ""
 
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:546
 msgid "Clone this profile"
 msgstr ""
 
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:547
 msgid "Delete this profile"
 msgstr ""
 
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:548
 msgid "Profile Name:"
 msgstr ""
 
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:549
 msgid "Your Full Name:"
 msgstr ""
 
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:550
 msgid "Title/Description:"
 msgstr ""
 
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:551
 msgid "Your Gender:"
 msgstr ""
 
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:552
 #, php-format
 msgid "Birthday (%s):"
 msgstr ""
 
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:553
 msgid "Street Address:"
 msgstr ""
 
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:554
 msgid "Locality/City:"
 msgstr ""
 
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:555
 msgid "Postal/Zip Code:"
 msgstr ""
 
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:556
 msgid "Country:"
 msgstr ""
 
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:557
 msgid "Region/State:"
 msgstr ""
 
-#: ../../mod/profiles.php:549
+#: ../../mod/profiles.php:558
 msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
 msgstr ""
 
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:559
 msgid "Who: (if applicable)"
 msgstr ""
 
-#: ../../mod/profiles.php:551
+#: ../../mod/profiles.php:560
 msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
 msgstr ""
 
-#: ../../mod/profiles.php:552 ../../include/profile_advanced.php:43
+#: ../../mod/profiles.php:561 ../../include/profile_advanced.php:43
 msgid "Sexual Preference:"
 msgstr ""
 
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:562
 msgid "Homepage URL:"
 msgstr ""
 
-#: ../../mod/profiles.php:554 ../../include/profile_advanced.php:49
+#: ../../mod/profiles.php:563 ../../include/profile_advanced.php:49
 msgid "Political Views:"
 msgstr ""
 
-#: ../../mod/profiles.php:555
+#: ../../mod/profiles.php:564
 msgid "Religious Views:"
 msgstr ""
 
-#: ../../mod/profiles.php:556
+#: ../../mod/profiles.php:565
 msgid "Public Keywords:"
 msgstr ""
 
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:566
 msgid "Private Keywords:"
 msgstr ""
 
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:567
 msgid "Example: fishing photography software"
 msgstr ""
 
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:568
 msgid "(Used for suggesting potential friends, can be seen by others)"
 msgstr ""
 
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:569
 msgid "(Used for searching profiles, never shown to others)"
 msgstr ""
 
-#: ../../mod/profiles.php:561
+#: ../../mod/profiles.php:570
 msgid "Tell us about yourself..."
 msgstr ""
 
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:571
 msgid "Hobbies/Interests"
 msgstr ""
 
-#: ../../mod/profiles.php:563
+#: ../../mod/profiles.php:572
 msgid "Contact information and Social Networks"
 msgstr ""
 
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:573
 msgid "Musical interests"
 msgstr ""
 
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:574
 msgid "Books, literature"
 msgstr ""
 
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:575
 msgid "Television"
 msgstr ""
 
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:576
 msgid "Film/dance/culture/entertainment"
 msgstr ""
 
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:577
 msgid "Love/romance"
 msgstr ""
 
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:578
 msgid "Work/employment"
 msgstr ""
 
-#: ../../mod/profiles.php:570
+#: ../../mod/profiles.php:579
 msgid "School/education"
 msgstr ""
 
-#: ../../mod/profiles.php:575
+#: ../../mod/profiles.php:584
 msgid ""
 "This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
 "be visible to anybody using the internet."
 msgstr ""
 
-#: ../../mod/profiles.php:585 ../../mod/directory.php:111
+#: ../../mod/profiles.php:594 ../../mod/directory.php:111
 msgid "Age: "
 msgstr ""
 
-#: ../../mod/profiles.php:620
+#: ../../mod/profiles.php:629
 msgid "Edit/Manage Profiles"
 msgstr ""
 
-#: ../../mod/profiles.php:621 ../../boot.php:1069
+#: ../../mod/profiles.php:630 ../../boot.php:1066
 msgid "Change profile photo"
 msgstr ""
 
-#: ../../mod/profiles.php:622 ../../boot.php:1070
+#: ../../mod/profiles.php:631 ../../boot.php:1067
 msgid "Create New Profile"
 msgstr ""
 
-#: ../../mod/profiles.php:633 ../../boot.php:1080
+#: ../../mod/profiles.php:642 ../../boot.php:1077
 msgid "Profile Image"
 msgstr ""
 
-#: ../../mod/profiles.php:635 ../../boot.php:1083
+#: ../../mod/profiles.php:644 ../../boot.php:1080
 msgid "visible to everybody"
 msgstr ""
 
-#: ../../mod/profiles.php:636 ../../boot.php:1084
+#: ../../mod/profiles.php:645 ../../boot.php:1081
 msgid "Edit visibility"
 msgstr ""
 
@@ -4662,7 +4681,7 @@ msgstr ""
 
 #: ../../addon/page/page.php:63 ../../addon/showmore/showmore.php:87
 #: ../../include/contact_widgets.php:188 ../../include/conversation.php:470
-#: ../../boot.php:518
+#: ../../boot.php:515
 msgid "show more"
 msgstr ""
 
@@ -4678,7 +4697,7 @@ msgstr ""
 #: ../../addon/communityhome/communityhome.php:34
 #: ../../addon/communityhome/twillingham/communityhome.php:28
 #: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:816
+#: ../../include/nav.php:64 ../../boot.php:813
 msgid "Login"
 msgstr ""
 
@@ -5855,7 +5874,7 @@ msgstr ""
 msgid "Set colour scheme"
 msgstr ""
 
-#: ../../include/profile_advanced.php:17 ../../boot.php:1105
+#: ../../include/profile_advanced.php:17 ../../boot.php:1102
 msgid "Gender:"
 msgstr ""
 
@@ -5876,11 +5895,11 @@ msgstr ""
 msgid "Age:"
 msgstr ""
 
-#: ../../include/profile_advanced.php:37 ../../boot.php:1108
+#: ../../include/profile_advanced.php:37 ../../boot.php:1105
 msgid "Status:"
 msgstr ""
 
-#: ../../include/profile_advanced.php:45 ../../boot.php:1110
+#: ../../include/profile_advanced.php:45 ../../boot.php:1107
 msgid "Homepage:"
 msgstr ""
 
@@ -6060,187 +6079,187 @@ msgstr ""
 msgid "Undecided"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Males"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Females"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Gay"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Lesbian"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "No Preference"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Bisexual"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Autosexual"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Abstinent"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Virgin"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Deviant"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Fetish"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Oodles"
 msgstr ""
 
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
 msgid "Nonsexual"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Single"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Lonely"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Available"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Unavailable"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Has crush"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Infatuated"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Dating"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Unfaithful"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Sex Addict"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Friends"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Friends/Benefits"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Casual"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Engaged"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Married"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Imaginarily married"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Partners"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Cohabiting"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Common law"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Happy"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Not looking"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Swinger"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Betrayed"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Separated"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Unstable"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Divorced"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Imaginarily divorced"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Widowed"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Uncertain"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "It's complicated"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Don't care"
 msgstr ""
 
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
 msgid "Ask me"
 msgstr ""
 
-#: ../../include/event.php:17 ../../include/bb2diaspora.php:244
+#: ../../include/event.php:17 ../../include/bb2diaspora.php:249
 msgid "Starts:"
 msgstr ""
 
-#: ../../include/event.php:27 ../../include/bb2diaspora.php:252
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:257
 msgid "Finishes:"
 msgstr ""
 
@@ -6464,7 +6483,7 @@ msgstr ""
 msgid "Contacts not in any group"
 msgstr ""
 
-#: ../../include/nav.php:46 ../../boot.php:815
+#: ../../include/nav.php:46 ../../boot.php:812
 msgid "Logout"
 msgstr ""
 
@@ -6472,7 +6491,7 @@ msgstr ""
 msgid "End this session"
 msgstr ""
 
-#: ../../include/nav.php:49 ../../boot.php:1502
+#: ../../include/nav.php:49 ../../boot.php:1499
 msgid "Status"
 msgstr ""
 
@@ -6552,11 +6571,11 @@ msgstr ""
 msgid "Manage other pages"
 msgstr ""
 
-#: ../../include/nav.php:138 ../../boot.php:1063
+#: ../../include/nav.php:138 ../../boot.php:1060
 msgid "Profiles"
 msgstr ""
 
-#: ../../include/nav.php:138 ../../boot.php:1063
+#: ../../include/nav.php:138 ../../boot.php:1060
 msgid "Manage/edit profiles"
 msgstr ""
 
@@ -6639,13 +6658,13 @@ msgstr ""
 msgid "Logged out."
 msgstr ""
 
-#: ../../include/auth.php:113
+#: ../../include/auth.php:115
 msgid ""
 "We encountered a problem while logging in with the OpenID you provided. "
 "Please check the correct spelling of the ID."
 msgstr ""
 
-#: ../../include/auth.php:113
+#: ../../include/auth.php:115
 msgid "The error message was:"
 msgstr ""
 
@@ -7223,96 +7242,96 @@ msgstr ""
 msgid "permissions"
 msgstr ""
 
-#: ../../boot.php:516
+#: ../../boot.php:513
 msgid "Delete this item?"
 msgstr ""
 
-#: ../../boot.php:519
+#: ../../boot.php:516
 msgid "show fewer"
 msgstr ""
 
-#: ../../boot.php:692
+#: ../../boot.php:689
 #, php-format
 msgid "Update %s failed. See error logs."
 msgstr ""
 
-#: ../../boot.php:694
+#: ../../boot.php:691
 #, php-format
 msgid "Update Error at %s"
 msgstr ""
 
-#: ../../boot.php:794
+#: ../../boot.php:791
 msgid "Create a New Account"
 msgstr ""
 
-#: ../../boot.php:818
+#: ../../boot.php:815
 msgid "Nickname or Email address: "
 msgstr ""
 
-#: ../../boot.php:819
+#: ../../boot.php:816
 msgid "Password: "
 msgstr ""
 
-#: ../../boot.php:822
+#: ../../boot.php:819
 msgid "Or login using OpenID: "
 msgstr ""
 
-#: ../../boot.php:828
+#: ../../boot.php:825
 msgid "Forgot your password?"
 msgstr ""
 
-#: ../../boot.php:995
+#: ../../boot.php:992
 msgid "Edit profile"
 msgstr ""
 
-#: ../../boot.php:1055
+#: ../../boot.php:1052
 msgid "Message"
 msgstr ""
 
-#: ../../boot.php:1171 ../../boot.php:1247
+#: ../../boot.php:1168 ../../boot.php:1244
 msgid "g A l F d"
 msgstr ""
 
-#: ../../boot.php:1172 ../../boot.php:1248
+#: ../../boot.php:1169 ../../boot.php:1245
 msgid "F d"
 msgstr ""
 
-#: ../../boot.php:1217 ../../boot.php:1288
+#: ../../boot.php:1214 ../../boot.php:1285
 msgid "[today]"
 msgstr ""
 
-#: ../../boot.php:1229
+#: ../../boot.php:1226
 msgid "Birthday Reminders"
 msgstr ""
 
-#: ../../boot.php:1230
+#: ../../boot.php:1227
 msgid "Birthdays this week:"
 msgstr ""
 
-#: ../../boot.php:1281
+#: ../../boot.php:1278
 msgid "[No description]"
 msgstr ""
 
-#: ../../boot.php:1299
+#: ../../boot.php:1296
 msgid "Event Reminders"
 msgstr ""
 
-#: ../../boot.php:1300
+#: ../../boot.php:1297
 msgid "Events this week:"
 msgstr ""
 
-#: ../../boot.php:1505
+#: ../../boot.php:1502
 msgid "Status Messages and Posts"
 msgstr ""
 
-#: ../../boot.php:1511
+#: ../../boot.php:1508
 msgid "Profile Details"
 msgstr ""
 
-#: ../../boot.php:1526
+#: ../../boot.php:1523
 msgid "Events and Calendar"
 msgstr ""
 
-#: ../../boot.php:1532
+#: ../../boot.php:1529
 msgid "Only You Can See This"
 msgstr ""
index 58e9233aa7ec148c843bc3f2e23105df861d462f..6c916323ce8c3ab295b1b006ec1f0e22b5ef4770 100644 (file)
@@ -11,6 +11,10 @@ $please
 <input type="hidden" name="localconfirm" value="1" />
 $aes_allow
 
+<label id="dfrn-request-homecoming-hide-label" for="dfrn-request-homecoming-hide">$hidethem</label>
+<input type="checkbox" name="hidden-contact" value="1" {{ if $hidechecked }}checked="checked" {{ endif }} />
+
+
 <div id="dfrn-request-homecoming-submit-wrapper" >
 <input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="$submit" />
 </div>
index 45813b876ada31178f86857eb886ef7407501c31..f3404f783fd0a831c0a79d61400a41eda473c3a2 100644 (file)
@@ -1,4 +1,4 @@
-<div class="widget">
+<div class="widget{{ if $class }} $class{{ endif }}">
        {{if $title}}<h3>$title</h3>{{endif}}
        {{if $desc}}<div class="desc">$desc</div>{{endif}}
        
index 556cd3ba373c127512f6acc5d5825394ef559699..d61af072f70bca195cb70b556226086336851233 100644 (file)
@@ -70,6 +70,7 @@ $unkmail
                        {{ inc field_yesno.tpl with $field=$expire.items }}{{endinc}}
                        {{ inc field_yesno.tpl with $field=$expire.notes }}{{endinc}}
                        {{ inc field_yesno.tpl with $field=$expire.starred }}{{endinc}}
+                       {{ inc field_yesno.tpl with $field=$expire.network_only }}{{endinc}}
                </div>
        </div>
 
index de7e4184199f06c096b21211a34809369867f34b..83079782e87676a2aa4f5dec69d88e6a2d780128 100755 (executable)
@@ -18,6 +18,11 @@ $a->page['htmlhead'] .= sprintf('<META NAME=generator CONTENT="%s"/>', $diabook_
 
 //init css on network and profilepages
 $cssFile = null;
+
+// Preload config
+load_config("diabook");
+load_pconfig(local_user(), "diabook");
+
 //get statuses of boxes at right-hand-column
 $close_pages = false;
 $site_close_pages = get_config("diabook", "close_pages" );
index 4d09b925585872c061784be38d53295f9c1203dd..aaa27465b086a5d44a820a504d533eccfcd4b264 100644 (file)
@@ -2,7 +2,6 @@
 <div>$page</div>
 {{ endif }}
 
-{{ if $lastusers_title }}
 <h3 id="extra-help-header">Help or '@NewHere'?</h3>
 <div id="extra-help">
 <a href="https://helpers.pyxis.uberspace.de/profile/helpers"
        title="Local Friendica" target="_blank">Local Friendica</a><br />
 <a href="http://kakste.com/profile/newhere" title="@NewHere" target="_blank">NewHere</a>
 </div>
-{{ endif }}
 
-{{ if $lastusers_title }}
 <h3 id="connect-services-header">Connectable Services</h3>
-<div id="connect-services">
-<a href="$url/facebook"><img alt="Facebook"
-       src="view/theme/dispy/icons/facebook.png" title="Facebook" /></a>
-<a href="$url/settings/connectors"><img
-       alt="StatusNet" src="view/theme/dispy/icons/StatusNet.png?" title="StatusNet" /></a>
-<a href="$url/settings/connectors"><img
-       alt="LiveJournal" src="view/theme/dispy/icons/livejournal.png?" title="LiveJournal" /></a>
-<a href="$url/settings/connectors"><img
-       alt="Posterous" src="view/theme/dispy/icons/posterous.png?" title="Posterous" /></a><br />
-<a href="$url/settings/connectors"><img
-       alt="Tumblr" src="view/theme/dispy/icons/tumblr.png?" title="Tumblr" /></a>
-<a href="$url/settings/connectors"><img
-       alt="Twitter" src="view/theme/dispy/icons/twitter.png?" title="Twitter" /></a>
-<a href="$url/settings/connectors"><img
-       alt="WordPress" src="view/theme/dispy/icons/wordpress.png?" title="WordPress" /></a>
-<a href="$url/settings/connectors"><img
-       alt="E-Mail" src="view/theme/dispy/icons/email.png?" title="E-Mail" /></a>
-</div>
-{{ endif }}
+<ul id="connect-services">
+<li><a href="$url/facebook"><img alt="Facebook"
+       src="view/theme/dispy/icons/facebook.png" title="Facebook" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="StatusNet" src="view/theme/dispy/icons/StatusNet.png" title="StatusNet" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="LiveJournal" src="view/theme/dispy/icons/livejournal.png" title="LiveJournal" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="Posterous" src="view/theme/dispy/icons/posterous.png" title="Posterous" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="Tumblr" src="view/theme/dispy/icons/tumblr.png" title="Tumblr" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="Twitter" src="view/theme/dispy/icons/twitter.png" title="Twitter" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="WordPress" src="view/theme/dispy/icons/wordpress.png" title="WordPress" /></a></li>
+<li><a href="$url/settings/connectors"><img
+       alt="E-Mail" src="view/theme/dispy/icons/email.png" title="E-Mail" /></a></li>
+</ul>
 
index a24288bf86c72e0774414f73540362347e64fe77..25663c10baf348fb255ecca436c789a8574e0e0c 100644 (file)
@@ -41,17 +41,17 @@ function theme_admin_post(&$a) {
 
 function dispy_form(&$a, $font_size, $line_height, $colour) {
        $line_heights = array(
-               "1.3"=>"1.3",
-               "---"=>"---",
-               "1.6"=>"1.6",                           
-               "1.5"=>"1.5",           
-               "1.4"=>"1.4",
-               "1.2"=>"1.2",
-               "1.1"=>"1.1",
+               "1.3" => "1.3",
+               "---" => "---",
+               "1.6" => "1.6",                         
+               "1.5" => "1.5",         
+               "1.4" => "1.4",
+               "1.2" => "1.2",
+               "1.1" => "1.1",
        );      
        $font_sizes = array(
                '12' => '12',
-               '14' =>'14',
+               '14' => '14',
                "---" => "---",
                "16" => "16",           
                "15" => "15",
index 41b6aeadffeb43f8fbc9d6c5473e1c4cc32d8baf..c49cdf26b1ed1d12458273c363e9b8fe020a2552 100644 (file)
@@ -18,6 +18,7 @@
 
 {{ if $dropping }}
 <div class="delete-checked">
-<a href="#" onclick="deleteCheckedItems();return false;"><span class="icon delete"></span><span class="s22 text">$dropping</span></a>
+<a href="#" onclick="deleteCheckedItems();return false;"><span class="icon delete"></span><span class="s22 text" onmouseover="imgbright(this);" onmouseout="imgdull(this);">$dropping</span></a>
 </div>
+<div id="item-delete-selected-end"></div>
 {{ endif }}
index 000cdbd5abef80a78f8e897dc402e522d51202ae..d1051a989f090f68fb25d9ec3353489a4104a94c 100644 (file)
@@ -17,6 +17,7 @@
 @import "../css/reset";
 
 //* backgrounds */
+@lt_bg_colour: lighten(@bg_colour, 10%);
 @dk_bg_colour: #1d1f1d;
 @bg_colour: #2e2f2e;
 @bg_alt_colour: #2e302e;
@@ -24,8 +25,9 @@
 @menu_bg_colour: #555753;
 
 //* font colour, aka color: */
-@lt_main_colour: #ffff99;
+@lt_main_colour: lighten(@main_colour, 10%);
 @main_colour: #eeeecc;
+@dk_main_colour: darken(@main_colour, 20%);
 @main_alt_colour: #eeeeee;
 // darken(@main_alt_colour, 13%) > #cdcdcd
 // darken(@main_alt_colour, 13.5%) > #cccccc
@@ -56,9 +58,6 @@
 @info: #1353b1;
 @alert: #ff0000;
 
-@lt_main_colour: lighten(@bg_colour, 10%);
-@dk_main_colour: darken(@bg_colour, 10%);
-
 //* links */
 @link_colour: #88a9d2;
 @dk_link_colour: darken(@link_colour, 10%);
        -webkit-text-overflow: @t;
        text-overflow: @t;
 }
-
+.lin_gradient(@x1: left, @x2: right, @y1: top, @y2: bottom, @c1: @bg_colour, @c2: @dk_bg_colour) {
+       // w3c
+       background: linear-gradient(@x1 @y2, @c1, @c2);
+       // webkit
+       // -webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)
+       background: -webkit-gradient(linear, @x1 @y1, @x2 @y2, from(@c1), to(@c2));
+       // mozilla
+       // -moz-linear-gradient([<point> || <angle>,]? <stop>, <stop> [, <stop>])
+       background: -moz-linear-gradient(@x1 @y2, @c1, @c2);
+       // opera
+       //background: -o-linear-gradient([<point> || <angle>,]? <stop>, <stop> [, <stop>]);
+       background: -o-linear-gradient(@x1, @c1, @c2);
+}
 //* pre wrap */
 .wrap () {
        white-space: pre-wrap;
index 029722c3ac5fc4cd3b7f7aa91d5f3b361dc5e94a..82118275a41c360c3e29261eef9fde1de5944b94 100644 (file)
@@ -20,7 +20,7 @@ tr:nth-child(even){background-color:#474947;}
 :focus{outline:none;}
 a:focus{outline:invert, dashed, thin;}
 [disabled="disabled"]{background:#4e4f4e;color:#ddddbb;}
-ins,mark{background-color:#2e302e;color:#474947;}
+ins,mark{background-color:#2e302e;color:#fbfbf2;}
 ins{text-decoration:none;}
 mark{font-style:italic;font-weight:bold;}
 pre,code,kbd,samp,.wall-item-body code{font-family:monospace, monospace;_font-family:monospace;font-size:1em;}
@@ -58,7 +58,7 @@ h6{font-size:xx-small;}
 #articlemain{width:100%;height:100%;margin:0 auto;}
 .button{color:#eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;padding:5px;cursor:pointer;}.button a{color:#eeeecc;font-weight:bold;}
 #profile-listing-desc a{color:#eeeecc;font-weight:bold;}
-[class$="-desc"],[id$="-desc"]{color:#eeeecc;background:#2e2f2e;border:3px ridge #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
+[class$="-desc"],[id$="-desc"]{color:#eeeecc;background:#2e2f2e;border:2px outset #d4d580;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
 #item-delete-selected-desc{float:left;margin-right:5px;}#item-delete-selected-desc:hover{text-decoration:underline;}
 .intro-approve-as-friend-desc{margin-top:10px;}
 .intro-desc{margin-bottom:20px;font-weight:bold;}
@@ -103,7 +103,7 @@ div.jGrowl div.info{background:#1353b1 url("../../../images/icons/48/info.png")
 nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkmenu.selected .icon.s22.notify{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAUJcAAFCXAZtv64UAAAHuSURBVCjPbZPbTlNBFIYHLixXRIhEQGNRMUopJAJyAyZ4Z2l8B+XwEBqKtjwOp8oDIAJKIJFUjdFIQCUYrRytdyb0459ht8wG9rrYs9b618y/TsYEH4ZK4qRYYIdDybZOI7TKakIfVhrJ8J2i5IBNyV93/kaaBuv3oV3MgwCTPKGHPkkPA0xRUMBrOgN4AP0o6BseEpF2m3es0qJTFQneyvMhgDsC9tZprnEcGuOPeMcDLUpW3jlLxlDBmJTFY6gLvsVv8tyh9G7U3Z6mwtCuJAoiECSh/w1+8otmTjLqF2KDNsNzRY1bruV0o6rFFtc9S5USh5RRWvAYv4xX9dYPS8ur1oBQC4Y99m2uHriRNda5ErLdU1l3jCI2xdJ3XOYLX6kP2W6K2OF54Et84jN154F31d6ukKOG92pSbcjWLRrbRhVGLTZeOtXqX46LoQSHhJo3jOo3ESrdBQbljIRKNyXUiKHNNSXhTdbZiUzyT/WJ23Zn3BBFy+2u4ZHc1eV2N7EkxAvbbqMRmZOSlbE0g/uajRgl6Iy8r1wpnaFTQ4ji+8XOEsuxYmdDWpJleXJ0+BPdoduL4p5Vavd5IOllmJfiWmSWu6d3pV4jteFWqaAGbLkdKSqtUXXUnN3DSvF8phfy/JfkxfOp9sVb2COz+hY/T0qkwwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wOS0xNlQwOTozOTowMCswMjowMC9Oi90AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDktMTZUMDk6Mzk6MDArMDI6MDBeEzNhAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==");}
 .show{display:block;}
 #notifications{width:170px;height:20px;font-size:small;top:-19px;left:4px;position:absolute;}
-#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#1d1f1d;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:300px;height:60px;}
+#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#1d1f1d;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:270px;height:60px;}
 #nav-buttons{clear:both;list-style:none;padding:0px;margin:0px;height:25px;}#nav-buttons>li{padding:0;display:inline-block;margin:0px -4px 0px 0px;}
 .floaterflip{display:block;position:fixed;z-index:110;top:56px;right:19px;width:22px;height:22px;overflow:hidden;margin:0px;background:transparent url(dark/icons.png) -190px -60px no-repeat;}
 .search-box{display:inline-block;margin:5px;position:fixed;right:0px;bottom:0px;z-index:100;background:#1d1f1d;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
@@ -111,7 +111,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #search-text{border:1px solid #eeeeee;margin:5px 0;}
 #mini-search-text{font-size:8pt;height:14px;width:10em;margin:5px;}
 #scrollup{position:fixed;right:5px;bottom:40px;z-index:100;}#scrollup a:hover{text-decoration:none;border:0;}
-#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:75%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
+#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:80%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
 #user-menu-label{font-size:small;padding:3px 20px 9px 5px;height:10px;}
 .nav-ajax-update,.nav-ajax-left{width:30px;height:19px;background:transparent url(dark/notifications.png) 0 0 no-repeat;color:#111111;font-weight:bold;font-size:0.8em;padding-top:0.2em;text-align:center;float:left;margin:0 -1px 0 3px;display:block;visibility:hidden;}
 .nav-ajax-update.show,.nav-ajax-left.show{visibility:visible;}
@@ -133,7 +133,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #sysmsg_info{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
 #sysmsg{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
 #sysmsg_info br,#sysmsg br{display:block;margin:2px 0px;border-top:1px solid #eeeecc;}
-#asidemain{float:left;font-size:small;margin:20px 0 20px 35px;width:25%;display:inline;}
+#asidemain{float:left;font-size:small;margin:1em;width:25%;display:inline;}
 #asideright,#asideleft{display:none;}
 .vcard .fn{font-size:1.5em;font-weight:bold;border-bottom:1px solid #638ec4;padding-bottom:3px;}
 .vcard #profile-photo-wrapper{margin:20px 0;background-color:#555753;padding:5px;width:175px;height:175px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 10px 0 #111111;-o-box-shadow:3px 3px 10px 0 #111111;-webkit-box-shadow:3px 3px 10px 0 #111111;-ms-box-shadow:3px 3px 10px 0 #111111;box-shadow:3px 3px 10px 0 #111111;}
@@ -187,7 +187,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #jot-title-display{font-weight:bold;}
 .jothidden{display:none;}
 #jot-preview-content{background-color:#2e3436;color:#eeeecc;border:1px solid #2e2f2e;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:5px 0 10px 0px #111111;-o-box-shadow:5px 0 10px 0px #111111;-webkit-box-shadow:5px 0 10px 0px #111111;-ms-box-shadow:5px 0 10px 0px #111111;box-shadow:5px 0 10px 0px #111111;padding:3px 3px 6px 10px;}#jot-preview-content .wall-item-outside-wrapper{border:0;-o-border-radius:0px 0px 0px 0px;-webkit-border-radius:0px 0px 0px 0px;-moz-border-radius:0px 0px 0px 0px;-ms-border-radius:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
-#sectionmain{margin:20px;font-size:0.8em;min-width:475px;width:67%;float:left;display:inline;}
+#sectionmain{margin:1em;font-size:0.8em;min-width:475px;width:69%;float:left;display:inline;}
 .tabs{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:10px 0;}.tabs li{display:inline;font-size:smaller;}
 .tab{border:1px solid #638ec4;padding:4px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}.tab:active,.tab:hover{background:#2e3436;color:#eeeecc;border:1px solid #638ec4;}
 .tab a{border:0;text-decoration:none;}
@@ -203,7 +203,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 [id^="tread-wrapper"],[class^="tread-wrapper"]{margin:1.2em 0 0 0;padding:0px;}
 .wall-item-photo-menu{display:none;}
 .wall-item-photo-menu-button{display:none;text-indent:-99999px;background:#555753 url(dark/menu-user-pin.jpg) no-repeat 75px center;position:absolute;overflow:hidden;width:90px;height:20px;top:85px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}
-.wall-item-info{float:left;width:8em;position:relative;}
+.wall-item-info{float:left;width:7em;position:relative;}
 .wall-item-photo-wrapper{width:80px;height:80px;position:relative;padding:5px;background-color:#555753;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
 [class^="wall-item-tools"] *{}[class^="wall-item-tools"] *>*{}
 .wall-item-tools{float:right;opacity:0.4;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}.wall-item-tools:hover{opacity:1;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}
@@ -223,14 +223,16 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 .wall-item-arrowphoto-wrapper{position:absolute;left:35px;top:80px;z-index:10002;}
 .wall-item-photo-menu{min-width:92px;font-size:0.75em;border:2px solid #555753;border-top:0px;background:#555753;position:absolute;left:-2px;top:101px;display:none;z-index:10003;-o-border-radius:0 5px 5px 5px;-webkit-border-radius:0 5px 5px 5px;-moz-border-radius:0 5px 5px 5px;-ms-border-radius:0 5px 5px 5px;border-radius:0 5px 5px 5px;}.wall-item-photo-menu li a{white-space:nowrap;display:block;padding:5px 6px;color:#eeeeee;}.wall-item-photo-menu li a:hover{color:#555753;background:#eeeeee;}
 #item-delete-selected{overflow:auto;width:100%;}
-#connect-services-header,#connect-services,#extra-help-header,#extra-help,#postit-header,#postit{margin:5px 0 0 0;}
+#connect-services-header,#extra-help-header{margin:1.5em 0 0 0;}
+#connect-services,#extra-help{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:1em 0 0 0;}#connect-services li,#extra-help li{display:inline;}
 .ccollapse-wrapper{font-size:0.9em;margin-left:5em;}
 .hide-comments-outer{font-size:small;}
-.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
+.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-info{width:5em;}
+.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
 .wall-item-outside-wrapper.comment .wall-item-photo-wrapper{width:40px;height:40px;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:50px;top:45px;background-position:35px center;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:4,5em;top:4em;background-position:35px center;}
 .wall-item-outside-wrapper.comment .wall-item-author{margin-left:0.2em;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:50px;top:60px;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:4.5em;top:5.5em;}
 .comment-wwedit-wrapper{border:1px solid #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:5px;}
 .comment-edit-wrapper{border-top:1px #aaa solid;}
 [class^="comment-edit-bb"]{margin:0px;padding:0px;list-style:none;list-style-position:inside;display:none;margin:-40px 0 5px 60px;width:75%;}[class^="comment-edit-bb"]>li{display:inline-block;margin:0 10px 0 0;visibility:none;}
index fb0fbc6df3f2ef67b65fecbbc2004178a510964a..0617aaced8b08db077399692bb730e56018e6df8 100644 (file)
@@ -315,7 +315,7 @@ h6 {
 [id$="-desc"] {
        color: @main_colour;
        background: @bg_colour;
-       .borders(3px, ridge, @main_colour);
+       .borders(2px, outset, @dk_main_colour);
        .rounded_corners;
        // .box_shadow(3px, 3px, 5px);
     margin: 3px 10px 7px 0;
@@ -639,7 +639,7 @@ nav #nav-notifications-linkmenu {
        color: transparent;
        .rounded_corners;
        z-index: 100;
-       .box(300px, 60px);
+       .box(270px, 60px);
 }
 #nav-buttons {
        clear: both;
@@ -702,7 +702,7 @@ nav #nav-notifications-linkmenu {
 #user-menu {
        .box_shadow(5px, 0, 10px, 0);
        display: block;
-       width: 75%;
+       width: 80%;
        margin: 3px 0 0 0;
        position: relative;
        .rounded_corners;
@@ -872,7 +872,7 @@ nav #nav-notifications-linkmenu {
 #asidemain {
        float: left;
        font-size: small;
-       margin: 20px 0 20px 35px;
+       margin: 1em;
        width: 25%;
        display: inline;
 }
@@ -1229,10 +1229,10 @@ nav #nav-notifications-linkmenu {
  * section
  */
 #sectionmain {
-       margin: 20px;
+       margin: 1em;
        font-size: 0.8em;
        min-width: 475px;
-       width: 67%;
+       width: 69%;
        float: left;
        display: inline;
 }
@@ -1348,7 +1348,7 @@ nav #nav-notifications-linkmenu {
 }
 .wall-item-info {
        float: left;
-       width: 8em;
+       width: 7em;
        position: relative;
 }
 .wall-item-photo-wrapper {
@@ -1501,12 +1501,16 @@ nav #nav-notifications-linkmenu {
        width: 100%;
 }
 #connect-services-header,
+#extra-help-header {
+       margin: 1.5em 0 0 0;
+}
 #connect-services,
-#extra-help-header,
-#extra-help,
-#postit-header,
-#postit {
-       margin: 5px 0 0 0;
+#extra-help {
+       .list_reset;
+       margin: 1em 0 0 0;
+       li {
+               display: inline;
+       }
 }
 
 
@@ -1522,6 +1526,9 @@ nav #nav-notifications-linkmenu {
 }
 .wall-item-outside-wrapper.comment {
        margin-left: 5em;
+       .wall-item-info {
+               width: 5em;
+       }
        .wall-item-photo {
                width: 40px !important;
                height: 40px !important;
@@ -1530,16 +1537,16 @@ nav #nav-notifications-linkmenu {
                .box(40px, 40px);
        }
        .wall-item-photo-menu-button {
-               width: 50px;
-               top: 45px;
+               width: 4,5em;
+               top: 4em;
                background-position: 35px center;
        }
        .wall-item-author {
                margin-left: 0.2em;
        }
        .wall-item-photo-menu {
-               min-width: 50px;
-               top: 60px;
+               min-width: 4.5em;
+               top: 5.5em;
        }
 }
 .comment-wwedit-wrapper {
index e156b6a7dbb61a0c4c295c785ab91ddd21cfbb6d..f73a127659bfceafd07bcbdb159e7efb055be5f6 100644 (file)
@@ -3,7 +3,6 @@
 /*
  * Name: Dispy Dark
  * Description: Dispy Dark: Dark, Spartan, Sleek, and Functional
- * Version: 1.2.1
  * Author: Simon <http://simon.kisikew.org/>
  * Maintainer: Simon <http://simon.kisikew.org/>
  * Screenshot: <a href="screenshot.jpg">Screenshot</a>
@@ -13,7 +12,6 @@ $a = get_app();
 $a->theme_info = array(
     'family' => 'dispy',
     'name' => 'dark',
-    'version' => '1.2.1'
 );
 
 function dispy_dark_init(&$a) {
index 3046c1bacf102c1fd5b7e70e99e524e968438390..c605dc7028a16fd9556f9b0c7c02b0c66ac460fe 100644 (file)
@@ -24,8 +24,9 @@
 @menu_bg_colour: #555753;
 
 //* font colour, aka color: */
-@lt_main_colour: #ffff99;
+@lt_main_colour: lighten(@bg_colour, 10%);
 @main_colour: #111;
+@dk_main_colour: darken(@bg_colour, 10%);
 @main_alt_colour: #999999;
 // darken(@main_alt_colour, 6.5%) > #888888
 // //#9eabb0
@@ -55,9 +56,6 @@
 @info: #364e59;
 @alert: #ff0000;
 
-@lt_main_colour: lighten(@bg_colour, 10%);
-@dk_main_colour: darken(@bg_colour, 10%);
-
 //* links */
 // yes our link colour is "friendica blue" ;)
 @link_colour: @friendica_blue;
        -webkit-text-overflow: @t;
        text-overflow: @t;
 }
-
+.lin_gradient(@x1: left, @x2: right, @y1: top, @y2: bottom, @c1: @bg_colour, @c2: @dk_bg_colour) {
+       // w3c
+       background: linear-gradient(@x1 @y2, @c1, @c2);
+       // webkit
+       // -webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)
+       background: -webkit-gradient(linear, @x1 @y1, @x2 @y2, from(@c1), to(@c2));
+       // mozilla
+       // -moz-linear-gradient([<point> || <angle>,]? <stop>, <stop> [, <stop>])
+       background: -moz-linear-gradient(@x1 @y2, @c1, @c2);
+       // opera
+       //background: -o-linear-gradient([<point> || <angle>,]? <stop>, <stop> [, <stop>]);
+       background: -o-linear-gradient(@x1, @c1, @c2);
+}
 //* pre wrap */
 .wrap () {
        white-space: pre-wrap;
index c9f7ef95acf0ef114cdbdd04457386d2172e42d4..e56696eabcffcf931508f5fc825bb2c666b7bf59 100644 (file)
@@ -58,7 +58,7 @@ h6{font-size:xx-small;}
 #articlemain{width:100%;height:100%;margin:0 auto;}
 .button{color:#111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;padding:5px;cursor:pointer;}.button a{color:#111111;font-weight:bold;}
 #profile-listing-desc a{color:#eeeeec;font-weight:bold;}
-[class$="-desc"],[id$="-desc"]{color:#eeeeec;background:#2e3436;border:3px ridge #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
+[class$="-desc"],[id$="-desc"]{color:#eeeeec;background:#2e3436;border:2px outset #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
 #item-delete-selected-desc{float:left;margin-right:5px;}#item-delete-selected-desc:hover{text-decoration:underline;}
 .intro-approve-as-friend-desc{margin-top:10px;}
 .intro-desc{margin-bottom:20px;font-weight:bold;}
@@ -103,7 +103,7 @@ div.jGrowl div.info{background:#364e59 url("../../../images/icons/48/info.png")
 nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkmenu.selected .icon.s22.notify{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAUJcAAFCXAZtv64UAAAHuSURBVCjPbZPbTlNBFIYHLixXRIhEQGNRMUopJAJyAyZ4Z2l8B+XwEBqKtjwOp8oDIAJKIJFUjdFIQCUYrRytdyb0459ht8wG9rrYs9b618y/TsYEH4ZK4qRYYIdDybZOI7TKakIfVhrJ8J2i5IBNyV93/kaaBuv3oV3MgwCTPKGHPkkPA0xRUMBrOgN4AP0o6BseEpF2m3es0qJTFQneyvMhgDsC9tZprnEcGuOPeMcDLUpW3jlLxlDBmJTFY6gLvsVv8tyh9G7U3Z6mwtCuJAoiECSh/w1+8otmTjLqF2KDNsNzRY1bruV0o6rFFtc9S5USh5RRWvAYv4xX9dYPS8ur1oBQC4Y99m2uHriRNda5ErLdU1l3jCI2xdJ3XOYLX6kP2W6K2OF54Et84jN154F31d6ukKOG92pSbcjWLRrbRhVGLTZeOtXqX46LoQSHhJo3jOo3ESrdBQbljIRKNyXUiKHNNSXhTdbZiUzyT/WJ23Zn3BBFy+2u4ZHc1eV2N7EkxAvbbqMRmZOSlbE0g/uajRgl6Iy8r1wpnaFTQ4ji+8XOEsuxYmdDWpJleXJ0+BPdoduL4p5Vavd5IOllmJfiWmSWu6d3pV4jteFWqaAGbLkdKSqtUXXUnN3DSvF8phfy/JfkxfOp9sVb2COz+hY/T0qkwwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wOS0xNlQwOTozOTowMCswMjowMC9Oi90AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDktMTZUMDk6Mzk6MDArMDI6MDBeEzNhAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==");}
 .show{display:block;}
 #notifications{width:170px;height:20px;font-size:small;top:-19px;left:4px;position:absolute;}
-#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#2e3436;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:300px;height:60px;}
+#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#2e3436;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:270px;height:60px;}
 #nav-buttons{clear:both;list-style:none;padding:0px;margin:0px;height:25px;}#nav-buttons>li{padding:0;display:inline-block;margin:0px -4px 0px 0px;}
 .floaterflip{display:block;position:fixed;z-index:110;top:56px;right:19px;width:22px;height:22px;overflow:hidden;margin:0px;background:transparent url(light/icons.png) -190px -60px no-repeat;}
 .search-box{display:inline-block;margin:5px;position:fixed;right:0px;bottom:0px;z-index:100;background:#2e3436;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
@@ -111,7 +111,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #search-text{border:1px solid #999999;margin:5px 0;}
 #mini-search-text{font-size:8pt;height:14px;width:10em;margin:5px;}
 #scrollup{position:fixed;right:5px;bottom:40px;z-index:100;}#scrollup a:hover{text-decoration:none;border:0;}
-#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:75%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
+#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:80%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
 #user-menu-label{font-size:small;padding:3px 20px 9px 5px;height:10px;}
 .nav-ajax-update,.nav-ajax-left{width:30px;height:19px;background:transparent url(light/notifications.png) 0 0 no-repeat;color:#111111;font-weight:bold;font-size:0.8em;padding-top:0.2em;text-align:center;float:left;margin:0 -1px 0 3px;display:block;visibility:hidden;}
 .nav-ajax-update.show,.nav-ajax-left.show{visibility:visible;}
@@ -133,7 +133,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #sysmsg_info{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
 #sysmsg{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
 #sysmsg_info br,#sysmsg br{display:block;margin:2px 0px;border-top:1px solid #eeeeec;}
-#asidemain{float:left;font-size:small;margin:20px 0 20px 35px;width:25%;display:inline;}
+#asidemain{float:left;font-size:small;margin:1em;width:25%;display:inline;}
 #asideright,#asideleft{display:none;}
 .vcard .fn{font-size:1.5em;font-weight:bold;border-bottom:1px solid #284d7d;padding-bottom:3px;}
 .vcard #profile-photo-wrapper{margin:20px 0;background-color:#555753;padding:5px;width:175px;height:175px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 10px 0 #111111;-o-box-shadow:3px 3px 10px 0 #111111;-webkit-box-shadow:3px 3px 10px 0 #111111;-ms-box-shadow:3px 3px 10px 0 #111111;box-shadow:3px 3px 10px 0 #111111;}
@@ -187,7 +187,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #jot-title-display{font-weight:bold;}
 .jothidden{display:none;}
 #jot-preview-content{background-color:#f2f2c3;color:#111111;border:1px solid #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:5px 0 10px 0px #111111;-o-box-shadow:5px 0 10px 0px #111111;-webkit-box-shadow:5px 0 10px 0px #111111;-ms-box-shadow:5px 0 10px 0px #111111;box-shadow:5px 0 10px 0px #111111;padding:3px 3px 6px 10px;}#jot-preview-content .wall-item-outside-wrapper{border:0;-o-border-radius:0px 0px 0px 0px;-webkit-border-radius:0px 0px 0px 0px;-moz-border-radius:0px 0px 0px 0px;-ms-border-radius:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
-#sectionmain{margin:20px;font-size:0.8em;min-width:475px;width:67%;float:left;display:inline;}
+#sectionmain{margin:1em;font-size:0.8em;min-width:475px;width:69%;float:left;display:inline;}
 .tabs{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:10px 0;}.tabs li{display:inline;font-size:smaller;}
 .tab{border:1px solid #284d7d;padding:4px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}.tab:active,.tab:hover{background:#f2f2c3;color:#111111;border:1px solid #284d7d;}
 .tab a{border:0;text-decoration:none;}
@@ -203,7 +203,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 [id^="tread-wrapper"],[class^="tread-wrapper"]{margin:1.2em 0 0 0;padding:0px;}
 .wall-item-photo-menu{display:none;}
 .wall-item-photo-menu-button{display:none;text-indent:-99999px;background:#555753 url(light/menu-user-pin.jpg) no-repeat 75px center;position:absolute;overflow:hidden;width:90px;height:20px;top:85px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}
-.wall-item-info{float:left;width:8em;position:relative;}
+.wall-item-info{float:left;width:7em;position:relative;}
 .wall-item-photo-wrapper{width:80px;height:80px;position:relative;padding:5px;background-color:#555753;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
 [class^="wall-item-tools"] *{}[class^="wall-item-tools"] *>*{}
 .wall-item-tools{float:right;opacity:0.4;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}.wall-item-tools:hover{opacity:1;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}
@@ -223,14 +223,16 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 .wall-item-arrowphoto-wrapper{position:absolute;left:35px;top:80px;z-index:10002;}
 .wall-item-photo-menu{min-width:92px;font-size:0.75em;border:2px solid #555753;border-top:0px;background:#555753;position:absolute;left:-2px;top:101px;display:none;z-index:10003;-o-border-radius:0 5px 5px 5px;-webkit-border-radius:0 5px 5px 5px;-moz-border-radius:0 5px 5px 5px;-ms-border-radius:0 5px 5px 5px;border-radius:0 5px 5px 5px;}.wall-item-photo-menu li a{white-space:nowrap;display:block;padding:5px 6px;color:#eeeeec;}.wall-item-photo-menu li a:hover{color:#555753;background:#eeeeec;}
 #item-delete-selected{overflow:auto;width:100%;}
-#connect-services-header,#connect-services,#extra-help-header,#extra-help,#postit-header,#postit{margin:5px 0 0 0;}
+#connect-services-header,#extra-help-header{margin:1.5em 0 0 0;}
+#connect-services,#extra-help{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:1em 0 0 0;}#connect-services li,#extra-help li{display:inline;}
 .ccollapse-wrapper{font-size:0.9em;margin-left:5em;}
 .hide-comments-outer{font-size:small;}
-.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
+.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-info{width:5em;}
+.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
 .wall-item-outside-wrapper.comment .wall-item-photo-wrapper{width:40px;height:40px;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:50px;top:45px;background-position:35px center;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:4,5em;top:4em;background-position:35px center;}
 .wall-item-outside-wrapper.comment .wall-item-author{margin-left:0.2em;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:50px;top:60px;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:4.5em;top:5.5em;}
 .comment-wwedit-wrapper{border:1px solid #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:5px;}
 .comment-edit-wrapper{border-top:1px #aaa solid;}
 [class^="comment-edit-bb"]{margin:0px;padding:0px;list-style:none;list-style-position:inside;display:none;margin:-40px 0 5px 60px;width:75%;}[class^="comment-edit-bb"]>li{display:inline-block;margin:0 10px 0 0;visibility:none;}
index 045dadba5240ffd59ad7f8ddd1d1fc2a245c0b9b..72b3069a6c6ed7416114b6a6eb334a2903682df2 100644 (file)
@@ -316,7 +316,7 @@ h6 {
 [id$="-desc"] {
        color: @bg_colour;
        background: @dk_bg_colour;
-       .borders(3px, ridge, @main_colour);
+       .borders(2px, outset, @main_colour);
        .rounded_corners;
        // .box_shadow(3px, 3px, 5px);
     margin: 3px 10px 7px 0;
@@ -640,7 +640,7 @@ nav #nav-notifications-linkmenu {
        color: transparent;
        .rounded_corners;
        z-index: 100;
-       .box(300px, 60px);
+       .box(270px, 60px);
 }
 #nav-buttons {
        clear: both;
@@ -703,7 +703,7 @@ nav #nav-notifications-linkmenu {
 #user-menu {
        .box_shadow(5px, 0, 10px, 0);
        display: block;
-       width: 75%;
+       width: 80%;
        margin: 3px 0 0 0;
        position: relative;
        .rounded_corners;
@@ -873,7 +873,7 @@ nav #nav-notifications-linkmenu {
 #asidemain {
        float: left;
        font-size: small;
-       margin: 20px 0 20px 35px;
+       margin: 1em;
        width: 25%;
        display: inline;
 }
@@ -1230,10 +1230,10 @@ nav #nav-notifications-linkmenu {
  * section
  */
 #sectionmain {
-       margin: 20px;
+       margin: 1em;
        font-size: 0.8em;
        min-width: 475px;
-       width: 67%;
+       width: 69%;
        float: left;
        display: inline;
 }
@@ -1349,7 +1349,7 @@ nav #nav-notifications-linkmenu {
 }
 .wall-item-info {
        float: left;
-       width: 8em;
+       width: 7em;
        position: relative;
 }
 .wall-item-photo-wrapper {
@@ -1502,12 +1502,16 @@ nav #nav-notifications-linkmenu {
        width: 100%;
 }
 #connect-services-header,
+#extra-help-header {
+       margin: 1.5em 0 0 0;
+}
 #connect-services,
-#extra-help-header,
-#extra-help,
-#postit-header,
-#postit {
-       margin: 5px 0 0 0;
+#extra-help {
+       .list_reset;
+       margin: 1em 0 0 0;
+       li {
+               display: inline;
+       }
 }
 
 
@@ -1523,6 +1527,9 @@ nav #nav-notifications-linkmenu {
 }
 .wall-item-outside-wrapper.comment {
        margin-left: 5em;
+       .wall-item-info {
+               width: 5em;
+       }
        .wall-item-photo {
                width: 40px !important;
                height: 40px !important;
@@ -1531,16 +1538,16 @@ nav #nav-notifications-linkmenu {
                .box(40px, 40px);
        }
        .wall-item-photo-menu-button {
-               width: 50px;
-               top: 45px;
+               width: 4,5em;
+               top: 4em;
                background-position: 35px center;
        }
        .wall-item-author {
                margin-left: 0.2em;
        }
        .wall-item-photo-menu {
-               min-width: 50px;
-               top: 60px;
+               min-width: 4.5em;
+               top: 5.5em;
        }
 }
 .comment-wwedit-wrapper {
index df3cca042d22fd2eed2af1a3ef72cd25ae174859..94a699b703f072d238c95e57a538eefbc6c581cf 100644 (file)
@@ -3,7 +3,6 @@
 /*
  * Name: Dispy Light
  * Description: Dispy Light: Light, Spartan, Sleek, and Functional
- * Version: 1.2.1
  * Author: Simon <http://simon.kisikew.org/>
  * Maintainer: Simon <http://simon.kisikew.org/>
  * Screenshot: <a href="screenshot.jpg">Screenshot</a>
@@ -13,7 +12,6 @@ $a = get_app();
 $a->theme_info = array(
     'family' => 'dispy',
        'name' => 'light',
-       'version' => '1.2.1'
 );
 
 function dispy_light_init(&$a) {
index f666e27683643e6d0ffa16a12f9a49458f65e070..37565142507fda1b664c64bf4b2e9e8ea3c82857 100644 (file)
         $colour = get_pconfig(local_user(), "dispy", "colour");
     }
 
-    if ($line_height === false) { $line_height = $site_line_height; }
-    if ($line_height === false) { $line_height = "1.2"; }
-    if ($dispy_font_size === false) { $dispy_font_size = $site_dispy_font_size; }
-    if ($dispy_font_size === false) { $dispy_font_size = "12"; }
-    if ($colour === false) { $colour = $site_colour; }
-    if ($colour === false) { $colour = "light"; }
+    if ($line_height === false) {
+               $line_height = $site_line_height;
+       }
+    if ($line_height === false) {
+               $line_height = "1.2";
+       }
+    if ($dispy_font_size === false) {
+               $dispy_font_size = $site_dispy_font_size;
+       }
+    if ($dispy_font_size === false) {
+               $dispy_font_size = "12";
+       }
+    if ($colour === false) {
+               $colour = $site_colour;
+       }
+    if ($colour === false) {
+               $colour = "light";
+       }
     
     if($colour == "light") {
         if (file_exists("$THEMEPATH/light/style.css")) {
             echo file_get_contents("$THEMEPATH/light/style.css");
         }
-        if($dispy_font_size == "16") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 16px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 16px;
-                }";  
-        }
-        if($dispy_font_size == "15") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 15px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 15px;
-                }";
-        }      
-        if($dispy_font_size == "14") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 14px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 14px;
-                }";
-        }
-        if($dispy_font_size == "13.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 13.5px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 13.5px;
-                }";
-        }
-        if($dispy_font_size == "13") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 13px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 13px;
-                }";
-        }
-        if($dispy_font_size == "12.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 12.5px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 12.5px;
-                }";
-        }
-        if($dispy_font_size == "12") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 12px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 12px;
-                }";
-        }
-        if($line_height == "1.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.5;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.5;
-                }";
-        }      
-        if($line_height == "1.4") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.4;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.4;
-                }";
-        }
-        if($line_height == "1.3") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.3;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.3;
-                }";
-        }
-        if($line_height == "1.2") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.2;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.2;
-                }";
-        }
-        if($line_height == "1.1") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.1;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.1;
-                }";
-        }
     }
 
     if($colour == "dark") {
         if (file_exists("$THEMEPATH/dark/style.css")) { 
             echo file_get_contents("$THEMEPATH/dark/style.css");
         }
-        if($dispy_font_size == "16") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 16px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 16px;
-                }";  
-        }
-        if($dispy_font_size == "15") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 15px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 15px;
-                }";
-        }      
-        if($dispy_font_size == "14") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 14px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 14px;
-                }";
-        }
-        if($dispy_font_size == "13.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 13.5px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 13.5px;
-                }";
-        }
-        if($dispy_font_size == "13") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 13px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 13px;
-                }";
-        }
-        if($dispy_font_size == "12.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 12.5px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 12.5px;
-                }";
-        }
-        if($dispy_font_size == "12") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    font-size: 12px;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    font-size: 12px;
-                }";
-        }
-        if($line_height == "1.5") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.5;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.5;
-                }";
-        }      
-        if($line_height == "1.4"){
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.4;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.4;
-                }";
-        }
-        if($line_height == "1.3") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.3;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.3;
-                }";
-        }
-        if($line_height == "1.2") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.2;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.2;
-                }";
-        }
-        if($line_height == "1.1") {
-            echo "
-                .wall-item-container .wall-item-content {
-                    line-height: 1.1;
-                }
-                .wall-item-photo-container .wall-item-content {
-                    line-height: 1.1;
-                }";
-        }
-    }
+       }
 
+       if($dispy_font_size == "16") {
+               echo ".wall-item-content {
+                               font-size: 16px;
+                       }";
+       }
+       if($dispy_font_size == "15") {
+               echo ".wall-item-content {
+                               font-size: 15px;
+                       }";
+       }       
+       if($dispy_font_size == "14") {
+               echo ".wall-item-content {
+                               font-size: 14px;
+                       }";
+       }
+       if($dispy_font_size == "13.5") {
+               echo ".wall-item-content {
+                               font-size: 13.5px;
+                       }";
+       }
+       if($dispy_font_size == "13") {
+               echo ".wall-item-content {
+                               font-size: 13px;
+                       }";
+       }
+       if($dispy_font_size == "12.5") {
+               echo ".wall-item-content {
+                               font-size: 12.5px;
+                       }";
+       }
+       if($dispy_font_size == "12") {
+               echo ".wall-item-content {
+                               font-size: 12px;
+                       }";
+       }
+       if($line_height == "1.5") {
+               echo ".wall-item-content {
+                               line-height: 1.5;
+                       }";
+       }       
+       if($line_height == "1.4") {
+               echo ".wall-item-content {
+                               line-height: 1.4;
+                       }";
+       }
+       if($line_height == "1.3") {
+               echo ".wall-item-content {
+                               line-height: 1.3;
+                       }";
+       }
+       if($line_height == "1.2") {
+               echo ".wall-item-content {
+                               line-height: 1.2;
+                       }";
+       }
+       if($line_height == "1.1") {
+               echo ".wall-item-content {
+                               line-height: 1.1;
+                       }";
+       }
index deedc86f7aab6347114efb398b54366f1b97d55b..2d423a9280ec5e28547270375d4eb45841da4867 100644 (file)
@@ -20,7 +20,7 @@
 $a = get_app();
 $a->theme_info = array(
     'family' => 'dispy',
-       'version' => '1.2'
+       'version' => '1.2.2'
 );
 
 function dispy_init(&$a) {
index 0abf128a3f6acbd87d58b67e3df7c028be13cd1c..2f792977b526d8a1e625aa01b9080e1fff51caf0 100644 (file)
@@ -80,6 +80,7 @@ blockquote {
 .heart {
        color: #FF0000;
        font-size: 100%;
+       margin-right: 5px;
 }
 
 
@@ -338,6 +339,15 @@ div.wall-item-content-wrapper.shiny {
        font-weight: bold;
 }
 
+.settings-widget .selected {
+       padding: 3px;
+       -moz-border-radius: 3px;
+       border-radius: 3px;     
+       border: 1px solid #CCCCCC;
+       background: #F8F8F8;
+       font-weight: bold;
+}
+
 .fakelink:hover {
        color: #3465a4;
        text-decoration: underline;
@@ -809,8 +819,15 @@ input#dfrn-url {
        clear: both;
 }
 
+.settings-widget ul {
+       list-style-type: none;
+       padding: 0px;
+}
 
-
+.settings-widget li {
+       margin-left: 24px;
+       margin-bottom: 8px;
+}
 
 
 #gender-select, #marital-select, #sexual-select {
index 82ba795cdee11e4e7f1f5ca179d99d33aa674d48..39da7bb6c3c3348f5ae78d1659c5f1f749ab4332 100644 (file)
@@ -43,7 +43,7 @@ nav #site-location {
 #profile-jot-text_parent, .mceLayout {
        border-radius: 3px;
        -moz-border-radius: 3px;
-       box-shadow: 3px 3px 10px 0 #000000;
+       box-shadow: 4px 4px 3px 0 #444444;
 }
 
 #profile-jot-text:hover {
@@ -66,24 +66,34 @@ nav #site-location {
 .wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
        border-radius: 3px;
        -moz-border-radius: 3px;
-       box-shadow: 3px 3px 10px 0 #000000;
+       box-shadow: 4px 4px 3px 0 #444444;
 }
 
 #sidebar-page-list img {
        border-radius: 3px;
        -moz-border-radius: 3px;
-       box-shadow: 3px 3px 10px -2px #000000;
+       box-shadow: 4px 4px 3px 0 #444444;
 }
 
 .contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .fc, .profile-jot-text, .group-selected, .nets-selected, .fileas-selected, #profile-jot-submit, .categories-selected {
        border-radius: 3px;
        -moz-border-radius: 3px;
-       box-shadow: 3px 3px 10px 0 #000000;
+       box-shadow: 4px 4px 3px 0 #444444;
+}
+.settings-widget .selected {
+       border-radius: 3px;
+       -moz-border-radius: 3px;
+       box-shadow: 4px 4px 3px 0 #444444;
+}
+
+.photo {
+       border: 1px solid #AAAAAA;
 }
 
 .photo-top-photo, .photo-album-photo {
        padding: 10px;
        max-width: 300px;
+       border: 1px solid #888888;
 }
 
 .rotleft1 {