Exemple #1
0
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"));
}
Exemple #2
0
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;
}