Ejemplo n.º 1
0
RTB_TYPE flist_rtb_get_type(const gchar *type_str)
{
    RTB_TYPE type = None;

    if(flist_str_equal(type_str, "friendrequest"))
        type = FriendRequest;
    else if(flist_str_equal(type_str, "friendadd"))
        type = FriendAdd;
    else if(flist_str_equal(type_str, "friendremove"))
        type = FriendRemove;
    else if(flist_str_equal(type_str, "note"))
        type = Note;
    else if(flist_str_equal(type_str, "bugreport"))
        type = BugReport;
    else if(flist_str_equal(type_str, "helpdeskticket"))
        type = HelpdeskTicket;
    else if(flist_str_equal(type_str, "ticketcreate"))
        type = TicketCreate;
    else if(flist_str_equal(type_str, "helpdeskreply"))
        type = HelpdeskReply;
    else if(flist_str_equal(type_str, "featurerequest"))
        type = FeatureRequest;
    else if(flist_str_equal(type_str, "comment"))
        type = Comment;

    return type;
}
Ejemplo n.º 2
0
gchar *flist_rtb_get_comment_url(const gchar *type, gint target_id, gint comment_id)
{
    gchar *url = NULL;

    if (flist_str_equal(type, "newspost"))
        url = g_strdup_printf(FLIST_URL_NEWSPOST_COMMENT, target_id, comment_id);
    else if(flist_str_equal(type, "bugreport"))
        url = g_strdup_printf(FLIST_URL_BUGREPORT_COMMENT, target_id, comment_id);
    else if(flist_str_equal(type, "changelog"))
        url = g_strdup_printf(FLIST_URL_CHANGELOG_COMMENT, target_id, comment_id);
    else if(flist_str_equal(type, "feature"))
        url = g_strdup_printf(FLIST_URL_FEATURE_COMMENT, target_id, comment_id);

    return url;
}
Ejemplo n.º 3
0
gboolean flist_process_SFC(PurpleConnection *pc, JsonObject *root) {
    const gchar *action;

    action = json_object_get_string_member(root, "action");
    g_return_val_if_fail(action, TRUE);

    if(flist_str_equal(action, "report")) {
        flist_sfc_report(pc, root);
    }

    if(flist_str_equal(action, "confirm")) {
        flist_sfc_confirm(pc, root);
    }

    return TRUE;
}
Ejemplo n.º 4
0
void flist_login(PurpleAccount *pa) {
    PurpleConnection *pc = purple_account_get_connection(pa);
    FListAccount *fla;
    gchar **ac_split;

    fla = g_new0(FListAccount, 1);
    fla->pa = pa;
    fla->pc = pc;

    fla->all_characters = g_hash_table_new_full((GHashFunc)flist_str_hash, (GEqualFunc)flist_str_equal, g_free, (GDestroyNotify)flist_character_free);

    fla->rx_buf = g_malloc0(256); fla->rx_len = 0;
    pc->proto_data = fla;

    ac_split = g_strsplit(purple_account_get_username(pa), ":", 2);
    fla->username = g_strdup(ac_split[0]);
    fla->character = g_strdup(ac_split[1]);
    fla->password = g_strdup(purple_account_get_password(pa));

    //we don't want to display the whole username:character thing
    if(purple_account_get_alias(pa) == NULL || flist_str_equal(purple_account_get_username(pa), purple_account_get_alias(pa))) {
        purple_account_set_alias(pa, fla->character);
    }

    
    /* login options */
    fla->server_address = g_strdup(purple_account_get_string(pa, "server_address", "chat.f-list.net"));
    fla->server_port = purple_account_get_int(pa, "server_port", FLIST_PORT);
    
    fla->sync_bookmarks = purple_account_get_bool(pa, "sync_bookmarks", FALSE);
    fla->sync_friends = purple_account_get_bool(pa, "sync_friends", TRUE);
    
    fla->debug_mode = purple_account_get_bool(pa, "debug_mode", FALSE);
    
    flist_channel_subsystem_load(fla);
    flist_clear_filter(fla);
    flist_global_kinks_load(pc);
    flist_profile_load(pc);
    flist_friends_load(fla);
    
    flist_ticket_timer(fla, 0);
    g_strfreev(ac_split);
}