Added documentation

This commit is contained in:
Michael 2017-09-10 07:52:07 +00:00
parent 746169eabf
commit 21a630ebae

View file

@ -29,9 +29,6 @@ require_once 'include/cache.php';
* *
*/ */
class ostatus { class ostatus {
const OSTATUS_DEFAULT_POLL_INTERVAL = 30; // given in minutes
const OSTATUS_DEFAULT_POLL_TIMEFRAME = 1440; // given in minutes
const OSTATUS_DEFAULT_POLL_TIMEFRAME_MENTIONS = 14400; // given in minutes
private static $itemlist; private static $itemlist;
@ -39,7 +36,7 @@ class ostatus {
* @brief Fetches author data * @brief Fetches author data
* *
* @param object $xpath The xpath object * @param object $xpath The xpath object
* @param object $context The xml context of the author detals * @param object $context The xml context of the author details
* @param array $importer user record of the importing user * @param array $importer user record of the importing user
* @param array $contact Called by reference, will contain the fetched contact * @param array $contact Called by reference, will contain the fetched contact
* @param bool $onlyfetch Only fetch the header without updating the contact entries * @param bool $onlyfetch Only fetch the header without updating the contact entries
@ -259,20 +256,24 @@ class ostatus {
* *
* @param string $xml The XML * @param string $xml The XML
* @param array $importer user record of the importing user * @param array $importer user record of the importing user
* @param $contact * @param array $contact
* @param array $hub Called by reference, returns the fetched hub data * @param string $hub Called by reference, returns the fetched hub data
*/ */
public static function import($xml, $importer, &$contact, &$hub) { public static function import($xml, $importer, &$contact, &$hub) {
self::process($xml, $importer, $contact, $hub); self::process($xml, $importer, $contact, $hub);
} }
/** /**
* @brief Imports an XML string containing OStatus elements * @brief Internal feed processing
* *
* @param string $xml The XML * @param string $xml The XML
* @param array $importer user record of the importing user * @param array $importer user record of the importing user
* @param $contact * @param array $contact
* @param array $hub Called by reference, returns the fetched hub data * @param string $hub Called by reference, returns the fetched hub data
* @param boolean $stored Is the post fresh imported or from the database?
* @param boolean $initialize Is it the leading post so that data has to be initialized?
*
* @return boolean Could the XML be processed?
*/ */
private static function process($xml, $importer, &$contact, &$hub, $stored = false, $initialize = true) { private static function process($xml, $importer, &$contact, &$hub, $stored = false, $initialize = true) {
if ($initialize) { if ($initialize) {
@ -465,6 +466,14 @@ class ostatus {
return true; return true;
} }
/**
* @brief Processes the XML for a post
*
* @param object $xpath The xpath object
* @param object $entry The xml entry that is processed
* @param array $item The item array
* @param array $importer user record of the importing user
*/
private static function processPost($xpath, $entry, &$item, $importer) { private static function processPost($xpath, $entry, &$item, $importer) {
$item["uri"] = $xpath->query('atom:id/text()', $entry)->item(0)->nodeValue; $item["uri"] = $xpath->query('atom:id/text()', $entry)->item(0)->nodeValue;
$item["body"] = html2bbcode($xpath->query('atom:content/text()', $entry)->item(0)->nodeValue); $item["body"] = html2bbcode($xpath->query('atom:content/text()', $entry)->item(0)->nodeValue);
@ -591,6 +600,13 @@ class ostatus {
self::$itemlist[] = $item; self::$itemlist[] = $item;
} }
/**
* @brief Fetch related posts and processes them
*
* @param string $related The link to the related item
* @param string $related_uri The related item in "uri" format
* @param array $importer user record of the importing user
*/
private static function fetchRelated($related, $related_uri, $importer) { private static function fetchRelated($related, $related_uri, $importer) {
$condition = array('`item-uri` = ? AND `protocol` IN (?, ?)', $related_uri, PROTOCOL_DFRN, PROTOCOL_OSTATUS_SALMON); $condition = array('`item-uri` = ? AND `protocol` IN (?, ?)', $related_uri, PROTOCOL_DFRN, PROTOCOL_OSTATUS_SALMON);
$conversation = dba::select('conversation', array('source', 'protocol'), $condition, array('limit' => 1)); $conversation = dba::select('conversation', array('source', 'protocol'), $condition, array('limit' => 1));
@ -655,6 +671,16 @@ class ostatus {
return; return;
} }
/**
* @brief Processes the XML for a repeated post
*
* @param object $xpath The xpath object
* @param object $entry The xml entry that is processed
* @param array $item The item array
* @param array $importer user record of the importing user
*
* @return array with data from links
*/
private static function processRepeatedItem($xpath, $entry, &$item, $importer) { private static function processRepeatedItem($xpath, $entry, &$item, $importer) {
$activityobjects = $xpath->query('activity:object', $entry)->item(0); $activityobjects = $xpath->query('activity:object', $entry)->item(0);
@ -704,6 +730,14 @@ class ostatus {
return $link_data; return $link_data;
} }
/**
* @brief Processes links in the XML
*
* @param object $links The xml data that contain links
* @param array $item The item array
*
* @return array with data from the links
*/
private static function processLinks($links, &$item) { private static function processLinks($links, &$item) {
$link_data = array('add_body' => '', 'self' => ''); $link_data = array('add_body' => '', 'self' => '');