X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fostatus.php;h=4775e2ccb9f083e02554e2cb9dff05cae7a384c4;hb=5e1652922d480fde608241c00cfb40231dfe680d;hp=dcbd91f415305064f5e661e36743cc68b9ab4052;hpb=b640db2b17379836a2d7708355b30ccd19531f4c;p=friendica.git diff --git a/include/ostatus.php b/include/ostatus.php index dcbd91f415..4775e2ccb9 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -28,15 +28,15 @@ class ostatus { const OSTATUS_DEFAULT_POLL_TIMEFRAME_MENTIONS = 14400; // given in minutes /** - * @brief + * @brief Fetches author data * - * @param $xpath - * @param $context - * @param $importer - * @param $contact - * @param $onlyfetch + * @param object $xpath The xpath object + * @param object $context The xml context of the author detals + * @param array $importer user record of the importing user + * @param array $contact Called by reference, will contain the fetched contact + * @param bool $onlyfetch Only fetch the header without updating the contact entries * - * @return + * @return array Array of author related entries for the item */ private function fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch) { @@ -44,8 +44,7 @@ class ostatus { $author["author-link"] = $xpath->evaluate('atom:author/atom:uri/text()', $context)->item(0)->nodeValue; $author["author-name"] = $xpath->evaluate('atom:author/atom:name/text()', $context)->item(0)->nodeValue; - // Preserve the value - $authorlink = $author["author-link"]; + $aliaslink = $author["author-link"]; $alternate = $xpath->query("atom:author/atom:link[@rel='alternate']", $context)->item(0)->attributes; if (is_object($alternate)) @@ -55,7 +54,7 @@ class ostatus { $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` IN ('%s', '%s') AND `network` != '%s'", intval($importer["uid"]), dbesc(normalise_link($author["author-link"])), - dbesc(normalise_link($authorlink)), dbesc(NETWORK_STATUSNET)); + dbesc(normalise_link($aliaslink)), dbesc(NETWORK_STATUSNET)); if ($r) { $contact = $r[0]; $author["contact-id"] = $r[0]["id"]; @@ -117,12 +116,14 @@ class ostatus { if ($value != "") $contact["location"] = $value; - if (($contact["name"] != $r[0]["name"]) OR ($contact["nick"] != $r[0]["nick"]) OR ($contact["about"] != $r[0]["about"]) OR ($contact["location"] != $r[0]["location"])) { + if (($contact["name"] != $r[0]["name"]) OR ($contact["nick"] != $r[0]["nick"]) OR ($contact["about"] != $r[0]["about"]) OR + ($contact["alias"] != $r[0]["alias"]) OR ($contact["location"] != $r[0]["location"])) { logger("Update contact data for contact ".$contact["id"], LOGGER_DEBUG); - q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d", - dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]), + q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `alias` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d", + dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["alias"]), + dbesc($contact["about"]), dbesc($contact["location"]), dbesc(datetime_convert()), intval($contact["id"])); poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"], @@ -144,12 +145,12 @@ class ostatus { } /** - * @brief + * @brief Fetches author data from a given XML string * - * @param $xml - * @param $importer + * @param string $xml The XML + * @param array $importer user record of the importing user * - * @return + * @return array Array of author related entries for the item */ public static function salmon_author($xml, $importer) { @@ -179,16 +180,15 @@ class ostatus { } /** - * @brief + * @brief Imports an XML string containing OStatus elements * - * @param $xml - * @param $importer + * @param string $xml The XML + * @param array $importer user record of the importing user * @param $contact - * @param $hub - * - * @return + * @param array $hub Called by reference, returns the fetched hub data */ public static function import($xml,$importer,&$contact, &$hub) { + /// @todo this function is too long. It has to be split in many parts logger("Import OStatus message", LOGGER_DEBUG); @@ -530,11 +530,11 @@ class ostatus { } /** - * @brief + * @brief Create an url out of an uri * - * @param $href + * @param string $href URI in the format "parameter1:parameter1:..." * - * @return + * @return string URL in the format http(s)://.... */ public static function convert_href($href) { $elements = explode(":",$href); @@ -560,12 +560,10 @@ class ostatus { } /** - * @brief - * - * @param $mentions - * @param $override + * @brief Checks if there are entries in conversations that aren't present on our side * - * @return + * @param bool $mentions Fetch conversations where we are mentioned + * @param bool $override Override the interval setting */ public static function check_conversations($mentions = false, $override = false) { $last = get_config('system','ostatus_last_poll'); @@ -755,16 +753,17 @@ class ostatus { } /** - * @brief + * @brief Stores an item and completes the thread * - * @param $conversation_url - * @param $uid - * @param $item + * @param string $conversation_url The URI of the conversation + * @param integer $uid The user id + * @param array $item Data of the item that is to be posted * - * @return + * @return integer The item id of the posted item array */ private function completion($conversation_url, $uid, $item = array(), $self = "") { + /// @todo This function is totally ugly and has to be rewritten totally $item_stored = -1; @@ -1155,12 +1154,10 @@ class ostatus { } /** - * @brief + * @brief Stores conversation data into the database * - * @param $itemid - * @param $conversation_url - * - * @return + * @param integer $itemid The id of the item + * @param string $conversation_url The uri of the conversation */ private function store_conversation($itemid, $conversation_url) { @@ -1184,11 +1181,11 @@ class ostatus { } /** - * @brief + * @brief Checks if the current post is a reshare * - * @param $item + * @param array $item The item array of thw post * - * @return + * @return string The guid if the post is a reshare */ private function get_reshared_guid($item) { $body = trim($item["body"]); @@ -1220,11 +1217,11 @@ class ostatus { } /** - * @brief + * @brief Cleans the body of a post if it contains picture links * - * @param $body + * @param string $body The body * - * @return + * @return string The cleaned body */ private function format_picture_post($body) { $siteinfo = get_attached_data($body); @@ -1254,12 +1251,12 @@ class ostatus { } /** - * @brief + * @brief Adds the header elements to the XML document * - * @param $doc - * @param $owner + * @param object $doc XML document + * @param array $owner Contact data of the poster * - * @return + * @return object header root element */ private function add_header($doc, $owner) { @@ -1315,12 +1312,10 @@ class ostatus { } /** - * @brief - * - * @param $doc - * @param $root + * @brief Add the link to the push hubs to the XML document * - * @return + * @param object $doc XML document + * @param object $root XML root element where the hub links are added */ public static function hublinks($doc, $root) { $hub = get_config('system','huburl'); @@ -1342,13 +1337,11 @@ class ostatus { } /** - * @brief + * @brief Adds attachement data to the XML document * - * @param $doc - * @param $root - * @param $item - * - * @return + * @param object $doc XML document + * @param object $root XML root element where the hub links are added + * @param array $item Data of the item that is to be posted */ private function get_attachment($doc, $root, $item) { $o = ""; @@ -1414,12 +1407,12 @@ class ostatus { } /** - * @brief + * @brief Adds the author element to the XML document * - * @param $doc - * @param $owner + * @param object $doc XML document + * @param array $owner Contact data of the poster * - * @return + * @return object author element */ private function add_author($doc, $owner) { @@ -1488,11 +1481,11 @@ class ostatus { */ /** - * @brief + * @brief Returns the given activity if present - otherwise returns the "post" activity * - * @param $item + * @param array $item Data of the item that is to be posted * - * @return + * @return string activity */ function construct_verb($item) { if ($item['verb']) @@ -1501,11 +1494,11 @@ class ostatus { } /** - * @brief + * @brief Returns the given object type if present - otherwise returns the "note" object type * - * @param $item + * @param array $item Data of the item that is to be posted * - * @return + * @return string Object type */ function construct_objecttype($item) { if (in_array($item['object-type'], array(ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT))) @@ -1514,14 +1507,14 @@ class ostatus { } /** - * @brief + * @brief Adds an entry element to the XML document * - * @param $doc - * @param $item - * @param $owner - * @param $toplevel + * @param object $doc XML document + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster + * @param bool $toplevel * - * @return + * @return object Entry element */ private function entry($doc, $item, $owner, $toplevel = false) { $repeated_guid = self::get_reshared_guid($item); @@ -1538,12 +1531,12 @@ class ostatus { } /** - * @brief + * @brief Adds a source entry to the XML document * - * @param $doc - * @param $contact + * @param object $doc XML document + * @param array $contact Array of the contact that is added * - * @return + * @return object Source element */ private function source_entry($doc, $contact) { $source = $doc->createElement("source"); @@ -1562,12 +1555,12 @@ class ostatus { } /** - * @brief + * @brief Fetches contact data from the contact or the gcontact table * - * @param $url - * @param $owner + * @param string $url URL of the contact + * @param array $owner Contact data of the poster * - * @return + * @return array Contact array */ private function contact_entry($url, $owner) { @@ -1604,15 +1597,15 @@ class ostatus { } /** - * @brief + * @brief Adds an entry element with reshared content * - * @param $doc - * @param $item - * @param $owner + * @param object $doc XML document + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster * @param $repeated_guid - * @param $toplevel + * @param bool $toplevel Is it for en entry element (false) or a feed entry (true)? * - * @return + * @return object Entry element */ private function reshare_entry($doc, $item, $owner, $repeated_guid, $toplevel) { @@ -1671,14 +1664,14 @@ class ostatus { } /** - * @brief + * @brief Adds an entry element with a "like" * - * @param $doc - * @param $item - * @param $owner - * @param $toplevel + * @param object $doc XML document + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster + * @param bool $toplevel Is it for en entry element (false) or a feed entry (true)? * - * @return + * @return object Entry element with "like" */ private function like_entry($doc, $item, $owner, $toplevel) { @@ -1708,14 +1701,14 @@ class ostatus { } /** - * @brief + * @brief Adds a regular entry element * - * @param $doc - * @param $item - * @param $owner - * @param $toplevel + * @param object $doc XML document + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster + * @param bool $toplevel Is it for en entry element (false) or a feed entry (true)? * - * @return + * @return object Entry element */ private function note_entry($doc, $item, $owner, $toplevel) { @@ -1735,16 +1728,17 @@ class ostatus { } /** - * @brief + * @brief Adds a header element to the XML document * - * @param $doc - * @param $entry - * @param $owner - * @param $toplevel + * @param object $doc XML document + * @param object $entry The entry element where the elements are added + * @param array $owner Contact data of the poster + * @param bool $toplevel Is it for en entry element (false) or a feed entry (true)? * - * @return + * @return string The title for the element */ private function entry_header($doc, &$entry, $owner, $toplevel) { + /// @todo Check if this title stuff is really needed (I guess not) if (!$toplevel) { $entry = $doc->createElement("entry"); $title = sprintf("New note by %s", $owner["nick"]); @@ -1768,17 +1762,15 @@ class ostatus { } /** - * @brief + * @brief Adds elements to the XML document * - * @param $doc - * @param $entry - * @param $item - * @param $owner - * @param $title - * @param $verb - * @param $complete - * - * @return + * @param object $doc XML document + * @param object $entry Entry element where the content is added + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster + * @param string $title Title for the post + * @param string $verb The activity verb + * @param bool $complete Add the "status_net" element? */ private function entry_content($doc, $entry, $item, $owner, $title, $verb = "", $complete = true) { @@ -1810,15 +1802,13 @@ class ostatus { } /** - * @brief + * @brief Adds the elements at the foot of an entry to the XML document * - * @param $doc - * @param $entry - * @param $item - * @param $owner + * @param object $doc XML document + * @param object $entry The entry element where the elements are added + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster * @param $complete - * - * @return */ private function entry_footer($doc, $entry, $item, $owner, $complete = true) { @@ -1917,13 +1907,13 @@ class ostatus { } /** - * @brief + * @brief Creates the XML feed for a given nickname * - * @param $a - * @param $owner_nick - * @param $last_update + * @param app $a The application class + * @param string $owner_nick Nickname of the feed owner + * @param string $last_update Date of the last update * - * @return + * @return string XML feed */ public static function feed(&$a, $owner_nick, $last_update) { @@ -1975,12 +1965,12 @@ class ostatus { } /** - * @brief + * @brief Creates the XML for a salmon message * - * @param $item - * @param $owner + * @param array $item Data of the item that is to be posted + * @param array $owner Contact data of the poster * - * @return + * @return string XML for the salmon */ public static function salmon($item,$owner) {