function pleio_api_get_wiki($wiki_id, $offset = 0) { $user = elgg_get_logged_in_user_entity(); $user_id = $user !== false ? $user->guid : 0; if (strlen($wiki_id) != 32) { $wiki = get_entity($wiki_id); if ($wiki) { $access_list = pleio_api_get_access_list(); $export = array(); $export = pleio_api_export($wiki); $export["site_guid"] = $wiki->site_guid; $export["parent_guid"] = $wiki->parent_guid; $export["can_edit"] = $wiki->canEdit($user_id) ? 1 : 0; $export["likes_count"] = pleio_api_fetch_likes($wiki_id); $export["liked"] = 0; $export["likes"] = array(); if ($export["likes_count"]) { $export["liked"] = pleio_api_fetch_likes($item->guid, 1, 0, 0, $user->guid) > 0 ? 1 : 0; foreach (pleio_api_fetch_likes($wiki_id, 0, $offset) as $a) { $export["likes"][] = $a["owner_guid"]; } } $export["comments_count"] = pleio_api_fetch_comments($wiki_id, $user_id, $offset, 1); $subwikis = pleio_api_get_sub_wikis(0, $wiki_id, 0, $offset); $export["sub_wikis_count"] = $subwikis["total"]; $export["description"] = preg_replace("/^\\s*\\/\\/\\s*/ism", "", $export["description"]); $author = pleio_api_format_user(get_entity($export["owner_guid"])); $export["name"] = $author["name"]; $export["avatar"] = $author["avatar"]; $export["access_id"] = intval($wiki->access_id); $export["write_access_id"] = intval($wiki->write_access_id); $export["access_name"] = $access_list[$wiki->access_id]; $export["write_access_name"] = $access_list[$wiki->write_access_id]; $export["allow_comments"] = "yes"; return pleio_api_extract_wiki_files($export, $wiki); } } $url = pleio_api_swordfish_baseurl() . "get-page?id=" . $wiki_id; $swordfish_name = pleio_api_swordfish_username($user->username); $result = pleio_api_call_swordfish_api($swordfish_name, $url, "GET"); $export = pleio_api_swordfish_parse_get_page($result, $swordfish_name); if ($export) { return $export; } return new ErrorResult(elgg_echo("pages:error:notfound")); }
function pleio_api_format_tweio($item) { $e = pleio_api_export($item, explode(",", "guid,time_created,owner_guid,container_guid,site_guid,description,parent_guid,childs")); // $parent = get_data_row ( // sprintf ( "select guid_two as guid from %sentity_relationships where relationship = 'parent' and guid_one = %d", get_config ( "dbprefix" ), // $e ["guid"] ) ); // $e ["parent_guid"] = $parent ? intval ( $parent->guid ) : 0; $e["parent_guid"] = $e["parent_guid"] ? intval($e["parent_guid"]) : 0; $e["wire_thread"] = $item->wire_thread; $e["reply"] = $item->reply; $e["thread_id"] = $item->wire_thread && ($item->reply || $item->wire_thread == $e["guid"] && $e["childs"]) ? (string) $item->wire_thread : "0"; $u = pleio_api_format_user(get_user($item->owner_guid)); $e["name"] = $u["name"]; $e["avatar"] = $u["avatar"]; $e["likes_count"] = pleio_api_fetch_likes($item->guid); $e["liked"] = 0; if ($e["likes_count"]) { //$options = array ('guid' => $item->guid, 'annotation_name' => "likes", 'count' => 1, 'annotation_owner_guid' => $user->guid); //$anno = elgg_get_annotations ( $options ); $e["liked"] = pleio_api_fetch_likes($item->guid, 1, 0, 0, $user->guid) > 0 ? 1 : 0; } return $e; }