]> git.mxchange.org Git - friendica.git/blobdiff - object/Item.php
add a comment as explanation for #3737
[friendica.git] / object / Item.php
index 9e8b4738e209ed2fa451526c2226bcbf8c428ec0..495a4100cf355e0570449cb7922cc71aeab32dd4 100644 (file)
@@ -68,6 +68,11 @@ class Item extends BaseObject {
                                        continue;
                                }
 
+                               // You can always comment on Diaspora items
+                               if (($item['network'] == NETWORK_DIASPORA) && (local_user() == $item['uid'])) {
+                                       $item['writable'] = true;
+                               }
+
                                $item['pagedrop'] = $data['pagedrop'];
                                $child = new Item($item);
                                $this->add_child($child);
@@ -91,7 +96,12 @@ class Item extends BaseObject {
 
                $item = $this->get_data();
                $edited = false;
-               if (strcmp($item['created'], $item['edited'])<>0) {
+               // If the time between "created" and "editet" differes we add 
+               // a notices that the post was editet.
+               // Note: In some networks reshared items seem to have (sometimes) a difference
+               // between creation time and edit time of a second. Thats why we add the notice
+               // only if the difference is more than 1 second.
+               if (abs(strtotime($item['created']) - strtotime($item['edited'])) > 1) {
                        $edited = array(
                                'label'    => t('This entry was edited'),
                                'date'     => datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r'),
@@ -158,7 +168,7 @@ class Item extends BaseObject {
                        $profile_link = zrl($profile_link);
                }
 
-               if (!isset($item['author-thumb']) OR ($item['author-thumb'] == "")) {
+               if (!isset($item['author-thumb']) || ($item['author-thumb'] == "")) {
                        $author_contact = get_contact_details_by_url($item['author-link'], $conv->get_profile_owner());
                        if ($author_contact["thumb"]) {
                                $item['author-thumb'] = $author_contact["thumb"];
@@ -167,7 +177,7 @@ class Item extends BaseObject {
                        }
                }
 
-               if (!isset($item['owner-thumb']) OR ($item['owner-thumb'] == "")) {
+               if (!isset($item['owner-thumb']) || ($item['owner-thumb'] == "")) {
                        $owner_contact = get_contact_details_by_url($item['owner-link'], $conv->get_profile_owner());
                        if ($owner_contact["thumb"]) {
                                $item['owner-thumb'] = $owner_contact["thumb"];
@@ -180,7 +190,6 @@ class Item extends BaseObject {
                call_hooks('render_location',$locate);
                $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
 
-               $searchpath = "search?tag=";
                $tags=array();
                $hashtags = array();
                $mentions = array();
@@ -307,28 +316,16 @@ class Item extends BaseObject {
                // Disable features that aren't available in several networks
 
                /// @todo Add NETWORK_DIASPORA when it will pass this information
-               if (!in_array($item["item_network"], array(NETWORK_DFRN)) AND isset($buttons["dislike"])) {
+               if (!in_array($item["item_network"], array(NETWORK_DFRN)) && isset($buttons["dislike"])) {
                        unset($buttons["dislike"],$isevent);
                        $tagger = '';
                }
 
-               if (($item["item_network"] == NETWORK_FEED) AND isset($buttons["like"])) {
-                       unset($buttons["like"]);
-               }
-
-               if (($item["item_network"] == NETWORK_MAIL) AND isset($buttons["like"])) {
-                       unset($buttons["like"]);
-               }
-
-               // Diaspora isn't able to do likes on comments - but Hubzilla does
-               /// @todo When Diaspora will pass this information we will remove these lines
-               if (($item["item_network"] == NETWORK_DIASPORA) AND ($indent == 'comment') AND
-                       !Diaspora::is_redmatrix($item["owner-link"]) AND isset($buttons["like"])) {
+               if (($item["item_network"] == NETWORK_FEED) && isset($buttons["like"])) {
                        unset($buttons["like"]);
                }
 
-               // Facebook can like comments - but it isn't programmed in the connector yet.
-               if (($item["item_network"] == NETWORK_FACEBOOK) AND ($indent == 'comment') AND isset($buttons["like"])) {
+               if (($item["item_network"] == NETWORK_MAIL) && isset($buttons["like"])) {
                        unset($buttons["like"]);
                }
 
@@ -394,6 +391,9 @@ class Item extends BaseObject {
                        'edited'          => $edited,
                        'network'         => $item["item_network"],
                        'network_name'    => network_to_name($item['item_network'], $profile_link),
+                       'received'        => $item['received'],
+                       'commented'       => $item['commented'],
+                       'created_date'    => $item['created'],
                );
 
                $arr = array('item' => $item, 'output' => $tmp_item);
@@ -733,7 +733,7 @@ class Item extends BaseObject {
 
                if($this->is_toplevel()) {
                        if($conv->get_mode() !== 'profile') {
-                               if($this->get_data_value('wall') AND !$this->get_data_value('self')) {
+                               if($this->get_data_value('wall') && !$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.