-
Notifications
You must be signed in to change notification settings - Fork 10
FUDAPI
naudefj edited this page Apr 28, 2023
·
2 revisions
FUDAPI is a set of external calls that can be used to integrate applications with FUDforum.
To use the API, include the fudapi.inc.php script into your project. This script can be found inside the forum's scripts/ directory. You may need to modify the top of the fudapi.inc.php file to reference the correct location of GLOBALS.php. Once you've included the file you can just use the functions found within.
This API provides the following functions:
- fud_fetch_msg($message_id)
- fud_fetch_recent_msg($days=1)
- fetch_fetch_msg_by_user($poster_id)
- fud_fetch_full_topic($thread_id)
- fud_fetch_topic($thread_id)
- fud_fetch_poll($poll_id)
- fud_fetch_attachment($att_id)
- fud_fetch_forum($forum_id)
- fud_fetch_cat($cat_id)
- fud_fetch_cat_forums($forum_id)
- fud_forum_stats()
- fud_fetch_online_users()
- fud_fetch_user($user_id)
- fud_fetch_newest_user()
- fud_fetch_random_user()
- fud_fetch_top_poster()
- fud_add_user($vals, &$err)
- fud_update_user($uid, $vals, &$err)
- fud_new_topic($subject, $body, $mode, $author, $forum, $icon=null, $attach=null, $poll=null, $time=null, $tdescr=null)
- fud_new_reply($subject, $body, $mode, $author, $rep_id, $icon=null, $attach=null, $poll=null, $time=null)
- fud_update_message($subject, $body, $mode, $author, $mid, $icon=null, $attach=null, $poll=null)
- fud_delete_msg($message_id)
- fud_delete_topic($thread_id)
- fud_delete_poll($poll_id)
- fud_delete_attachment($att_id)
- fud_delete_user($user_id)
Some FUDAPI examples to get you started:
- Get current login:
<?php require_once 'GLOBALS.php'; require_once 'scripts/fudapi.inc.php'; $cookie = $_COOKIE[ $GLOBALS['COOKIE_NAME'] ] or 0; $ses = _fud_simple_fetch_query(0, "SELECT * FROM {$GLOBALS['DBHOST_TBL_PREFIX']}ses WHERE ses_id = '$cookie'"); echo "Current login is ". fud_fetch_user($ses->user_id)->alias ."\n"; ?>
- List all logged-in users on the forum:
<?php require_once 'GLOBALS.php'; require_once 'fudapi.inc.php'; $ret = fud_fetch_online_users(); foreach ($ret as $item) { echo $item->alias; } ?>
- Fetch the newest member and top poster:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; echo "Newest user: ". fud_fetch_newest_user()->alias ."\n"; echo "Top poster: ". fud_fetch_top_poster()->alias ."\n"; ?>
- Fetch a message from the forum:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; $msg = fud_fetch_msg(1); echo "SUBJECT: ". $msg->subject ."\n"; echo "BODY: ". $msg->body ."\n"; ?>
- List all messages posted during the past 24 hours:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; $msgs = fud_fetch_recent_msg(1); // last 1 day. foreach($msgs as $msg) { echo 'SUBJECT: '. $msg->subject ."\n"; } ?>
- Display all messages belonging to a particular topic:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; $t = fud_fetch_full_topic(1); if (is_array($t)) { foreach($t as $m) { echo "SUBJECT: ". $m->subject .", USER: ". $m->login ."\n"; } } else { echo "SUBJECT: ". $t->subject .", USER: ". $t->login ."\n"; } ?>
- A more complicated example displaying the last 10 topics (without replies) from a particular forum for your site's news page:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; $topics = _fud_msg_multi(1, "SELECT root_msg_id FROM ".$GLOBALS['DBHOST_TBL_PREFIX']."thread WHERE forum_id={ARG} ORDER BY id DESC LIMIT 10"); arsort($topics); foreach($topics as $topic) { echo "POSTER: ". $topic->login ."\n"; echo "SUBJECT: ". $topic->subject ."\n"; echo "BODY: ". $topic->body ."\n\n"; } ?>
- Add a new user to the forum:
<?php require_once 'GLOBALS.php'; require_once 'fudapi.inc.php'; fud_add_user( array('login'=>'me', 'passwd'=>'pass', 'email'=>'me@nowhere.com', 'name'=>'Me'), $err); var_dump($err); ?>
- Remove a forum user:
<?php require_once 'GLOBALS.php'; require_once 'fudapi.inc.php'; $u = _fud_simple_fetch_query(0, "SELECT * FROM {$GLOBALS['DBHOST_TBL_PREFIX']}users WHERE login = 'me'"); if (!empty($u->id)) fud_delete_user($u->id); ?>
- Add a list of users from a CSV file:
<?php include_once 'GLOBALS.php'; include_once 'fudapi.inc.php'; $fh = fopen ('users.csv', 'r') or die('Could not open CSV file'); while (!feof($fh)) { $fields = fgetcsv($fh, 4096); $err = 0; $vals = array(); $vals['login'] = $fields[0]; $vals['passwd'] = $fields[1]; $vals['email'] = $fields[2]; $vals['name'] = $fields[3]; $vals['reg_ip'] = $fields[5]; $usid = fud_add_user($vals, $err); } fclose ($fh); ?>
- Login integration, functions to log external applications on to the forum.
[ Home ] [ Features ] [ Installation ] [ Upgrading ] [ Administration ] [ Support ] [ Internals ]