From be1bd9ff4e725f7e60b05acd415aee892e97f956 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:19:29 -0700 Subject: [PATCH 01/22] notification for disapora comments --- include/diaspora.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/diaspora.php b/include/diaspora.php index dca857a198..19bba52168 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1159,6 +1159,48 @@ function diaspora_comment($importer,$xml,$msg) { proc_run('php','include/notifier.php','comment',$message_id); } + + $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ", + dbesc($parent_item['uri']), + intval($importer['uid']) + ); + + if(count($myconv)) { + $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; + + foreach($myconv as $conv) { + + // now if we find a match, it means we're in this conversation + + if(! link_compare($conv['author-link'],$importer_url)) + continue; + + require_once('include/enotify.php'); + + $conv_parent = $conv['parent']; + + notification(array( + 'type' => NOTIFY_COMMENT, + 'notify_flags' => $importer['notify-flags'], + 'language' => $importer['language'], + 'to_name' => $importer['username'], + 'to_email' => $importer['email'], + 'uid' => $importer['uid'], + 'item' => $datarray, + 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, + 'source_name' => $datarray['author-name'], + 'source_link' => $datarray['author-link'], + 'source_photo' => $datarray['author-avatar'], + 'verb' => ACTIVITY_POST, + 'otype' => 'item', + 'parent' => $conv_parent, + + )); + + // only send one notification + break; + } + } return; } From 805087af678f922ad75535fa8dbe0fc86d9cd566 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:41:29 -0700 Subject: [PATCH 02/22] whitespace --- include/items.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/items.php b/include/items.php index 68acb45f9b..5e1fec5578 100755 --- a/include/items.php +++ b/include/items.php @@ -2026,6 +2026,7 @@ function local_delivery($importer,$data) { if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTVITY_OBJ_TAGTERM)) { $xo = parse_xml_string($item['object'],false); $xt = parse_xml_string($item['target'],false); + if($xt->type === ACTIVITY_OBJ_NOTE) { $i = q("select * from `item` where uri = '%s' and uid = %d limit 1", dbesc($xt->id), From 224dfa848bf2659ba038b6e519692d3755eb7bed Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:51:04 -0700 Subject: [PATCH 03/22] bug #335 network search broken after new ssl policy settings --- include/text.php | 2 +- mod/network.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/text.php b/include/text.php index d34fd7fbee..cdf82ca87d 100644 --- a/include/text.php +++ b/include/text.php @@ -638,7 +638,7 @@ if(! function_exists('search')) { function search($s,$id='search-box',$url='/search',$save = false) { $a = get_app(); $o = '
'; - $o .= '
'; + $o .= ''; $o .= ''; $o .= ''; if($save) diff --git a/mod/network.php b/mod/network.php index d0f1733f46..9ec8c23b59 100755 --- a/mod/network.php +++ b/mod/network.php @@ -90,7 +90,7 @@ function saved_searches($search) { $o = replace_macros($tpl, array( '$title' => t('Saved Searches'), '$add' => t('add'), - '$searchbox' => search($search,'netsearch-box',$a->get_baseurl(true) . $srchurl,true), + '$searchbox' => search($search,'netsearch-box',$srchurl,true), '$saved' => $saved, )); From 28f941193d75ca12f4cb2a38a1c60e60ad10f2a6 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 06:02:26 -0700 Subject: [PATCH 04/22] syntax error from pasted text, remove ^M's --- mod/item.php | 192 +++++++++++++++++++++++++-------------------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/mod/item.php b/mod/item.php index 98cfb43385..07b4bfef76 100755 --- a/mod/item.php +++ b/mod/item.php @@ -832,129 +832,129 @@ function item_content(&$a) { */ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { //is it a hash tag? - if(strpos($tag,'#') === 0) { + if(strpos($tag,'#') === 0) { //if the tag is replaced... if(strpos($tag,'[url=')) - //...do nothing - continue; - //base tag has the tags name only - $basetag = str_replace('_',' ',substr($tag,1)); + //...do nothing + return; + //base tag has the tags name only + $basetag = str_replace('_',' ',substr($tag,1)); //create text for link $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; - //replace tag by the link - $body = str_replace($tag, $newtag, $body); + //replace tag by the link + $body = str_replace($tag, $newtag, $body); - //is the link already in str_tags? - if(! stristr($str_tags,$newtag)) { + //is the link already in str_tags? + if(! stristr($str_tags,$newtag)) { //append or set str_tags - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - return; + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + return; } - //is it a person tag? - if(strpos($tag,'@') === 0) { + //is it a person tag? + if(strpos($tag,'@') === 0) { //is it already replaced? - if(strpos($tag,'[url=')) - continue; - $stat = false; + if(strpos($tag,'[url=')) + continue; + $stat = false; //get the person's name $name = substr($tag,1); - //is it a link or a full dfrn address? - if((strpos($name,'@')) || (strpos($name,'http://'))) { - $newname = $name; + //is it a link or a full dfrn address? + if((strpos($name,'@')) || (strpos($name,'http://'))) { + $newname = $name; //get the profile links - $links = @lrdd($name); - if(count($links)) { + $links = @lrdd($name); + if(count($links)) { //for all links, collect how is to inform and how's profile is to link - foreach($links as $link) { - if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') - $profile = $link['@attributes']['href']; - if($link['@attributes']['rel'] === 'salmon') { - if(strlen($inform)) - $inform .= ','; - $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); - } - } - } - } else { //if it is a name rather than an address - $newname = $name; - $alias = ''; + foreach($links as $link) { + if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') + $profile = $link['@attributes']['href']; + if($link['@attributes']['rel'] === 'salmon') { + if(strlen($inform)) + $inform .= ','; + $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); + } + } + } + } else { //if it is a name rather than an address + $newname = $name; + $alias = ''; $tagcid = 0; - //is it some generated name? - if(strrpos($newname,'+')) { + //is it some generated name? + if(strrpos($newname,'+')) { //get the id - $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); + $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); //remove the next word from tag's name - if(strpos($name,' ')) { + if(strpos($name,' ')) { $name = substr($name,0,strpos($name,' ')); - } + } } if($tagcid) { //if there was an id - //select contact with that id from the logged in user's contact list - $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($tagcid), + //select contact with that id from the logged in user's contact list + $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($tagcid), intval($profile_uid) - ); + ); } elseif(strstr($name,'_') || strstr($name,' ')) { //no id - //get the real name - $newname = str_replace('_',' ',$name); + //get the real name + $newname = str_replace('_',' ',$name); //select someone from this user's contacts by name - $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", - dbesc($newname), - intval($profile_uid) - ); + $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", + dbesc($newname), + intval($profile_uid) + ); } else { - //select someone by attag or nick and the name passed in - $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", - dbesc($name), - dbesc($name), - intval($profile_uid) - ); + //select someone by attag or nick and the name passed in + $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", + dbesc($name), + dbesc($name), + intval($profile_uid) + ); } - //$r is set, if someone could be selected - if(count($r)) { + //$r is set, if someone could be selected + if(count($r)) { $profile = $r[0]['url']; - //set newname to nick, find alias - if($r[0]['network'] === 'stat') { - $newname = $r[0]['nick']; - $stat = true; - if($r[0]['alias']) - $alias = $r[0]['alias']; - } - else - $newname = $r[0]['name']; + //set newname to nick, find alias + if($r[0]['network'] === 'stat') { + $newname = $r[0]['nick']; + $stat = true; + if($r[0]['alias']) + $alias = $r[0]['alias']; + } + else + $newname = $r[0]['name']; //add person's id to $inform - if(strlen($inform)) - $inform .= ','; - $inform .= 'cid:' . $r[0]['id']; - } + if(strlen($inform)) + $inform .= ','; + $inform .= 'cid:' . $r[0]['id']; + } } - //if there is an url for this persons profile - if(isset($profile)) { + //if there is an url for this persons profile + if(isset($profile)) { //create profile link - $profile = str_replace(',','%2c',$profile); - $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; - $body = str_replace('@' . $name, $newtag, $body); + $profile = str_replace(',','%2c',$profile); + $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; + $body = str_replace('@' . $name, $newtag, $body); //append tag to str_tags - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - - // Status.Net seems to require the numeric ID URL in a mention if the person isn't - // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. - - if(strlen($alias)) { - $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - } - } + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + + // Status.Net seems to require the numeric ID URL in a mention if the person isn't + // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. + + if(strlen($alias)) { + $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + } + } } } From 7b15f27ba48f5a1b0e24290379e2524796776803 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 13:31:59 -0400 Subject: [PATCH 05/22] weee, dispys get another update Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 51 ++-- view/theme/dispy-dark/theme.php | 8 +- view/theme/dispy/contact_template.tpl | 2 + view/theme/dispy/group_side.tpl | 6 +- view/theme/dispy/head.tpl | 19 -- view/theme/dispy/jot-header.tpl | 14 ++ view/theme/dispy/nav.tpl | 16 +- view/theme/dispy/nets.tpl | 2 +- view/theme/dispy/photo_view.tpl | 2 +- view/theme/dispy/profile_vcard.tpl | 30 ++- view/theme/dispy/saved_searches_aside.tpl | 2 +- view/theme/dispy/style.css | 282 +++++++++++++--------- view/theme/dispy/theme.php | 41 ++-- view/theme/dispy/wall_item.tpl | 5 +- view/theme/dispy/wallwall_item.tpl | 7 +- 15 files changed, 293 insertions(+), 194 deletions(-) mode change 100755 => 100644 view/theme/dispy/nets.tpl mode change 100755 => 100644 view/theme/dispy/photo_view.tpl mode change 100755 => 100644 view/theme/dispy/saved_searches_aside.tpl diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index d1ec4efd73..b4aefbbf23 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -123,9 +123,6 @@ a { text-decoration: none; margin-bottom: 1px; } -/*a:hover { */ -/* text-decoration: none;*/ -/*}*/ a:hover img { text-decoration: none; } @@ -778,6 +775,15 @@ aside #viewcontacts { #profile-jot-text_ifr { width:99.900002% !important; } +[id$="jot-text_ifr"] { + width: 99.900002% !important; + color: #2e2f2e; + background: #eec; +} +[id$="jot-text_ifr"] .mceContentBody { + color: #2e2f2e; + background: #eec; +} #profile-attach-wrapper, #profile-audio-wrapper, #profile-link-wrapper, @@ -1527,7 +1533,6 @@ div[id$="wrapper"] br { } .mail-list-subject { font-size: 1.2em; - font-weight: bold; } .mail-list-delete-wrapper { float: right; @@ -1751,23 +1756,23 @@ div[id$="wrapper"] br { margin: 30px 0px; } .profile-edit-side-div { - /*background: #111;*/ - /*border-radius: 5px 5px 0px 0px;*/ - /*margin: 0px 0px 0px 0px;*/ - /*width: 100px;*/ - /*height: 25px;*/ - /*position: absolute;*/ + /*background: #111; + border-radius: 5px 5px 0px 0px; + margin: 0px 0px 0px 0px; + width: 100px; + height: 25px; + position: absolute;*/ display: none; - /*left: 35%;*/ - /*top: 41%;*/ - /*cursor: pointer;*/ + /*left: 35%; + top: 41%; + cursor: pointer;*/ } -/*.profile-edit-side-div:hover {*/ - /*display: block;*/ -/*}*/ -/*.profile-edit-side-link {*/ - /*margin: 3px 0px 0px 70px;*/ -/*}*/ +/*.profile-edit-side-div:hover { + display: block; +} +.profile-edit-side-link { + margin: 3px 0px 0px 70px; +}*/ #profiles-menu-trigger { margin: 0px 0px 0px 25px; } @@ -2123,12 +2128,12 @@ div[id$="wrapper"] br { border-bottom: 1px solid #000; } #adminpage dt { - width: 200px; + width: 250px; float: left; font-weight: bold; } #adminpage dd { - margin-left: 200px; + margin-left: 250px; } #adminpage h3 { border-bottom:1px solid #ccc; @@ -2590,8 +2595,8 @@ footer { margin-top: 30px; overflow: auto; } -/*#acl-list-content {*/ -/*}*/ +/*#acl-list-content { +}*/ .acl-list-item { border: 1px solid #eec; display: block; diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index c0611ce83d..0134b1f91b 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -64,7 +64,7 @@ $(document).ready(function() { $('#drop-' + id).addClass('iconspacer'); } ); - // notifications + // click outside notifications menu closes it $('html').click(function() { $('#nav-notifications-linkmenu').removeClass('selected'); document.getElementById("nav-notifications-menu").style.display = "none"; @@ -74,6 +74,7 @@ $(document).ready(function() { event.stopPropagation(); }); + // main function in toolbar functioning function toggleToolbar() { if ( $('#nav-floater').is(':visible') ) { $('#nav-floater').slideUp('fast'); @@ -87,15 +88,20 @@ $(document).ready(function() { }); } }; + // our trigger for the toolbar button $('.floaterflip').click(function() { toggleToolbar(); return false; }); + // (attempt) to change the text colour in a top post $('#profile-jot-text').focusin(function() { $(this).css({color: '#eec'}); }); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { diff --git a/view/theme/dispy/contact_template.tpl b/view/theme/dispy/contact_template.tpl index fbf354b475..04968bd07d 100644 --- a/view/theme/dispy/contact_template.tpl +++ b/view/theme/dispy/contact_template.tpl @@ -20,9 +20,11 @@
$contact.name
+{{ if $contact.alt_text }}
$contact.alt_text
{{ endif }}
Profile URL
$contact.network
+ diff --git a/view/theme/dispy/group_side.tpl b/view/theme/dispy/group_side.tpl index 516d70d5b4..10ecec2e85 100644 --- a/view/theme/dispy/group_side.tpl +++ b/view/theme/dispy/group_side.tpl @@ -1,5 +1,5 @@ -
-

$title

+
+

$title

+
$item.name From 75823c23539fd009a6575dc125258afa7ce2bbc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:45:07 +0000 Subject: [PATCH 06/22] Use tabindex to enable easy navigation in the dialog to write private mails; Recipient -> Subject -> Text field (tabindex has to be set to the IFRAME element after TinyMCE started) -> Send button --- include/acl_selectors.php | 14 ++++++++------ mod/message.php | 2 +- view/msg-header.tpl | 9 ++++++++- view/prv_message.tpl | 6 +++--- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 67d8cebdeb..a5f5aff532 100755 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -113,11 +113,13 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $str_nets = implode(',',$x['networks']); $sql_extra .= " AND `network` IN ( $str_nets ) "; } + + $tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : ""); if($x['single']) - $o .= "\r\n"; else - $o .= "\r\n"; $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != '' @@ -156,7 +158,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { -function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false) { +function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { $a = get_app(); @@ -178,12 +180,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) "; } - + $tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : ""); if($privmail) - $o .= "\r\n"; else - $o .= "\r\n"; $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != '' diff --git a/mod/message.php b/mod/message.php index 55e313776d..0907abd77f 100755 --- a/mod/message.php +++ b/mod/message.php @@ -154,7 +154,7 @@ function message_content(&$a) { $preselect = (isset($a->argv[2])?array($a->argv[2]):false); - $select = contact_select('messageto','message-to-select', $preselect, 4, true); + $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10); $tpl = get_markup_template('prv_message.tpl'); $o .= replace_macros($tpl,array( '$header' => t('Send Private Message'), diff --git a/view/msg-header.tpl b/view/msg-header.tpl index b5c78345a3..1f8650bfe3 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -30,8 +30,15 @@ if(plaintext != 'none') { setup : function(ed) { ed.onInit.add(function(ed) { ed.pasteAsPlainText = true; + var editorId = ed.editorId; + var textarea = $('#'+editorId); + console.log(textarea); + if (typeof(textarea.attr('tabindex')) != "undefined") { + $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); + textarea.attr('tabindex', null); + } }); - } + }, }); } diff --git a/view/prv_message.tpl b/view/prv_message.tpl index 4b904cbcd6..2ce07ce6fd 100755 --- a/view/prv_message.tpl +++ b/view/prv_message.tpl @@ -10,14 +10,14 @@ $parent $select
$subject
- +
$yourmessage
- +
- +
From 27054964feba44e82589fb6b8c464c59b9420feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:46:26 +0000 Subject: [PATCH 07/22] Forgot to remove a debug line --- view/msg-header.tpl | 1 - 1 file changed, 1 deletion(-) diff --git a/view/msg-header.tpl b/view/msg-header.tpl index 1f8650bfe3..b1fcefd247 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -32,7 +32,6 @@ if(plaintext != 'none') { ed.pasteAsPlainText = true; var editorId = ed.editorId; var textarea = $('#'+editorId); - console.log(textarea); if (typeof(textarea.attr('tabindex')) != "undefined") { $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); textarea.attr('tabindex', null); From 90bb32ab7393687d46e198f94d181c830f881def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:47:40 +0000 Subject: [PATCH 08/22] Bugfix of old IEs --- view/msg-header.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/msg-header.tpl b/view/msg-header.tpl index b1fcefd247..098333893f 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -37,7 +37,7 @@ if(plaintext != 'none') { textarea.attr('tabindex', null); } }); - }, + } }); } From 91fee866b7f870b66d770c7c4e6db0afd874de33 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 16:43:34 -0400 Subject: [PATCH 10/22] make profiles-menu disappear when clicked outside it Signed-off-by: Simon L'nu --- view/theme/dispy-dark/theme.php | 9 +++++++++ view/theme/dispy/theme.php | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index 0134b1f91b..b57971db96 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -73,6 +73,15 @@ $(document).ready(function() { $('#nav-notifications-linkmenu').click(function(event) { event.stopPropagation(); }); + // click outside profiles menu closes it + $('html').click(function() { + $('#profiles-menu-trigger').removeClass('selected'); + document.getElementById("profiles-menu").style.display = "none"; + }); + + $('#profiles-menu').click(function(event) { + event.stopPropagation(); + }); // main function in toolbar functioning function toggleToolbar() { diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index ac97948a38..9f0fcba828 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -73,6 +73,15 @@ $(document).ready(function() { $('#nav-notifications-linkmenu').click(function(event) { event.stopPropagation(); }); + // click outside profiles menu closes it + $('html').click(function() { + $('#profiles-menu-trigger').removeClass('selected'); + document.getElementById("profiles-menu").style.display = "none"; + }); + + $('#profiles-menu').click(function(event) { + event.stopPropagation(); + }); // main function in toolbar functioning function toggleToolbar() { From 58940175e173c04c9bfa3498af40c65f6514a9ce Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 15:07:45 -0700 Subject: [PATCH 11/22] wrong link in d* comment notifications --- boot.php | 2 +- include/diaspora.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index 86da3cd2eb..322340e5d7 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1282' ); +define ( 'FRIENDICA_VERSION', '2.3.1283' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1132 ); diff --git a/include/diaspora.php b/include/diaspora.php index 19bba52168..1b5af42cd9 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1187,7 +1187,7 @@ function diaspora_comment($importer,$xml,$msg) { 'to_email' => $importer['email'], 'uid' => $importer['uid'], 'item' => $datarray, - 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, + 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id, 'source_name' => $datarray['author-name'], 'source_link' => $datarray['author-link'], 'source_photo' => $datarray['author-avatar'], From 949c6d47b5b9a3e796cdf6dff79d6d532f4a3159 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 15:19:38 -0700 Subject: [PATCH 12/22] add "send pm" link to photo dropdown for Diaspora contacts --- include/conversation.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/conversation.php b/include/conversation.php index 88ecf502b2..8ca484c9e7 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -779,6 +779,17 @@ function item_photo_menu($item){ if(($cid) && (! $item['self'])) { $contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid; $posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid; + + $clean_url = normalise_link($item['author-link']); + + if((local_user()) && (local_user() == $item['uid'])) { + if(isset($a->contacts) && x($a->contacts,$clean_url)) { + if($a->contacts[$clean_url]['network'] === NETWORK_DIASPORA) { + $pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid; + } + } + } + } $menu = Array( From 82f2bfea5bbf7c35450eb8fe9ee119e0b00d3d61 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 16:05:16 -0700 Subject: [PATCH 14/22] convert boolean or int settings to strings to work around issues with template processing --- mod/settings.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mod/settings.php b/mod/settings.php index f694b5840f..3a8ad29d28 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -652,20 +652,20 @@ function settings_content(&$a) { $blocktags = $a->user['blocktags']; $expire_items = get_pconfig(local_user(), 'expire','items'); - $expire_items = (($expire_items===false)?1:$expire_items); // default if not set: 1 + $expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1 $expire_notes = get_pconfig(local_user(), 'expire','notes'); - $expire_notes = (($expire_notes===false)?1:$expire_notes); // default if not set: 1 + $expire_notes = (($expire_notes===false)? '1' : $expire_notes); // default if not set: 1 $expire_starred = get_pconfig(local_user(), 'expire','starred'); - $expire_starred = (($expire_starred===false)?1:$expire_starred); // default if not set: 1 + $expire_starred = (($expire_starred===false)? '1' : $expire_starred); // default if not set: 1 $expire_photos = get_pconfig(local_user(), 'expire','photos'); - $expire_photos = (($expire_photos===false)?0:$expire_photos); // default if not set: 0 + $expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0 $suggestme = get_pconfig(local_user(), 'system','suggestme'); - $suggestme = (($suggestme===false)?0:$suggestme); // default if not set: 0 + $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0 $browser_update = intval(get_pconfig(local_user(), 'system','update_interval')); $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds @@ -736,13 +736,13 @@ function settings_content(&$a) { )); $blockwall = replace_macros($opt_tpl,array( - '$field' => array('blockwall', t('Allow friends to post to your profile page?'), ! $a->user['blockwall'], '', array(t('No'),t('Yes'))), + '$field' => array('blockwall', t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), '', array(t('No'),t('Yes'))), )); $blocktags = replace_macros($opt_tpl,array( - '$field' => array('blocktags', t('Allow friends to tag your posts?'), ! $a->user['blocktags'], '', array(t('No'),t('Yes'))), + '$field' => array('blocktags', t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), '', array(t('No'),t('Yes'))), )); From 368d93625dc7ac206b3dbb85af15dc90f593fcd7 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 20:29:02 -0400 Subject: [PATCH 15/22] make auto-complete in darkzero-NS. other themes can use this easily. might need to edit the id it hooks into Signed-off-by: Simon L'nu --- view/theme/darkzero-NS/theme.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php index 2d3e4fd56e..3598e34f27 100755 --- a/view/theme/darkzero-NS/theme.php +++ b/view/theme/darkzero-NS/theme.php @@ -52,6 +52,9 @@ $('.savedsearchterm').hover( $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} ); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + }); From 49540fb958376d067f44a9274f8edeb80f10da3a Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 21:20:23 -0400 Subject: [PATCH 17/22] make auto-complete work in more places Signed-off-by: Simon L'nu --- mod/display.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mod/display.php b/mod/display.php index f428149e83..81ed174acc 100755 --- a/mod/display.php +++ b/mod/display.php @@ -16,7 +16,15 @@ function display_content(&$a) { $o = '
' . "\r\n"; - $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= << +$(document).ready(function() { + $(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); +}); + +EOT; $nick = (($a->argc > 1) ? $a->argv[1] : ''); From 75883b196ed222b9972c87ce00b8e7c2ab29c05e Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 21:23:24 -0400 Subject: [PATCH 18/22] remove auto-complete from darkzero-NS, dispys, since the comment one is now global Signed-off-by: Simon L'nu --- view/theme/darkzero-NS/theme.php | 3 --- view/theme/dispy/theme.php | 3 --- 2 files changed, 6 deletions(-) diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php index 3598e34f27..2d3e4fd56e 100755 --- a/view/theme/darkzero-NS/theme.php +++ b/view/theme/darkzero-NS/theme.php @@ -52,9 +52,6 @@ $('.savedsearchterm').hover( $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} ); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - }); diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index 9f0fcba828..26e07b1f76 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -108,9 +108,6 @@ $(document).ready(function() { $(this).css({color: '#eec'}); }); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { From 87fdae2dd8bdb9e01ce3d98f6ea94d83664cb4c2 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sat, 17 Mar 2012 01:55:40 -0400 Subject: [PATCH 20/22] [fix] whitespace in photo_view and like_noshare. dispy-dark clean up Signed-off-by: Simon L'nu --- view/like_noshare.tpl | 8 ++++---- view/photo_view.tpl | 2 +- view/theme/dispy-dark/photo_view.tpl | 13 +++++-------- view/theme/dispy-dark/theme.php | 3 --- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/view/like_noshare.tpl b/view/like_noshare.tpl index 2c467c3c26..2651ea1f89 100755 --- a/view/like_noshare.tpl +++ b/view/like_noshare.tpl @@ -1,5 +1,5 @@ + + + +
diff --git a/view/photo_view.tpl b/view/photo_view.tpl index 5dbcabadf7..732caf6900 100755 --- a/view/photo_view.tpl +++ b/view/photo_view.tpl @@ -14,7 +14,7 @@
{{ if $nextlink }}{{ endif }}
-
$desc
+
$desc
{{ if $tags }}
$tags.0
$tags.1
diff --git a/view/theme/dispy-dark/photo_view.tpl b/view/theme/dispy-dark/photo_view.tpl index f1209ec58f..732caf6900 100644 --- a/view/theme/dispy-dark/photo_view.tpl +++ b/view/theme/dispy-dark/photo_view.tpl @@ -4,18 +4,15 @@ - -
- {{ if $prevlink }}{{ endif }} - - {{ if $nextlink }}{{ endif }} +{{ if $lock }} | $lock {{ endif }}
+{{ if $prevlink }}{{ endif }} +
+{{ if $nextlink }}{{ endif }}
$desc
{{ if $tags }} diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index b57971db96..7001361739 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -108,9 +108,6 @@ $(document).ready(function() { $(this).css({color: '#eec'}); }); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { From 511d8a30a05f76a08582f2d7a9ccd78dbd744c57 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 23:51:49 -0700 Subject: [PATCH 21/22] scheme checking for webservers without $_SERVER['HTTPS'] --- boot.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 322340e5d7..836900fc4a 100755 --- a/boot.php +++ b/boot.php @@ -286,7 +286,12 @@ class App { startup(); - $this->scheme = ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'])) ? 'https' : 'http' ); + $this->scheme = 'http'; + if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS']) + $this->scheme = 'https'; + elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443)) + $this->scheme = 'https'; + if(x($_SERVER,'SERVER_NAME')) { $this->hostname = $_SERVER['SERVER_NAME']; From 057a142b8cd01cd8ab6212e9d958989c82dfccc3 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 00:08:52 -0700 Subject: [PATCH 22/22] cut/paste error --- mod/item.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/item.php b/mod/item.php index 07b4bfef76..fe570075f2 100755 --- a/mod/item.php +++ b/mod/item.php @@ -857,7 +857,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { if(strpos($tag,'@') === 0) { //is it already replaced? if(strpos($tag,'[url=')) - continue; + return; $stat = false; //get the person's name $name = substr($tag,1);