X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=object%2FItem.php;h=8d364e6023040e8d0ed00b0ad6e31fce33a8d1cd;hb=12659fc3a11b27ffe0647a1f73f5b4b23d9757ae;hp=7c78a1d333ef9391ef97579df6bd42dd5c45bb78;hpb=c3c64d33bc45664f98ce52d5fdeda0114ae54542;p=friendica.git diff --git a/object/Item.php b/object/Item.php index 7c78a1d333..8d364e6023 100644 --- a/object/Item.php +++ b/object/Item.php @@ -4,6 +4,7 @@ if(class_exists('Item')) require_once('object/BaseObject.php'); require_once('include/text.php'); +require_once('include/diaspora.php'); require_once('boot.php'); /** @@ -81,6 +82,8 @@ class Item extends BaseObject { * _ false on failure */ public function get_template_data($alike, $dlike, $thread_level=1) { + require_once("mod/proxy.php"); + $result = array(); $a = $this->get_app(); @@ -99,6 +102,7 @@ class Item extends BaseObject { $buttons = ''; $dropping = false; $star = false; + $ignore = false; $isstarred = "unstarred"; $indent = ''; $shiny = ''; @@ -151,7 +155,7 @@ class Item extends BaseObject { $locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => ''); call_hooks('render_location',$locate); - $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_google($locate)); + $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate)); $searchpath = $a->get_baseurl()."/search?tag="; $tags=array(); @@ -196,6 +200,21 @@ class Item extends BaseObject { 'classundo' => (($item['starred']) ? "" : "hidden"), 'starred' => t('starred'), ); + $r = q("SELECT `ignored` FROM `thread` WHERE `uid` = %d AND `iid` = %d LIMIT 1", + intval($item['uid']), + intval($item['id']) + ); + if (count($r)) { + $ignore = array( + 'do' => t("ignore thread"), + 'undo' => t("unignore thread"), + 'toggle' => t("toggle ignore status"), + 'classdo' => (($r[0]['ignored']) ? "hidden" : ""), + 'classundo' => (($r[0]['ignored']) ? "" : "hidden"), + 'ignored' => t('ignored'), + ); + } + $tagger = ''; if(feature_enabled($conv->get_profile_owner(),'commtag')) { $tagger = array( @@ -269,25 +288,26 @@ class Item extends BaseObject { } // Disable features that aren't available in several networks - if (($item["item_network"] != "dfrn") AND isset($buttons["dislike"])) { + if (($item["item_network"] != NETWORK_DFRN) AND isset($buttons["dislike"])) { unset($buttons["dislike"]); $tagger = ''; } - if (($item["item_network"] == "feed") AND isset($buttons["like"])) + if (($item["item_network"] == NETWORK_FEED) AND isset($buttons["like"])) unset($buttons["like"]); - if (($item["item_network"] == "mail") AND isset($buttons["like"])) + if (($item["item_network"] == NETWORK_MAIL) AND isset($buttons["like"])) unset($buttons["like"]); - if (($item["item_network"] == "dspr") AND ($indent == 'comment') AND isset($buttons["like"])) + // Diaspora isn't able to do likes on comments - but red does + if (($item["item_network"] == NETWORK_DIASPORA) AND ($indent == 'comment') AND + !diaspora_is_redmatrix($item["owner-link"]) AND isset($buttons["like"])) unset($buttons["like"]); // Facebook can like comments - but it isn't programmed in the connector yet. - if (($item["item_network"] == "face") AND ($indent == 'comment') AND isset($buttons["like"])) + if (($item["item_network"] == NETWORK_FACEBOOK) AND ($indent == 'comment') AND isset($buttons["like"])) unset($buttons["like"]); - $tmp_item = array( 'template' => $this->get_template(), @@ -304,7 +324,7 @@ class Item extends BaseObject { 'body' => $body_e, 'text' => $text_e, 'id' => $this->get_id(), - 'guid' => $item['guid'], + 'guid' => urlencode($item['guid']), 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'olinktitle' => sprintf( t('View %s\'s profile @ %s'), $this->get_owner_name(), ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])), 'to' => t('to'), @@ -314,7 +334,7 @@ class Item extends BaseObject { 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), 'name' => $name_e, - 'thumb' => $profile_avatar, + 'thumb' => proxy_url($profile_avatar), 'osparkle' => $osparkle, 'sparkle' => $sparkle, 'title' => $title_e, @@ -327,12 +347,13 @@ class Item extends BaseObject { 'indent' => $indent, 'shiny' => $shiny, 'owner_url' => $this->get_owner_url(), - 'owner_photo' => $this->get_owner_photo(), + 'owner_photo' => proxy_url($this->get_owner_photo()), 'owner_name' => $owner_name_e, 'plink' => get_plink($item), 'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''), 'isstarred' => $isstarred, 'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''), + 'ignore' => ((feature_enabled($conv->get_profile_owner(),'ignore_posts')) ? $ignore : ''), 'tagger' => $tagger, 'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''), 'drop' => $drop, @@ -347,7 +368,7 @@ class Item extends BaseObject { 'postopts' => $langstr, 'edited' => $edited, 'network' => $item["item_network"], - 'network_name' => network_to_name($item['item_network']), + 'network_name' => network_to_name($item['item_network'], $profile_link), ); $arr = array('item' => $item, 'output' => $tmp_item); @@ -687,11 +708,10 @@ class Item extends BaseObject { $a = $this->get_app(); $conv = $this->get_conversation(); $this->wall_to_wall = false; - - if($this->is_toplevel()) { - if( (! $this->get_data_value('self')) && ($conv->get_mode() !== 'profile')) { - if($this->get_data_value('wall')) { + if($this->is_toplevel()) { + if($conv->get_mode() !== 'profile') { + if($this->get_data_value('wall') AND !$this->get_data_value('self')) { // On the network page, I am the owner. On the display page it will be the profile owner. // This will have been stored in $a->page_contact by our calling page. // Put this person as the wall owner of the wall-to-wall notice. @@ -706,6 +726,7 @@ class Item extends BaseObject { $owner_linkmatch = (($this->get_data_value('owner-link')) && link_compare($this->get_data_value('owner-link'),$this->get_data_value('author-link'))); $alias_linkmatch = (($this->get_data_value('alias')) && link_compare($this->get_data_value('alias'),$this->get_data_value('author-link'))); $owner_namematch = (($this->get_data_value('owner-name')) && $this->get_data_value('owner-name') == $this->get_data_value('author-name')); + if((! $owner_linkmatch) && (! $alias_linkmatch) && (! $owner_namematch)) { // The author url doesn't match the owner (typically the contact) @@ -716,7 +737,7 @@ class Item extends BaseObject { // well that it's the same Bob Smith. // But it could be somebody else with the same name. It just isn't highly likely. - + $this->owner_photo = $this->get_data_value('owner-avatar'); $this->owner_name = $this->get_data_value('owner-name');