[Package Index | Mudlib Index | Effect Index]

File /obj/handlers/board_handler.c

Keeps track of all the bulletin board notes and related information.

Written by Pinkfish

Includes

This class includes the following files /include/clubs.h, /include/player_handler.h, /include/mail.h, /include/am_time.h and /include/board.h

Class Index

Method index

Public Functions

These are functions that everyone can access.

add_admin_only_board
void add_admin_only_board(string board)

This method adds the board to the list of admin only boards.

Parameters:
board - the board to add to the list


add_allowed
int add_allowed(string board,
                string name)

Adds a member into the security array for a board. This allows certain people to read boards they may not normaly have access to.

Parameters:
board - the board to change the access on
name - the name of the person to add to the array

Returns:
0 on failure, 1 on success


add_idiot
void add_idiot(string idiot,
               int length)

This method adds an idiot to the current list of idiots.

Parameters:
idiot - the idiot to add
length - the amount of days to add them for


add_message
int add_message(string board,
                string cap_name,
                string subject,
                string body,
                int reply_to,
                class reply_type bing)

Adds a new message onto the board. This call can only be done from verified source, like the bulletin oard objects themselves. The number used as a reply to should be the message number itself, not the logical index. If the reply_to is 0 then it is not replying to anything at all.

Parameters:
board - the board to add the message to
cap_name - the name ofthe person posting
subject - the subject of the message
body - the main section of the text
reply_to - the note the message is replying to

Returns:
the note number, or 0 on failure


can_delete_message
int can_delete_message(string board,
                       int off,
                       string pname)

Check to see if the named person can delete the message.

Parameters:
pname - the player name
board - the board name
off - the offset to delete

See also:
delete_message()


clean_cache
void clean_cache()
create_board
int create_board(string board,
                 int priviliges,
                 string person)

Create a new board.

Parameters:
board - the name of the board to create
priva - is this board only allowed prviliged access?
person - the person to add into the security array initialy

Returns:
0 on a failure, 1 on success


delete_board
int delete_board(string board)

Complete erase a board.

Parameters:
board - the board to delete

Returns:
0 on failure and 1 on success


delete_message
int delete_message(string board,
                   int off,
                   string override_name)

Remove a message from a board. The offset is the offset into the subjects array.

Parameters:
board - the board to remove the message from
off - the offset to delete
override_name - used by the web boards

Returns:
0 on failure and 1 on success


edit_message
int edit_message(string board,
                 string body,
                 string cap_name,
                 int post_time,
                 int num)

Edits a new message on the board. This call can only be done from verified source, like the bulletin oard objects themselves. The number used as a reply to should be the message number itself, not the logical index. If the reply_to is 0 then it is not replying to anything at all.

Parameters:
board - the board to edit the message on
body - the main section of the text
cap_name - the name of the person posting
post_time - the time the original post was made
num - the note number of the messages

Returns:
the note number, or 0 on failure


expire_boards
void expire_boards()

This method runs through all the messages and expires any which are too old.
force_board_method_access_restricted
int force_board_method_access_restricted(string board)

This method changes the type of the board to be a method access call access restriction, instead of whatever it had before.

Parameters:
board - the name of the board to control the access for


get_message
string get_message(string board,
                   int num,
                   string person)

Get the text of a specific message. This will look up the text on a board with the given number and return that to the caller. The number is the offset into the subject array in which to get the message from.

Parameters:
board - the board name to get the message from
num - the message number to use

Returns:
the message or 0 if it failed


get_subjects
varargs mixed get_subjects(string name,
                           string person)

Get the subjects for the specifed board. The subjects are returns in a special array format. See the include file for the defines to get at the members of the array.

Parameters:
name - the board name to lookup

Returns:
the subject array

See also:
/include/board.h


is_board
int is_board(string board)

This method tests to see if the board exists.

Parameters:
board - the name of the board to check

Returns:
1 if the board exists, 0 if it does not


is_idiot
int is_idiot(string name)

This method checks to see if the specified person is an idiot or not.

Parameters:
name - the name to check

Returns:
1 if they are an idiot


list_killfile
string * list_killfile(string player)

Retrieve a players killfile list

Parameters:
string - the players name

Returns:
string * the list of boards in their killfile


list_of_boards
string * list_of_boards()

The names of all the boards.

Returns:
the list of all the boards

See also:
query_boards()


query_archive
string query_archive(string board)

Return the archive file location for the board.

Parameters:
board - the board to get the archive location for

Returns:
the archive file location, 0 on failure


query_board_order
string * query_board_order(string player)

Retrieve someones chosen board order.

Parameters:
string - the players name

Returns:
the list of boards, in order


query_boards
string * query_boards()

Returns the names of all the boards.

Returns:
the names of all the boards


query_cache
void query_cache()
query_idiot
int query_idiot(string idiot)

This method returns if they are an idiot and when their period of idiocy runs out.

Parameters:
idiot - the idiot to check

Returns:
0 if not an idiot, the time left otherwise


query_killfile
int query_killfile(string player,
                   string board)

Find out if a given board is in a player killfile

Parameters:
string - the name of the player
string - the name of the board (in lowercase)

Returns:
1 if it is, 0 if it isn't


query_maximum
int query_maximum(string board)

Return the maximum number of message allowed on the board.

Parameters:
board - the board to get the maximum numbr of message for

Returns:
0 on failure, the maximum number of messages on success


query_minimum
int query_minimum(string board)

Return the minimum number of message allowed on the board.

Parameters:
board - the board to get the minimum numbr of message for

Returns:
0 on failure, the minimum number of messages on success


query_newsrc
mapping query_newsrc(string player)

Get someones newsrc

Parameters:
string - the name of the player

Returns:
mapping their newsrc


query_no_inform
int query_no_inform(string board)

This method checks to see if the board is in a no inform mode.

Parameters:
board - the name of the board to check

Returns:
1 if it is no inform, 0 if not


query_num
int query_num()

The current max board number.
query_prevent_shadow
int query_prevent_shadow()

Prevents the object from being shadowed.
query_privilage
int query_privilage(string board)

This method returns the current privilage level of the board in question. This should be used for testing only.

Returns:
the current privilage level


query_read_only
int query_read_only(string board)

This method checks to see if the board is in a read only mode.

Parameters:
board - the name of the board to check

Returns:
1 if it is read only, 0 if not


query_restricted_access
int query_restricted_access(string board)

This method checks to see if the board is in restricted access mode.

Parameters:
board - the name of the board to check

Returns:
1 if it is, 0 if it is not


query_restricted_access_file
int query_restricted_access_file(string board)

This method checkes to see if the board is in restricted access file mode.

Parameters:
board - the name of the board to check

Returns:
1 if it is, 0 if it is not


query_security
string * query_security(string board)

Returns the security array for the given board.

Parameters:
board - the board to get the security array for

Returns:
the security array


query_timeout
int query_timeout(string board)

Return the timeout time of the board.

Parameters:
board - the board to get the timeout for

Returns:
the timeout in seconds

See also:
set_timeout()


remove_admin_only_board
void remove_admin_only_board(string board)

This method removes the board from the list of admin only boards.

Parameters:
board - the board to remove from the list


remove_allowed
int remove_allowed(string board,
                   string name)

Remove someone from the allowed array of the board.

Parameters:
board - the board to remove the person from
name - the name of the person to remove

Returns:
0 on nfailure and 1 on success


remove_killfile
int remove_killfile(string player,
                    string board)
save_me
void save_me()

Saves the state of the object.
set_archive
int set_archive(string board,
                string file)

Set the archive file location. This is where all deleted messages wil be stored.

Parameters:
board - the board to set the archive for
file - the file name to set it to

Returns:
0 on failure and 1 on success


set_board_order
int set_board_order(string player,
                    string * new_order)

Set the order boards should be shown in for a given player.

Parameters:
string - a players name
string - * the list of boards

Returns:
1 for success, 0 for failure


set_killfile
int set_killfile(string player,
                 string board)

Add a board to someones killfile

Parameters:
string - the name of the player
string - the name of the board (in lowercase)

Returns:
1 for success, 0 for failure


set_maximum
int set_maximum(string board,
                int max)

Set the maximum number of message before they start being auto deleted when someone posts to the board.

Parameters:
board - the board to set the maximum for
max - the maximum number of messages

Returns:
0 if it failed and 1 on success


set_method_access_call
int set_method_access_call(string board,
                           string method,
                           string name)

This method sets the method to call to check for allowed postings to a board setup as an method controlled post board.

Parameters:
board - the name of the board to setup the method for
method - the method to call on the object
name - the object to call the method on

Returns:
0 if the method failed, 1 if it was successful


set_minimum
int set_minimum(string board,
                int min)

Sets the minimum number of message to keep on a board. If there is less than this number then they will not be auto deleted.

Parameters:
board - the board to set the minimum for
min - the number of message to keep

Returns:
0 on failure and 1 on success


set_newsrc
int set_newsrc(string player,
               mapping newsrc)

Set someones newsrc

Parameters:
string - the name of the player
mapping - their new newsrc

Returns:
1 for success, 0 for failure


set_timeout
int set_timeout(string board,
                int timeout)

Change the time before a message automatic gets deleted off a board.

Parameters:
board - the name of the board to set the timeout for
timeout - the timeout (in seconds)

Returns:
0 on failure and 1 on success


show_flags
void show_flags(string board)
test_can_delete
int test_can_delete(string board,
                    object previous,
                    string name)

Check to see if delete is allowed.

Parameters:
board - the board to check
previous - the previous object
name - the name of the person doing stuff

Returns:
1 if it is allowed, 0 if not


test_can_read
int test_can_read(string board,
                  object previous,
                  string name)

Check to see if read access is allowed.

Parameters:
board - the board to check
previous - the previous object
name - the name of the person doing stuff

Returns:
1 if it is allowed, 0 if not


test_can_write
int test_can_write(string board,
                   object previous,
                   string name)

Check to see if write access is allowed.

Parameters:
board - the board to check
previous - the previous object
name - the name of the person doing stuff

Returns:
1 if it is allowed, 0 if not


Classes

These are nice data types for dealing with... Data!