API: Basic support of the identica client added.
This commit is contained in:
parent
ce0eac44b5
commit
944f897d30
|
@ -121,6 +121,7 @@
|
||||||
if (strpos($a->query_string, ".json")>0) $type="json";
|
if (strpos($a->query_string, ".json")>0) $type="json";
|
||||||
if (strpos($a->query_string, ".rss")>0) $type="rss";
|
if (strpos($a->query_string, ".rss")>0) $type="rss";
|
||||||
if (strpos($a->query_string, ".atom")>0) $type="atom";
|
if (strpos($a->query_string, ".atom")>0) $type="atom";
|
||||||
|
if (strpos($a->query_string, ".as")>0) $type="as";
|
||||||
|
|
||||||
$r = call_user_func($info['func'], $a, $type);
|
$r = call_user_func($info['func'], $a, $type);
|
||||||
if ($r===false) return;
|
if ($r===false) return;
|
||||||
|
@ -144,6 +145,12 @@
|
||||||
header ("Content-Type: application/atom+xml");
|
header ("Content-Type: application/atom+xml");
|
||||||
return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
|
return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
|
||||||
break;
|
break;
|
||||||
|
case "as":
|
||||||
|
//header ("Content-Type: application/json");
|
||||||
|
//foreach($r as $rr)
|
||||||
|
// return json_encode($rr);
|
||||||
|
return json_encode($r);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
//echo "<pre>"; var_dump($r); die();
|
//echo "<pre>"; var_dump($r); die();
|
||||||
|
@ -737,6 +744,71 @@
|
||||||
case "atom":
|
case "atom":
|
||||||
case "rss":
|
case "rss":
|
||||||
$data = api_rss_extra($a, $data, $user_info);
|
$data = api_rss_extra($a, $data, $user_info);
|
||||||
|
break;
|
||||||
|
case "as":
|
||||||
|
$as = array();
|
||||||
|
$as['title'] = $a->config['sitename']." Public Timeline";
|
||||||
|
$items = array();
|
||||||
|
foreach ($ret as $item) {
|
||||||
|
$singleitem["actor"]["displayName"] = $item["user"]["name"];
|
||||||
|
$singleitem["actor"]["id"] = $item["user"]["contact_url"];
|
||||||
|
$avatar[0]["url"] = $item["user"]["profile_image_url"];
|
||||||
|
$avatar[0]["rel"] = "avatar";
|
||||||
|
$avatar[0]["type"] = "";
|
||||||
|
$avatar[0]["width"] = 96;
|
||||||
|
$avatar[0]["height"] = 96;
|
||||||
|
$avatar[1]["url"] = $item["user"]["profile_image_url"];
|
||||||
|
$avatar[1]["rel"] = "avatar";
|
||||||
|
$avatar[1]["type"] = "";
|
||||||
|
$avatar[1]["width"] = 48;
|
||||||
|
$avatar[1]["height"] = 48;
|
||||||
|
$avatar[2]["url"] = $item["user"]["profile_image_url"];
|
||||||
|
$avatar[2]["rel"] = "avatar";
|
||||||
|
$avatar[2]["type"] = "";
|
||||||
|
$avatar[2]["width"] = 24;
|
||||||
|
$avatar[2]["height"] = 24;
|
||||||
|
$singleitem["actor"]["avatarLinks"] = $avatar;
|
||||||
|
|
||||||
|
$singleitem["actor"]["image"]["url"] = $item["user"]["profile_image_url"];
|
||||||
|
$singleitem["actor"]["image"]["rel"] = "avatar";
|
||||||
|
$singleitem["actor"]["image"]["type"] = "";
|
||||||
|
$singleitem["actor"]["image"]["width"] = 96;
|
||||||
|
$singleitem["actor"]["image"]["height"] = 96;
|
||||||
|
$singleitem["actor"]["type"] = "person";
|
||||||
|
$singleitem["actor"]["url"] = $item["person"]["contact_url"];
|
||||||
|
$singleitem["actor"]["statusnet:profile_info"]["local_id"] = $item["user"]["id"];
|
||||||
|
$singleitem["actor"]["statusnet:profile_info"]["following"] = "false"; // $item["user"]["following"]
|
||||||
|
$singleitem["actor"]["statusnet:profile_info"]["blocking"] = "false";
|
||||||
|
$singleitem["actor"]["contact"]["preferredUsername"] = $item["user"]["screen_name"];
|
||||||
|
$singleitem["actor"]["contact"]["displayName"] = $item["user"]["name"];
|
||||||
|
$singleitem["actor"]["contact"]["addresses"] = "";
|
||||||
|
|
||||||
|
$singleitem["body"] = $item["text"];
|
||||||
|
$singleitem["object"]["displayName"] = $item["text"];
|
||||||
|
$singleitem["object"]["id"] = $item["url"];
|
||||||
|
$singleitem["object"]["type"] = "note";
|
||||||
|
$singleitem["object"]["url"] = $item["url"];
|
||||||
|
//$singleitem["context"] =;
|
||||||
|
$singleitem["postedTime"] = date("c", strtotime($item["published"]));
|
||||||
|
$singleitem["provider"]["objectType"] = "service";
|
||||||
|
$singleitem["provider"]["displayName"] = "Test";
|
||||||
|
$singleitem["provider"]["url"] = "http://test.tld";
|
||||||
|
$singleitem["title"] = $item["text"];
|
||||||
|
$singleitem["verb"] = "post";
|
||||||
|
$singleitem["statusnet:notice_info"]["local_id"] = $item["id"];
|
||||||
|
$singleitem["statusnet:notice_info"]["source"] = $item["source"];
|
||||||
|
$singleitem["statusnet:notice_info"]["favorite"] = "false";
|
||||||
|
$singleitem["statusnet:notice_info"]["repeated"] = "false";
|
||||||
|
//$singleitem["original"] = $item;
|
||||||
|
$items[] = $singleitem;
|
||||||
|
}
|
||||||
|
$as['items'] = $items;
|
||||||
|
$link->url = $a->get_baseurl()."/".$user_info["screen_name"]."/all";
|
||||||
|
$link->rel = "alternate";
|
||||||
|
$link->type = "text/html";
|
||||||
|
$as['link'][] = $link;
|
||||||
|
return($as);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return api_apply_template("timeline", $type, $data);
|
return api_apply_template("timeline", $type, $data);
|
||||||
|
|
Loading…
Reference in a new issue