]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #938 from annando/master
authorfabrixxm <fabrix.xm@gmail.com>
Tue, 22 Apr 2014 14:15:42 +0000 (16:15 +0200)
committerfabrixxm <fabrix.xm@gmail.com>
Tue, 22 Apr 2014 14:15:42 +0000 (16:15 +0200)
API: Don't show own posts in mentions, some "vier" changes and provider name for diaspora

15 files changed:
include/api.php
include/bb2diaspora.php
include/bbcode.php
include/diaspora.php
include/profile_update.php
include/text.php
view/templates/diaspora_like.tpl
view/templates/diaspora_like_relay.tpl
view/templates/diaspora_photo.tpl
view/templates/diaspora_post.tpl
view/templates/diaspora_profile.tpl
view/templates/diaspora_relayable_retraction.tpl
view/templates/diaspora_retract.tpl
view/theme/vier/style.css
view/theme/vier/templates/profile_vcard.tpl

index 74586850f8d8f8a797916ea638bfb8bd09fec8f7..e94c689fb33bd2bc915b590d467d5cacde5195f9 100644 (file)
        $API = Array();
        $called_api = Null;
 
-        function api_user() {
-          // It is not sufficient to use local_user() to check whether someone is allowed to use the API,
-          // because this will open CSRF holes (just embed an image with src=friendicasite.com/api/statuses/update?status=CSRF
-          // into a page, and visitors will post something without noticing it).
-          // Instead, use this function.
-          if ($_SESSION["allow_api"])
-            return local_user();
-
-          return false;
-        }
+       function api_user() {
+               // It is not sufficient to use local_user() to check whether someone is allowed to use the API,
+               // because this will open CSRF holes (just embed an image with src=friendicasite.com/api/statuses/update?status=CSRF
+               // into a page, and visitors will post something without noticing it).
+               // Instead, use this function.
+               if ($_SESSION["allow_api"])
+                       return local_user();
+
+               return false;
+       }
 
        function api_date($str){
                //Wed May 23 06:01:13 +0000 2007
@@ -65,9 +65,9 @@
 
                // workaround for HTTP-auth in CGI mode
                if(x($_SERVER,'REDIRECT_REMOTE_USER')) {
-                       $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ;
+                       $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ;
                        if(strlen($userpass)) {
-                               list($name, $password) = explode(':', $userpass);
+                               list($name, $password) = explode(':', $userpass);
                                $_SERVER['PHP_AUTH_USER'] = $name;
                                $_SERVER['PHP_AUTH_PW'] = $password;
                        }
                if(count($r)){
                        $record = $r[0];
                } else {
-                  logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
-                   header('WWW-Authenticate: Basic realm="Friendica"');
-                   header('HTTP/1.0 401 Unauthorized');
-                   die('This api requires login');
+                       logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
+                       header('WWW-Authenticate: Basic realm="Friendica"');
+                       header('HTTP/1.0 401 Unauthorized');
+                       die('This api requires login');
                }
 
                require_once('include/security.php');
                                        case "json":
                                                header ("Content-Type: application/json");
                                                foreach($r as $rr)
-                                                   return json_encode($rr);
+                                                       return json_encode($rr);
                                                break;
                                        case "rss":
                                                header ("Content-Type: application/rss+xml");
                                        case "as":
                                                //header ("Content-Type: application/json");
                                                //foreach($r as $rr)
-                                               //    return json_encode($rr);
+                                               //      return json_encode($rr);
                                                return json_encode($r);
                                                break;
 
                // Add a nick if it isn't present there
                if (($uinfo[0]['nick'] == "") OR ($uinfo[0]['name'] == $uinfo[0]['nick'])) {
                        $uinfo[0]['nick'] = api_get_nick($uinfo[0]["url"]);
-                       //if ($uinfo[0]['nick'] != "")
-                       //      q("UPDATE contact SET nick = '%s' WHERE id = %d",
-                       //              dbesc($uinfo[0]['nick']), intval($uinfo[0]["id"]));
                }
 
                // Fetching unique id
        }
 
 /*Waitman Gobble Mod*/
-        function api_statuses_mediap(&$a, $type) {
-                if (api_user()===false) {
-                        logger('api_statuses_update: no user');
-                        return false;
-                }
-                $user_info = api_get_user($a);
-
-                $_REQUEST['type'] = 'wall';
-                $_REQUEST['profile_uid'] = api_user();
-                $_REQUEST['api_source'] = true;
-                $txt = requestdata('status');
-                //$txt = urldecode(requestdata('status'));
-
-                require_once('library/HTMLPurifier.auto.php');
-                require_once('include/html2bbcode.php');
-
-                if((strpos($txt,'<') !== false) || (strpos($txt,'>') !== false)) {
+       function api_statuses_mediap(&$a, $type) {
+               if (api_user()===false) {
+                       logger('api_statuses_update: no user');
+                       return false;
+               }
+               $user_info = api_get_user($a);
+
+               $_REQUEST['type'] = 'wall';
+               $_REQUEST['profile_uid'] = api_user();
+               $_REQUEST['api_source'] = true;
+               $txt = requestdata('status');
+               //$txt = urldecode(requestdata('status'));
+
+               require_once('library/HTMLPurifier.auto.php');
+               require_once('include/html2bbcode.php');
+
+               if((strpos($txt,'<') !== false) || (strpos($txt,'>') !== false)) {
                        $txt = html2bb_video($txt);
                        $config = HTMLPurifier_Config::createDefault();
-                        $config->set('Cache.DefinitionImpl', null);
+                       $config->set('Cache.DefinitionImpl', null);
                        $purifier = new HTMLPurifier($config);
-                        $txt = $purifier->purify($txt);
+                       $txt = $purifier->purify($txt);
                }
                $txt = html2bbcode($txt);
 
-                $a->argv[1]=$user_info['screen_name']; //should be set to username?
+               $a->argv[1]=$user_info['screen_name']; //should be set to username?
 
                $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo
-                require_once('mod/wall_upload.php');
+               require_once('mod/wall_upload.php');
                $bebop = wall_upload_post($a);
 
                //now that we have the img url in bbcode we can add it to the status and insert the wall item.
-                $_REQUEST['body']=$txt."\n\n".$bebop;
-                require_once('mod/item.php');
-                item_post($a);
-
-                // this should output the last post (the one we just posted).
-                return api_status_show($a,$type);
-        }
-        api_register_func('api/statuses/mediap','api_statuses_mediap', true);
+               $_REQUEST['body']=$txt."\n\n".$bebop;
+               require_once('mod/item.php');
+               item_post($a);
+
+               // this should output the last post (the one we just posted).
+               return api_status_show($a,$type);
+       }
+       api_register_func('api/statuses/mediap','api_statuses_mediap', true);
 /*Waitman Gobble Mod*/
 
 
                logger('api_status_show: user_info: '.print_r($user_info, true), LOGGER_DEBUG);
 
                // get last public wall message
-               //$lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `c`.`nick` as `reply_author`, `i`.`author-link` AS `item-author`
-               //              FROM `item`, `contact`, `item` as `i`, `contact` as `c`
-               //              WHERE `item`.`contact-id` = %d
-               //                      AND ((`item`.`author-link` IN ('%s', '%s')) OR (`item`.`owner-link` IN ('%s', '%s')))
-               //                      AND `i`.`id` = `item`.`parent`
-               //                      AND `contact`.`id`=`item`.`contact-id` AND `c`.`id`=`i`.`contact-id` AND `contact`.`self`=1
-               //                      AND `item`.`type`!='activity'
-               //                      AND `item`.`allow_cid`='' AND `item`.`allow_gid`='' AND `item`.`deny_cid`='' AND `item`.`deny_gid`=''
-               //              ORDER BY `item`.`created` DESC
-               //              LIMIT 1",
-               //              intval($user_info['cid']),
-               //              dbesc($user_info['url']),
-               //              dbesc(normalise_link($user_info['url'])),
-               //              dbesc($user_info['url']),
-               //              dbesc(normalise_link($user_info['url']))
-               //);
                $lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `i`.`author-link` AS `item-author`
                                FROM `item`, `item` as `i`
                                WHERE `item`.`contact-id` = %d
 
                $lastwall = q("SELECT `item`.*
                                FROM `item`, `contact`
-                               WHERE `item`.`uid` = %d AND `item`.`contact-id` = %d
+                               WHERE `item`.`uid` = %d AND `verb` = '%s' AND `item`.`contact-id` = %d
                                        AND ((`item`.`author-link` IN ('%s', '%s')) OR (`item`.`owner-link` IN ('%s', '%s')))
                                        AND `contact`.`id`=`item`.`contact-id`
                                        AND `type`!='activity'
                                ORDER BY `created` DESC
                                LIMIT 1",
                                intval(api_user()),
+                               dbesc(ACTIVITY_POST),
                                intval($user_info['cid']),
                                dbesc($user_info['url']),
                                dbesc(normalise_link($user_info['url'])),
                                dbesc($user_info['url']),
                                dbesc(normalise_link($user_info['url']))
                );
-//print_r($user_info);
                if (count($lastwall)>0){
                        $lastwall = $lastwall[0];
 
                        $in_reply_to_screen_name = NULL;
                        if ($lastwall['parent']!=$lastwall['id']) {
                                $reply = q("SELECT `item`.`id`, `item`.`contact-id` as `reply_uid`, `contact`.`nick` as `reply_author`, `item`.`author-link` AS `item-author`
-                                            FROM `item`,`contact` WHERE `contact`.`id`=`item`.`contact-id` AND `item`.`id` = %d", intval($lastwall['parent']));
+                                               FROM `item`,`contact` WHERE `contact`.`id`=`item`.`contact-id` AND `item`.`id` = %d", intval($lastwall['parent']));
                                if (count($reply)>0) {
                                        $in_reply_to_status_id = intval($lastwall['parent']);
                                        $in_reply_to_status_id_str = (string) intval($lastwall['parent']);
                        `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                        FROM `item`, `contact`
-                       WHERE `item`.`uid` = %d
+                       WHERE `item`.`uid` = %d AND `verb` = '%s'
                        AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
                        AND `contact`.`id` = `item`.`contact-id`
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        $sql_extra
                        AND `item`.`id`>%d
                        ORDER BY `item`.`id` DESC LIMIT %d ,%d ",
-                       //intval($user_info['uid']),
                        intval(api_user()),
+                       dbesc(ACTIVITY_POST),
                        intval($since_id),
                        intval($start), intval($count)
                );
                if ($conversation_id > 0)
                        $sql_extra .= ' AND `item`.`parent` = '.intval($conversation_id);
 
-               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `item`.`network` AS `item_network`,
-                       `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
-                       `contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
-                       `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
-                       `user`.`nickname`, `user`.`hidewall`
-                       FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
-                       INNER 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 `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+               $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `item`.`network` AS `item_network`,
+                       `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
+                       `contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
+                       `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
+                       `user`.`nickname`, `user`.`hidewall`
+                       FROM `item` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+                       STRAIGHT_JOIN `user` ON `user`.`uid` = `item`.`uid`
+                       WHERE `verb` = '%s' AND `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 `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        $sql_extra
                        AND `item`.`id`>%d
-                       ORDER BY `item`.`id` DESC LIMIT %d, %d ",
+                       ORDER BY `item`.`id` DESC LIMIT %d, %d ",
+                       dbesc(ACTIVITY_POST),
                        intval($since_id),
-                       intval($start),
-                       intval($count));
+                       intval($start),
+                       intval($count));
 
                $ret = api_format_items($r,$user_info);
 
                        FROM `item` INNER JOIN (SELECT `uri`,`parent` FROM `item` WHERE `id` = %d) AS `temp1`
                        ON (`item`.`thr-parent` = `temp1`.`uri` AND `item`.`parent` = `temp1`.`parent`), `contact`
                        WHERE `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
-                       AND `item`.`uid` = %d AND `contact`.`id` = `item`.`contact-id`
+                       AND `item`.`uid` = %d AND `item`.`verb` = '%s' AND `contact`.`id` = `item`.`contact-id`
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        AND `item`.`id`>%d $sql_extra
                        ORDER BY `item`.`id` DESC LIMIT %d ,%d",
                        intval($id), intval(api_user()),
-                        intval($since_id),
-                        intval($start), intval($count)
+                       dbesc(ACTIVITY_POST),
+                       intval($since_id),
+                       intval($start), intval($count)
                );
 
                if (!$r)
                $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` IN ('https://%s', 'http://%s') OR `mention`)",
-                       dbesc(protect_sprintf($myurl)),
-                       dbesc(protect_sprintf($myurl))
-               );
-
                if ($max_id > 0)
-                       $sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
+                       $sql_extra = ' AND `item`.`id` <= '.intval($max_id);
 
                $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `item`.`network` AS `item_network`,
                        `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`
                        FROM `item`, `contact`
-                       WHERE `item`.`uid` = %d
+                       WHERE `item`.`uid` = %d AND `verb` = '%s'
+                       AND NOT (`item`.`author-link` IN ('https://%s', 'http://%s'))
                        AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
                        AND `contact`.`id` = `item`.`contact-id`
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+                       AND `item`.`parent` IN (SELECT `iid` from thread where uid = %d AND `mention`)
                        $sql_extra
                        AND `item`.`id`>%d
                        ORDER BY `item`.`id` DESC LIMIT %d ,%d ",
-                       //intval($user_info['uid']),
+                       intval(api_user()),
+                       dbesc(ACTIVITY_POST),
+                       dbesc(protect_sprintf($myurl)),
+                       dbesc(protect_sprintf($myurl)),
                        intval(api_user()),
                        intval($since_id),
                        intval($start), intval($count)
                        `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                        `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                        FROM `item`, `contact`
-                       WHERE `item`.`uid` = %d
+                       WHERE `item`.`uid` = %d AND `verb` = '%s'
                        AND `item`.`contact-id` = %d
                        AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
                        AND `contact`.`id` = `item`.`contact-id`
                        AND `item`.`id`>%d
                        ORDER BY `item`.`id` DESC LIMIT %d ,%d ",
                        intval(api_user()),
+                       dbesc(ACTIVITY_POST),
                        intval($user_info['cid']),
                        intval($since_id),
                        intval($start), intval($count)
                                `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
                                `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
                                FROM `item`, `contact`
-                               WHERE `item`.`uid` = %d
+                               WHERE `item`.`uid` = %d AND `verb` = '%s'
                                AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
                                AND `item`.`starred` = 1
                                AND `contact`.`id` = `item`.`contact-id`
                                $sql_extra
                                AND `item`.`id`>%d
                                ORDER BY `item`.`id` DESC LIMIT %d ,%d ",
-                               //intval($user_info['uid']),
                                intval(api_user()),
+                               dbesc(ACTIVITY_POST),
                                intval($since_id),
                                intval($start), intval($count)
                        );
                        $singleitem["title"] = $item["text"];
                        $singleitem["verb"] = "post";
                        $singleitem["statusnet:notice_info"]["local_id"] = $item["id"];
-                               $singleitem["statusnet:notice_info"]["source"] = $item["source"];
-                               $singleitem["statusnet:notice_info"]["favorite"] = "false";
-                               $singleitem["statusnet:notice_info"]["repeated"] = "false";
-                               //$singleitem["original"] = $item;
-                               $items[] = $singleitem;
+                       $singleitem["statusnet:notice_info"]["source"] = $item["source"];
+                       $singleitem["statusnet:notice_info"]["favorite"] = "false";
+                       $singleitem["statusnet:notice_info"]["repeated"] = "false";
+                       //$singleitem["original"] = $item;
+                       $items[] = $singleitem;
                }
                $as['items'] = $items;
                $as['link']['url'] = $a->get_baseurl()."/".$user_info["screen_name"]."/all";
                                        '[url=https://www.youtube.com/watch?v=$1]https://www.youtube.com/watch?v=$1[/url]', $bbcode);
                $bbcode = preg_replace("/\[youtube\](.*?)\[\/youtube\]/ism",'[url=$1]$1[/url]',$bbcode);
 
-                $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism",
+               $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism",
                                        '[url=https://vimeo.com/$1]https://vimeo.com/$1[/url]', $bbcode);
                $bbcode = preg_replace("/\[vimeo\](.*?)\[\/vimeo\]/ism",'[url=$1]$1[/url]',$bbcode);
 
                        unset($status["user"]["self"]);
 
                        // 'geo' => array('type' => 'Point',
-                        //                   'coordinates' => array((float) $notice->lat,
-                        //                                          (float) $notice->lon));
-
-                       // Seesmic doesn't like the following content
-                       // completely disabled to make friendica totally compatible to the statusnet API
-                       /*if ($_SERVER['HTTP_USER_AGENT'] != 'Seesmic') {
-                               $status2 = array(
-                                       'updated'   => api_date($item['edited']),
-                                       'published' => api_date($item['created']),
-                                       'message_id' => $item['uri'],
-                                       'url'           => ($item['plink']!=''?$item['plink']:$item['author-link']),
-                                       'coordinates' => $item['coord'],
-                                       'place' => $item['location'],
-                                       'contributors' => '',
-                                       'annotations'  => '',
-                                       'entities'  => '',
-                                       'objecttype' => (($item['object-type']) ? $item['object-type'] : ACTIVITY_OBJ_NOTE),
-                                       'verb' => (($item['verb']) ? $item['verb'] : ACTIVITY_POST),
-                                       'self' => $a->get_baseurl()."/api/statuses/show/".$item['id'].".".$type,
-                                       'edit' => $a->get_baseurl()."/api/statuses/show/".$item['id'].".".$type,
-                               );
-
-                               $status = array_merge($status, $status2);
-                       }*/
+                       //                   'coordinates' => array((float) $notice->lat,
+                       //                                          (float) $notice->lon));
 
                        $ret[] = $status;
                };
@@ -2400,7 +2362,7 @@ function api_get_nick($profile) {
        // To-Do: look at the page if its really a pumpio site
        //if (!$nick == "") {
        //      $pumpio = preg_replace("=https?://(.*)/(.*)/=ism", "$2", $profile."/");
-        //     if ($pumpio != $profile)
+       //      if ($pumpio != $profile)
        //              $nick = $pumpio;
                //      <div class="media" id="profile-block" data-profile-id="acct:kabniel@microca.st">
 
@@ -2412,7 +2374,7 @@ function api_get_nick($profile) {
                return($nick);
        }
 
-        return(false);
+       return(false);
 }
 
 function api_clean_plain_items($Text) {
index 5b990bf0dfd40ed61fe71835d7b2ded5c3844957..0ffbf0a14464fd8d4dc2bf9f2ab63953c4147bcf 100644 (file)
@@ -15,37 +15,24 @@ require_once("include/markdownify/markdownify.php");
 
 function diaspora2bb($s) {
 
-       // for testing purposes: Collect raw markdown articles
-       // $file = tempnam("/tmp/friendica/", "markdown");
-       // file_put_contents($file, $s);
-
        $s = html_entity_decode($s,ENT_COMPAT,'UTF-8');
 
-       // Too many new lines. So deactivated the following line
-       // $s = str_replace("\r","\n",$s);
        // Simply remove cr.
        $s = str_replace("\r","",$s);
 
        // <br/> is invalid. Replace it with the valid expression
-       logger("diaspora2bb: 1: ".$s);
        $s = str_replace(array("<br/>", "</p>", "<p>"),array("<br />", "<br />", "<br />"),$s);
-       logger("diaspora2bb: 2: ".$s);
 
        $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s);
 
-       // Escaping the hash tags - doesn't always seem to work
-       // $s = preg_replace('/\#([^\s\#])/','\\#$1',$s);
-       // This seems to work
+       // Escaping the hash tags
        $s = preg_replace('/\#([^\s\#])/','&#35;$1',$s);
 
        $s = Markdown($s);
 
        $s = str_replace('&#35;','#',$s);
-// we seem to have double linebreaks
-//     $s = str_replace("\n",'<br />',$s);
 
        $s = html2bbcode($s);
-//     $s = str_replace('&#42;','*',$s);
 
        // protect the recycle symbol from turning into a tag, but without unescaping angles and naked ampersands
        $s = str_replace('&#x2672;',html_entity_decode('&#x2672;',ENT_QUOTES,'UTF-8'),$s);
@@ -67,82 +54,12 @@ function diaspora2bb($s) {
        return $s;
 }
 
-
-function stripdcode_br_cb($s) {
-       return '[code]' . str_replace('<br />', "\n\t", $s[1]) . '[/code]';
-}
-
-
-//////////////////////
-// The following "diaspora_ul" and "diaspora_ol" are only appropriate for the
-// pre-Markdownify conversion. If Markdownify isn't used, use the non-Markdownify
-// versions below
-//////////////////////
-/*
-function diaspora_ul($s) {
-       // Replace "[*]" followed by any number (including zero) of
-       // spaces by "* " to match Diaspora's list format
-       if( strpos($s[0], "[list]") === 0 )
-               return '<ul class="listbullet" style="list-style-type: circle;">' . preg_replace("/\[\*\]( *)/", "* ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[ul]") === 0 )
-               return '<ul class="listbullet" style="list-style-type: circle;">' . preg_replace("/\[\*\]( *)/", "* ", $s[1]) . '</ul>';
-       else
-               return $s[0];
-}
-
-
-function diaspora_ol($s) {
-       // A hack: Diaspora will create a properly-numbered ordered list even
-       // if you use '1.' for each element of the list, like:
-       //              1. First element
-       //              1. Second element
-       //              1. Third element
-       if( strpos($s[0], "[list=1]") === 0 )
-               return '<ul class="listdecimal" style="list-style-type: decimal;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[list=i]") === 0 )
-               return '<ul class="listlowerroman" style="list-style-type: lower-roman;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[list=I]") === 0 )
-               return '<ul class="listupperroman" style="list-style-type: upper-roman;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[list=a]") === 0 )
-               return '<ul class="listloweralpha" style="list-style-type: lower-alpha;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[list=A]") === 0 )
-               return '<ul class="listupperalpha" style="list-style-type: upper-alpha;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       elseif( strpos($s[0], "[ol]") === 0 )
-               return '<ul class="listdecimal" style="list-style-type: decimal;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
-       else
-               return $s[0];
-}
-*/
-
-//////////////////////
-// Non-Markdownify versions of "diaspora_ol" and "diaspora_ul"
-//////////////////////
-function diaspora_ul($s) {
-       // Replace "[\\*]" followed by any number (including zero) of
-       // spaces by "* " to match Diaspora's list format
-       return preg_replace("/\[\\\\\*\]( *)/", "* ", $s[1]);
-}
-
-function diaspora_ol($s) {
-       // A hack: Diaspora will create a properly-numbered ordered list even
-       // if you use '1.' for each element of the list, like:
-       // 1. First element
-       // 1. Second element
-       // 1. Third element
-       return preg_replace("/\[\\\\\*\]( *)/", "1. ", $s[1]);
-}
-
-
 function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
 
        // Since Diaspora is creating a summary for links, this function removes them before posting
        if ($fordiaspora)
                $Text = bb_remove_share_information($Text);
 
-       // Re-enabling the converter again.
-       // The bbcode parser now handles youtube-links (and the other stuff) correctly.
-       // Additionally the html code is now fixed so that lists are now working.
-
        /**
         * Transform #tags, strip off the [url] and replace spaces with underscore
         */
@@ -154,21 +71,14 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
        // Converting images with size parameters to simple images. Markdown doesn't know it.
        $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $Text);
 
-       // the following was added on 10-January-2012 due to an inability of Diaspora's
-       // new javascript markdown processor to handle links with images as the link "text"
-       // It is not optimal and may be removed if this ability is restored in the future
-       //if ($fordiaspora)
-       //      $Text = preg_replace("/\[url\=([^\[\]]*)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\]/ism",
-       //                              "[url]$1[/url]\n[img]$2[/img]", $Text);
-
-       // Remove the avatar picture since that isn't looking good on the other side
-       //$Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text);
-
        // Convert it to HTML - don't try oembed
        if ($fordiaspora)
                $Text = bbcode($Text, $preserve_nl, false, 3);
-       else
+       else {
                $Text = bbcode($Text, $preserve_nl, false, 4);
+               // Libertree doesn't convert a harizontal rule if there isn't a linefeed
+               $Text = str_replace("<hr />", "\n<hr />", $Text);
+       }
 
        // Now convert HTML to Markdown
        $md = new Markdownify(false, false, false);
@@ -199,185 +109,6 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
        // Remove all unconverted tags
        $Text = strip_tags($Text);
 
-
-/* Old routine
-
-       $ev = bbtoevent($Text);
-
-       // Replace any html brackets with HTML Entities to prevent executing HTML or script
-       // Don't use strip_tags here because it breaks [url] search by replacing & with amp
-
-       $Text = str_replace("<", "&lt;", $Text);
-       $Text = str_replace(">", "&gt;", $Text);
-
-       // If we find any event code, turn it into an event.
-       // After we're finished processing the bbcode we'll
-       // replace all of the event code with a reformatted version.
-
-       if($preserve_nl)
-               $Text = str_replace(array("\n","\r"), array('',''),$Text);
-       else
-               // Remove the "return" character, as Diaspora uses only the "newline"
-               // character, so having the "return" character can cause signature
-               // failures
-               $Text = str_replace("\r", "", $Text);
-
-
-       // Set up the parameters for a URL search string
-       $URLSearchString = "^\[\]";
-       // Set up the parameters for a MAIL search string
-       $MAILSearchString = $URLSearchString;
-
-       // Perform URL Search
-
-       // [img]pathtoimage[/img]
-
-       // the following was added on 10-January-2012 due to an inability of Diaspora's
-       // new javascript markdown processor to handle links with images as the link "text"
-       // It is not optimal and may be removed if this ability is restored in the future
-
-       $Text = preg_replace("/\[url\=([$URLSearchString]*)\]\[img\](.*?)\[\/img\]\[\/url\]/ism",
-               '![' . t('image/photo') . '](' . '$2' . ')' . "\n" . '[' . t('link') . '](' . '$1' . ')', $Text);
-
-       $Text = preg_replace("/\[bookmark\]([$URLSearchString]*)\[\/bookmark\]/ism", '[$1]($1)', $Text);
-       $Text = preg_replace("/\[bookmark\=([$URLSearchString]*)\](.*?)\[\/bookmark\]/ism", '[$2]($1)', $Text);
-
-       $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '[$1]($1)', $Text);
-       $Text = preg_replace("/\#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[#$2]($1)', $Text);
-       $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[$2]($1)', $Text);
-
-
-       $Text = preg_replace("/\[img\](.*?)\[\/img\]/", '![' . t('image/photo') . '](' . '$1' . ')', $Text);
-       $Text = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/", '![' . t('image/photo') . '](' . '$2' . ')', $Text);
-
-       // Perform MAIL Search
-       $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '[$1](mailto:$1)', $Text);
-       $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '[$2](mailto:$1)', $Text);
-
-       $Text = str_replace('*', '\\*', $Text);
-       $Text = str_replace('_', '\\_', $Text);
-
-       $Text = str_replace('`','\\`', $Text);
-
-       // Check for bold text
-       $Text = preg_replace("(\[b\](.*?)\[\/b\])is",'**$1**',$Text);
-
-       // Check for italics text
-       $Text = preg_replace("(\[i\](.*?)\[\/i\])is",'_$1_',$Text);
-
-       // Check for underline text
-       // Replace with italics since Diaspora doesn't have underline
-       $Text = preg_replace("(\[u\](.*?)\[\/u\])is",'_$1_',$Text);
-
-       // Check for strike-through text
-       $Text = preg_replace("(\[s\](.*?)\[\/s\])is",'**[strike]**$1**[/strike]**',$Text);
-
-       // Check for over-line text
-//     $Text = preg_replace("(\[o\](.*?)\[\/o\])is",'<span class="overline">$1</span>',$Text);
-
-       // Check for colored text
-       // Remove color since Diaspora doesn't support it
-       $Text = preg_replace("(\[color=(.*?)\](.*?)\[\/color\])is","$2",$Text);
-
-       // Check for sized text
-       // Remove it since Diaspora doesn't support sizes very well
-       $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])is","$2",$Text);
-
-       // Check for list text
-       $endlessloop = 0;
-       while ((((strpos($Text, "[/list]") !== false) && (strpos($Text, "[list") !== false)) ||
-              ((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) || 
-              ((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) || 
-              ((strpos($Text, "[/li]") !== false) && (strpos($Text, "[li]") !== false))) && (++$endlessloop < 20)) {
-               $Text = preg_replace_callback("/\[list\](.*?)\[\/list\]/is", 'diaspora_ul', $Text);
-               $Text = preg_replace_callback("/\[list=1\](.*?)\[\/list\]/is", 'diaspora_ol', $Text);
-               $Text = preg_replace_callback("/\[list=i\](.*?)\[\/list\]/s",'diaspora_ol', $Text);
-               $Text = preg_replace_callback("/\[list=I\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
-               $Text = preg_replace_callback("/\[list=a\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
-               $Text = preg_replace_callback("/\[list=A\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
-               $Text = preg_replace_callback("/\[ul\](.*?)\[\/ul\]/is", 'diaspora_ul', $Text);
-               $Text = preg_replace_callback("/\[ol\](.*?)\[\/ol\]/is", 'diaspora_ol', $Text);
-               $Text = preg_replace("/\[li\]( *)(.*?)\[\/li\]/s", '* $2' ,$Text);
-       }
-
-       // Just get rid of table tags since Diaspora doesn't support tables
-       $Text = preg_replace("/\[th\](.*?)\[\/th\]/s", '$1' ,$Text);
-       $Text = preg_replace("/\[td\](.*?)\[\/td\]/s", '$1' ,$Text);
-       $Text = preg_replace("/\[tr\](.*?)\[\/tr\]/s", '$1' ,$Text);
-       $Text = preg_replace("/\[table\](.*?)\[\/table\]/s", '$1' ,$Text);
-
-       $Text = preg_replace("/\[table border=(.*?)\](.*?)\[\/table\]/s", '$2' ,$Text);
-//     $Text = preg_replace("/\[table border=0\](.*?)\[\/table\]/s", '<table border="0" >$1</table>' ,$Text);
-
-
-//     $Text = str_replace("[*]", "<li>", $Text);
-
-       // Check for font change text
-//     $Text = preg_replace("(\[font=(.*?)\](.*?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);
-
-
-       $Text = preg_replace_callback("/\[code\](.*?)\[\/code\]/is",'stripdcode_br_cb',$Text);
-
-       // Check for [code] text
-       $Text = preg_replace("/(\[code\])+(.*?)(\[\/code\])+/is","\t$2\n", $Text);
-
-
-
-
-       // Declare the format for [quote] layout
-       //      $QuoteLayout = '<blockquote>$1</blockquote>';
-       // Check for [quote] text
-       $Text = preg_replace("/\[quote\](.*?)\[\/quote\]/is",">$1\n\n", $Text);
-       $Text = preg_replace("/\[quote=(.*?)\](.*?)\[\/quote\]/is",">$2\n\n", $Text);
-
-       // Images
-
-       // html5 video and audio
-
-       $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '$1', $Text);
-
-       $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '$1', $Text);
-
-//     $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/", '<iframe src="$1" width="425" height="350"><a href="$1">$1</a></iframe>', $Text);
-
-       // [img=widthxheight]image source[/img]
-//     $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/", '<img src="$3" style="height:{$2}px; width:{$1}px;" >', $Text);
-
-       $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'http://www.youtube.com/watch?v=$1',$Text); 
-       $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'http://www.youtube.com/watch?v=$1',$Text); 
-       $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'http://www.youtube.com/watch?v=$1',$Text); 
-       $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", 'http://www.youtube.com/watch?v=$1', $Text);
-
-       $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'http://vimeo.com/$1',$Text); 
-       $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism",'http://vimeo.com/$1',$Text); 
-       $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", 'http://vimeo.com/$1',$Text);
-
-
-       $Text = str_replace('[nosmile]','',$Text);
-
-       // oembed tag
-       //      $Text = oembed_bbcode2html($Text);
-
-       // If we found an event earlier, strip out all the event code and replace with a reformatted version.
-
-       if(x($ev,'start')) {
-
-               $sub = format_event_diaspora($ev);
-
-               $Text = preg_replace("/\[event\-summary\](.*?)\[\/event\-summary\]/is",'',$Text);
-               $Text = preg_replace("/\[event\-description\](.*?)\[\/event\-description\]/is",'',$Text);
-               $Text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/is",$sub,$Text);
-               $Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/is",'',$Text);
-               $Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/is",'',$Text);
-               $Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",'',$Text);
-       }
-
-       $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
-
-       $Text = preg_replace_callback('/\[(.*?)\]\((.*?)\)/ism','unescape_underscores_in_links',$Text);
-
-*/
-
        // Remove any leading or trailing whitespace, as this will mess up
        // the Diaspora signature verification and cause the item to disappear
        $Text = trim($Text);
index 342cd7be5f208d60997e8599c7a4c208b15a8b7d..308cbf1be18925ca9b51873a7dfd915a89d9a709 100644 (file)
@@ -520,7 +520,8 @@ function bb_ShareAttributesSimple2($match) {
 
        $userid = GetProfileUsername($profile,$author);
 
-        $text = "<br />".html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$userid."</a>: <br />".$match[2];
+        //$text = "<br />".html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$userid."</a>: <br />".$match[2];
+        $text = "<br />".html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8').' '.$userid.": <br />".$match[2];
 
         return($text);
 }
index feb57a04045ec5c0a4630d5a1e561a6c0b71129e..4db8ea321bca659f0a3527e1e20686a3d68a6e79 100755 (executable)
@@ -262,7 +262,7 @@ function diaspora_pubmsg_build($msg,$user,$contact,$prvkey,$pubkey) {
 
        logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
 
-       
+
        $handle = $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
 
 //     $b64_data = base64_encode($msg);
@@ -276,7 +276,7 @@ function diaspora_pubmsg_build($msg,$user,$contact,$prvkey,$pubkey) {
        $encoding = 'base64url';
        $alg = 'RSA-SHA256';
 
-       $signable_data = $data  . '.' . base64url_encode($type) . '.' 
+       $signable_data = $data  . '.' . base64url_encode($type) . '.'
                . base64url_encode($encoding) . '.' . base64url_encode($alg) ;
 
        $signature = rsa_sign($signable_data,$prvkey);
@@ -345,7 +345,7 @@ function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey,$public = false)
        $encoding = 'base64url';
        $alg = 'RSA-SHA256';
 
-       $signable_data = $data  . '.' . base64url_encode($type) . '.' 
+       $signable_data = $data  . '.' . base64url_encode($type) . '.'
                . base64url_encode($encoding) . '.' . base64url_encode($alg) ;
 
        $signature = rsa_sign($signable_data,$prvkey);
@@ -713,7 +713,7 @@ function diaspora_request($importer,$xml) {
 
                $photos = import_profile_photo($contact_record['photo'],$importer['uid'],$contact_record['id']);
 
-               // technically they are sharing with us (CONTACT_IS_SHARING), 
+               // technically they are sharing with us (CONTACT_IS_SHARING),
                // but if our page-type is PAGE_COMMUNITY or PAGE_SOAPBOX
                // we are going to change the relationship and make them a follower.
 
@@ -1603,7 +1603,7 @@ function diaspora_conversation($importer,$xml,$msg) {
                        'verb' => ACTIVITY_POST,
                        'otype' => 'mail'
                ));
-       }       
+       }
 
        return;
 }
@@ -2301,7 +2301,7 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
                                $body .= '[' . $mtch[3] . '](' . $mtch[1] . ')' . "\n";
                        }
                }
-       }       
+       }
 
 
        $public = (($item['private']) ? 'false' : 'true');
@@ -2309,13 +2309,17 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
        require_once('include/datetime.php');
        $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
 
+       // To-Do
+       // Detect a share element and do a reshare
+       // see: https://github.com/Raven24/diaspora-federation/blob/master/lib/diaspora-federation/entities/reshare.rb
        $tpl = get_markup_template('diaspora_post.tpl');
        $msg = replace_macros($tpl, array(
                '$body' => $body,
                '$guid' => $item['guid'],
                '$handle' => xmlify($myaddr),
                '$public' => $public,
-               '$created' => $created
+               '$created' => $created,
+               '$provider' => $item["app"]
        ));
 
        logger('diaspora_send_status: ' . $owner['username'] . ' -> ' . $contact['name'] . ' base message: ' . $msg, LOGGER_DATA);
index 611b00819da3a161ca798b359c6bebac75434090..9da96442cb1930058cdaa9b67f5fa1fa599c0b85 100644 (file)
@@ -7,7 +7,7 @@ require_once('include/queue_fn.php');
 function profile_change() {
 
        $a = get_app();
-       
+
        if(! local_user())
                return;
 
@@ -29,7 +29,7 @@ function profile_change() {
                WHERE `user`.`uid` = %d AND `profile`.`is-default` = 1 LIMIT 1",
                intval(local_user())
        );
-       
+
        if(! count($r))
                return;
        $profile = $r[0];
index 052207842f9779142c503bc86515a2c60e340cb4..d515f28ca64266fd26e4dbda30ad6544be06c456 100644 (file)
@@ -753,7 +753,7 @@ function get_tags($s) {
        // Otherwise pull out single word tags. These can be @nickname, @first_last
        // and #hash tags.
 
-       if(preg_match_all('/([@#][^ \x0D\x0A,;:?]+)([ \x0D\x0A,;:?]|$)/',$s,$match)) {
+       if(preg_match_all('/([!#@][^ \x0D\x0A,;:?]+)([ \x0D\x0A,;:?]|$)/',$s,$match)) {
                foreach($match[1] as $mtch) {
                        if(strstr($mtch,"]")) {
                                // we might be inside a bbcode color tag - leave it alone
@@ -2172,7 +2172,7 @@ function normalise_openid($s) {
 
 function undo_post_tagging($s) {
        $matches = null;
-       $cnt = preg_match_all('/([@#])\[url=(.*?)\](.*?)\[\/url\]/ism',$s,$matches,PREG_SET_ORDER);
+       $cnt = preg_match_all('/([!#@])\[url=(.*?)\](.*?)\[\/url\]/ism',$s,$matches,PREG_SET_ORDER);
        if($cnt) {
                foreach($matches as $mtch) {
                        $s = str_replace($mtch[0], $mtch[1] . $mtch[3],$s);
index 1d58d5d3f3dacf86bcf5b0ae8a920b398b15b697..b35ec46adf84ab4fe71eb91a2ccc4ffc71b42ef6 100644 (file)
@@ -6,11 +6,11 @@
 <XML>
   <post>
     <like>
-      <target_type>{{$target_type}}</target_type>
+      <positive>{{$positive}}</positive>
       <guid>{{$guid}}</guid>
+      <target_type>{{$target_type}}</target_type>
       <parent_guid>{{$parent_guid}}</parent_guid>
       <author_signature>{{$authorsig}}</author_signature>
-      <positive>{{$positive}}</positive>
       <diaspora_handle>{{$handle}}</diaspora_handle>
     </like>
   </post>
index 7a55d8b203ed60034a238a95a1f59c571d6f6d89..379bf0f459e418857fd8c25aba94a51ec912267c 100644 (file)
@@ -6,12 +6,12 @@
 <XML>
   <post>
     <like>
+      <positive>{{$positive}}</positive>
       <guid>{{$guid}}</guid>
       <target_type>{{$target_type}}</target_type>
       <parent_guid>{{$parent_guid}}</parent_guid>
       <parent_author_signature>{{$parentsig}}</parent_author_signature>
       <author_signature>{{$authorsig}}</author_signature>
-      <positive>{{$positive}}</positive>
       <diaspora_handle>{{$handle}}</diaspora_handle>
     </like>
   </post>
index b6220346c4b240b5581c6a72e12c9ccb772e2e3d..258a9c2f4a500d23deb1f06f1a521f051b7b5678 100644 (file)
@@ -6,13 +6,13 @@
 <XML>
   <post>
     <photo>
-      <remote_photo_path>{{$path}}</remote_photo_path>
-      <remote_photo_name>{{$filename}}</remote_photo_name>
-      <status_message_guid>{{$msg_guid}}</status_message_guid>
       <guid>{{$guid}}</guid>
       <diaspora_handle>{{$handle}}</diaspora_handle>
       <public>{{$public}}</public>
       <created_at>{{$created_at}}</created_at>
+      <remote_photo_path>{{$path}}</remote_photo_path>
+      <remote_photo_name>{{$filename}}</remote_photo_name>
+      <status_message_guid>{{$msg_guid}}</status_message_guid>
     </photo>
   </post>
-</XML>
\ No newline at end of file
+</XML>
index 2817f7d4a0d768398286f54eeebefe69b6c4e0c9..b5a79c1949bea8273041dc473637570db607ae67 100644 (file)
@@ -11,6 +11,7 @@
       <diaspora_handle>{{$handle}}</diaspora_handle>
       <public>{{$public}}</public>
       <created_at>{{$created}}</created_at>
+      <provider_display_name>{{$provider}}</provider_display_name>
     </status_message>
   </post>
-</XML>
\ No newline at end of file
+</XML>
index 11aaf10550753ecbe4deb508fae11fe5a34709ca..e57b82820e5a11c2243fff8e7dcf2e9c73652c6e 100644 (file)
@@ -9,13 +9,13 @@
   <first_name>{{$first}}</first_name>
   <last_name>{{$last}}</last_name>
   <image_url>{{$large}}</image_url>
-  <image_url_small>{{$small}}</image_url_small>
   <image_url_medium>{{$medium}}</image_url_medium>
+  <image_url_small>{{$small}}</image_url_small>
   <birthday>{{$dob}}</birthday>
   <gender>{{$gender}}</gender>
   <bio>{{$about}}</bio>
   <location>{{$location}}</location>
   <searchable>{{$searchable}}</searchable>
   <tag_string>{{$tags}}</tag_string>
-</profile></post>
-      </XML>
+ </profile></post>
+</XML>
index 138cbdb317482edb364a6264f07f3720f1d26414..c25e13db1167e4c183c1f863dd0108688f15d49f 100644 (file)
@@ -6,11 +6,11 @@
 <XML>
   <post>
     <relayable_retraction>
-      <target_type>{{$target_type}}</target_type>
-      <target_guid>{{$guid}}</target_guid>
       <parent_author_signature>{{$parentsig}}</parent_author_signature>
-      <target_author_signature>{{$authorsig}}</target_author_signature>
+      <target_guid>{{$guid}}</target_guid>
+      <target_type>{{$target_type}}</target_type>
       <sender_handle>{{$handle}}</sender_handle>
+      <target_author_signature>{{$authorsig}}</target_author_signature>
     </relayable_retraction>
   </post>
 </XML>
index 103bfc9d5ca2040e878fbe5e3aba42394ec26ea8..345f4bcb66fa082ed19dcd09bb2186735b4f29d7 100644 (file)
@@ -7,8 +7,8 @@
   <post>
     <retraction>
       <post_guid>{{$guid}}</post_guid>
-      <type>{{$type}}</type>
       <diaspora_handle>{{$handle}}</diaspora_handle>
+      <type>{{$type}}</type>
     </retraction>
   </post>
-</XML>
\ No newline at end of file
+</XML>
index 2ff3bbd15e92e5268a0932b03a2139f6e80393e5..ce1467844b496a3ab49837fc376efc615736a977 100644 (file)
@@ -1244,9 +1244,13 @@ position: relative;
   overflow: hidden;
   border-left: 0px;
   padding-left: 0px;
+  font-size: 13px;
+  line-height: normal;
 }
 .type-link .oembed, .type-video .oembed {
-  font-size: inherit;
+  font-size: 18px;
+  font-weight: 300;
+  line-height: normal;
 }
 .type-link img, .type-video img {
 /* position: absolute;
@@ -1259,6 +1263,10 @@ top: 0; */
   display: none;
 }
 
+h2 {
+  line-height: normal;
+}
+
 .wall-item-container .wall-item-content {
   /* font-size: 14px; */
   max-width: 660px;
@@ -1339,7 +1347,7 @@ top: 0; */
   transition: all 0.2s ease-in-out;
 }
 
-/* .wall-item-container .wall-item-content a, */
+.wall-item-container .wall-item-content a,
 .toplevel_item .fakelink,
 .wall-item-container .fakelink {
   color: black;
@@ -2024,7 +2032,7 @@ ul.tabs a:hover, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active
   width: 200px;
 }
 .field input, .field textarea {
-  width: 400px;
+  max-width: 400px;
 }
 .field textarea {
   height: 100px;
@@ -2069,6 +2077,12 @@ ul.tabs a:hover, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active
 .field.radio .field_help {
   margin-left: 0px;
 }
+aside form {
+  overflow-x: hidden;
+}
+aside form .field label {
+  float: inherit;
+}
 
 #profile-edit-links-end {
         clear: both;
index 0a546425287919ca2e3c1bc0be24c35476a4d446..49d031e07cb16a35fb6aa6e46d1000ce859620ff 100644 (file)
@@ -39,9 +39,9 @@
                        <span class="city-state-zip">
                                <span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}}
                                <span class="region">{{$profile.region}}</span>
-                               <span class="postal-code">{{$profile.postal-code}}</span>
+                               <span class="postal-code">{{$profile.postal_code}}</span>
                        </span>
-                       {{if $profile.country-name}}<span class="country-name">{{$profile.country-name}}</span>{{/if}}
+                       {{if $profile.country_name}}<span class="country-name">{{$profile.country_name}}</span>{{/if}}
                </dd>
                </dl>
        {{/if}}