[an error occurred while processing this directive]
[<a href="index.shtml">Package Index</a></code> | <a href="index_std.shtml">Mudlib Index</a></code> | <a href="index_eff.shtml">Effect Index</a></code>]<br><h2>File /obj/handlers/project_management.c</h2>
 Project Management System
 @author Drakkos
 @started 19/08/2001
<h2>Includes</h2>
This class includes the following files /include/project_management.h, /include/player_handler.h, /include/cmds/twiki.h, /include/board.h, /include/permissions.h, /include/mail.h and /include/playtesters.h<h2>Class Index</h2>
<ul><li><a href="#class_file_access_cache">file_access_cache</a>
</ul><h2>Method index</h2>
<ul>
<li><a href="#add_cache_file">add_cache_file</a>(string)<li><a href="#add_creator">add_creator</a>(string, string)<li><a href="#add_domain">add_domain</a>(string, string)<li><a href="#add_file">add_file</a>(string, string, int, string, string)<li><a href="#add_note_to_project">add_note_to_project</a>(string, string, string, string)<li><a href="#add_playtester">add_playtester</a>(string, string *)<li><a href="#add_project">add_project</a>(string, string, string, string, string *, string *, string, int, int, string *)<br/>
 Add a project to the database.
<li><a href="#add_task_creator">add_task_creator</a>(string, string, string)<li><a href="#add_task_to_project">add_task_to_project</a>(string, string, string, string)<li><a href="#add_twiki">add_twiki</a>(string, string)<li><a href="#assign_playtesters">assign_playtesters</a>(string, string *, string)<li><a href="#assign_project_task_creator">assign_project_task_creator</a>(string, string, string)<li><a href="#assign_pts_to_project">assign_pts_to_project</a>(mixed)<li><a href="#brute_delete">brute_delete</a>(string)<li><a href="#catch_status_change">catch_status_change</a>(string, int)<li><a href="#clear">clear</a>()<li><a href="#clear_file_cache">clear_file_cache</a>(string)<li><a href="#clear_playtesting_projects">clear_playtesting_projects</a>(string *)<li><a href="#data_dump">data_dump</a>()<li><a href="#delete_note">delete_note</a>(string, string, string)<br/>
 Delete a note from a project.
<li><a href="#delete_project">delete_project</a>(string, string)<br/>
 Delete a project from the array.
<li><a href="#delete_task">delete_task</a>(string, string, string)<br/>
 Delete a task from a project.
<li><a href="#do_inform">do_inform</a>()<br/>
 Compile the information for the creator inform.
<li><a href="#do_load">do_load</a>()<br/>
 Load the file.
<li><a href="#do_log">do_log</a>(string)<br/>
 Log text to the project management logfile.
<li><a href="#do_mail">do_mail</a>(string *, string, string)<li><a href="#do_save">do_save</a>()<br/>
 Save the file.
<li><a href="#filter_by_query">filter_by_query</a>(mapping)<li><a href="#filter_tasks_by_query">filter_tasks_by_query</a>(string, mapping)<li><a href="#find_cache_file">find_cache_file</a>(string)<br/>
 Find the cache entry for a particular file.
<li><a href="#find_file">find_file</a>(mixed, string, string)<br/>
 Find the occurance of a particular file for a project.
<li><a href="#find_index">find_index</a>(string, mixed *)<br/>
 Find the occurance of a particular ID in a particular array.
<li><a href="#find_note">find_note</a>(mixed, string)<br/>
 Find the index of a particular note for a project.
<li><a href="#find_project">find_project</a>(string)<br/>
 Find the index of a particular project.
<li><a href="#find_task">find_task</a>(mixed, string)<br/>
 Find the index of a particular task for a project.
<li><a href="#generate_pt_report">generate_pt_report</a>()<li><a href="#get_note_file">get_note_file</a>(string, string)<li><a href="#get_playtesting_projects">get_playtesting_projects</a>()<li><a href="#get_project_file">get_project_file</a>(string)<li><a href="#get_task_file">get_task_file</a>(string, string)<li><a href="#insert_into_cache">insert_into_cache</a>(mixed)<li><a href="#insert_into_notes">insert_into_notes</a>(int, mixed)<br/>
 Insert an element into the notes array.
<li><a href="#insert_into_projects">insert_into_projects</a>(mixed)<br/>
 Insert an element into the projects array.
<li><a href="#insert_into_tasks">insert_into_tasks</a>(int, mixed)<br/>
 Insert an element into the tasks array.
<li><a href="#is_creator_on_project">is_creator_on_project</a>(string, string)<li><a href="#make_post">make_post</a>()<li><a href="#next_rotation_time">next_rotation_time</a>(mixed)<li><a href="#nuke_creator_project_cache">nuke_creator_project_cache</a>(string *)<li><a href="#parse_details">parse_details</a>(class project)<br/>
 Return a brief summary of the pertinent details of a particular project.
<li><a href="#project_info">project_info</a>(string)<li><a href="#project_note_data">project_note_data</a>(string)<li><a href="#project_task_data">project_task_data</a>(string)<li><a href="#query_all_projects_info">query_all_projects_info</a>()<li><a href="#query_all_pts">query_all_pts</a>(string)<li><a href="#query_description">query_description</a>(string)<li><a href="#query_file_permission">query_file_permission</a>(string, string, int)<li><a href="#query_files">query_files</a>(string)<li><a href="#query_guild_specific">query_guild_specific</a>(mixed)<li><a href="#query_last_summary">query_last_summary</a>()<li><a href="#query_number_of_pts">query_number_of_pts</a>(mixed)<li><a href="#query_number_rotations">query_number_rotations</a>(mixed)<li><a href="#query_permission">query_permission</a>(string, string, string, int)<li><a href="#query_playtesters">query_playtesters</a>(mixed)<li><a href="#query_project_completeness">query_project_completeness</a>(string)<li><a href="#query_project_domains">query_project_domains</a>(string)<li><a href="#query_project_leader">query_project_leader</a>(string)<li><a href="#query_project_lock">query_project_lock</a>(string)<li><a href="#query_project_name">query_project_name</a>(string)<li><a href="#query_project_notes">query_project_notes</a>(string)<li><a href="#query_project_subprojects">query_project_subprojects</a>(string)<li><a href="#query_project_tasks">query_project_tasks</a>(string)<li><a href="#query_projects">query_projects</a>()<li><a href="#query_projects_for_creator">query_projects_for_creator</a>(string)<li><a href="#query_projects_for_creator_in_domain">query_projects_for_creator_in_domain</a>(string, string)<li><a href="#query_pt_cache">query_pt_cache</a>()<li><a href="#query_pt_notes">query_pt_notes</a>(string)<li><a href="#query_pt_projects">query_pt_projects</a>(string)<li><a href="#query_rotation">query_rotation</a>(mixed)<li><a href="#query_size">query_size</a>(mixed)<li><a href="#query_status">query_status</a>(string)<li><a href="#query_summary_mapping">query_summary_mapping</a>()<li><a href="#query_summary_page">query_summary_page</a>()<br/>
 Return the details of projects that have been touched since the
 last summary.
<li><a href="#query_task_aims">query_task_aims</a>(string, string)<li><a href="#query_task_comments">query_task_comments</a>(string, string)<li><a href="#query_task_completion">query_task_completion</a>(string, string)<li><a href="#query_task_completion_date">query_task_completion_date</a>(string, string)<li><a href="#query_task_creators">query_task_creators</a>(string, string)<li><a href="#query_task_name">query_task_name</a>(string, string)<li><a href="#query_time_to_rotate">query_time_to_rotate</a>(mixed)<li><a href="#query_touched">query_touched</a>(string)<br/>
 Return a formatted string saying when the project was last touched.
<li><a href="#query_twiki">query_twiki</a>(string)<li><a href="#remove_file">remove_file</a>(string, string, string, string)<li><a href="#remove_playtester">remove_playtester</a>(string, string *)<li><a href="#reset_files">reset_files</a>(string)<li><a href="#rotate_project">rotate_project</a>(mixed)<li><a href="#save_file">save_file</a>()<br/>
 Call out the do_save function.
<li><a href="#set_completion_date">set_completion_date</a>(string, int)<li><a href="#set_complexity">set_complexity</a>(mixed, int)<li><a href="#set_description">set_description</a>(string, string)<li><a href="#set_guild_specific">set_guild_specific</a>(mixed, string *)<li><a href="#set_note_file">set_note_file</a>(string, string, class note, string)<li><a href="#set_project_completeness">set_project_completeness</a>(string, int)<li><a href="#set_project_file">set_project_file</a>(string, class project, string)<li><a href="#set_project_leader">set_project_leader</a>(string, string)<li><a href="#set_project_lock">set_project_lock</a>(string)<li><a href="#set_project_name">set_project_name</a>(string, string)<li><a href="#set_rotations">set_rotations</a>(string, int)<li><a href="#set_size">set_size</a>(mixed, int)<li><a href="#set_status">set_status</a>(string, int)<li><a href="#set_status_change">set_status_change</a>(string, int)<li><a href="#set_task_aims">set_task_aims</a>(string, string, string)<li><a href="#set_task_comments">set_task_comments</a>(string, string, string)<li><a href="#set_task_completion">set_task_completion</a>(string, string, int)<li><a href="#set_task_completion_date">set_task_completion_date</a>(string, string, int)<li><a href="#set_task_file">set_task_file</a>(string, string, class task, string)<li><a href="#set_task_name">set_task_name</a>(string, string, string)<li><a href="#task_info">task_info</a>(string, string)<li><a href="#test_num">test_num</a>()<li><a href="#touch_project">touch_project</a>(string, string, string)<br/>
 Touch a project.
<li><a href="#update_project">update_project</a>(string)<li><a href="#update_project_task_completeness">update_project_task_completeness</a>(string, string, int)<li><a href="#valid_operation">valid_operation</a>(string, string, string, string *)</ul>
<h2>Public Functions</h2>
These are functions that everyone can access.<p>
<dl>
<dt class="autodocfuncname"><a name="add_cache_file">
add_cache_file</a><pre class="autodocfuncdef">
int add_cache_file(string id)
</pre>
<dt class="autodocfuncname"><a name="add_creator">
add_creator</a><pre class="autodocfuncdef">
int add_creator(string id,
                string creator)
</pre>
<dt class="autodocfuncname"><a name="add_domain">
add_domain</a><pre class="autodocfuncdef">
int add_domain(string id,
               string domain)
</pre>
<dt class="autodocfuncname"><a name="add_file">
add_file</a><pre class="autodocfuncdef">
int add_file(string id,
             string file,
             int access,
             string name,
             string task)
</pre>
<dt class="autodocfuncname"><a name="add_note_to_project">
add_note_to_project</a><pre class="autodocfuncdef">
int add_note_to_project(string id,
                        string note_id,
                        string note,
                        string name)
</pre>
<dt class="autodocfuncname"><a name="add_playtester">
add_playtester</a><pre class="autodocfuncdef">
string * add_playtester(string id,
                        string * pt)
</pre>
<dt class="autodocfuncname"><a name="add_project">
add_project</a><pre class="autodocfuncdef">
int add_project(string id,
                string nname,
                string lead,
                string desc,
                string * dom,
                string * cre,
                string add_name,
                int size,
                int complexity,
                string * guilds)
</pre><dd><br />
 Add a project to the database.
 @param id the project to add.
 @param nname the name of the project
 @param lead the project leader.
 @param desc the description of the project
 @param dom the domains the project belongs to
 @param cre the creators assigned to the project
 @param add_name the person adding the project.
 @returns the index of the added project, or -1 if the project already
   exists
<br />

<dt class="autodocfuncname"><a name="add_task_creator">
add_task_creator</a><pre class="autodocfuncdef">
int add_task_creator(string id,
                     string task_id,
                     string creator)
</pre>
<dt class="autodocfuncname"><a name="add_task_to_project">
add_task_to_project</a><pre class="autodocfuncdef">
int add_task_to_project(string id,
                        string task_id,
                        string name,
                        string aim)
</pre>
<dt class="autodocfuncname"><a name="add_twiki">
add_twiki</a><pre class="autodocfuncdef">
int add_twiki(string id,
              string twiki)
</pre>
<dt class="autodocfuncname"><a name="assign_playtesters">
assign_playtesters</a><pre class="autodocfuncdef">
int assign_playtesters(string id,
                       string * pt,
                       string name)
</pre>
<dt class="autodocfuncname"><a name="assign_project_task_creator">
assign_project_task_creator</a><pre class="autodocfuncdef">
int assign_project_task_creator(string id,
                                string task,
                                string creator)
</pre>
<dt class="autodocfuncname"><a name="assign_pts_to_project">
assign_pts_to_project</a><pre class="autodocfuncdef">
string * assign_pts_to_project(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="brute_delete">
brute_delete</a><pre class="autodocfuncdef">
int brute_delete(string id)
</pre>
<dt class="autodocfuncname"><a name="catch_status_change">
catch_status_change</a><pre class="autodocfuncdef">
void catch_status_change(string id,
                         int status)
</pre>
<dt class="autodocfuncname"><a name="clear">
clear</a><pre class="autodocfuncdef">
void clear()
</pre>
<dt class="autodocfuncname"><a name="clear_file_cache">
clear_file_cache</a><pre class="autodocfuncdef">
int clear_file_cache(string nfile)
</pre>
<dt class="autodocfuncname"><a name="clear_playtesting_projects">
clear_playtesting_projects</a><pre class="autodocfuncdef">
int clear_playtesting_projects(string * names)
</pre>
<dt class="autodocfuncname"><a name="data_dump">
data_dump</a><pre class="autodocfuncdef">
class project * data_dump()
</pre>
<dt class="autodocfuncname"><a name="delete_note">
delete_note</a><pre class="autodocfuncdef">
int delete_note(string id,
                string note_id,
                string name)
</pre><dd><br />
 Delete a note from a project.
 @param id the project to search for.
 @param note_id the note to search for
 @param name the name of the person deleting.
 @returns 1.
<br />

<dt class="autodocfuncname"><a name="delete_project">
delete_project</a><pre class="autodocfuncdef">
int delete_project(string id,
                   string name)
</pre><dd><br />
 Delete a project from the array.
 @param id the note to search for.
 @param name the name of the person deleting.
 @returns 1.
<br />

<dt class="autodocfuncname"><a name="delete_task">
delete_task</a><pre class="autodocfuncdef">
int delete_task(string id,
                string task_id,
                string name)
</pre><dd><br />
 Delete a task from a project.
 @param id the project to search for.
 @param task_id the task to search for
 @param name the name of the person deleting.
 @returns 1.
<br />

<dt class="autodocfuncname"><a name="do_inform">
do_inform</a><pre class="autodocfuncdef">
void do_inform()
</pre><dd><br />
 Compile the information for the creator inform.
<br />

<dt class="autodocfuncname"><a name="do_load">
do_load</a><pre class="autodocfuncdef">
void do_load()
</pre><dd><br />
 Load the file.
 @ignore yes
<br />

<dt class="autodocfuncname"><a name="do_log">
do_log</a><pre class="autodocfuncdef">
void do_log(string text)
</pre><dd><br />
 Log text to the project management logfile.
 @ignore yes
<br />

<dt class="autodocfuncname"><a name="do_mail">
do_mail</a><pre class="autodocfuncdef">
void do_mail(string * playtesters,
             string leader,
             string proj)
</pre>
<dt class="autodocfuncname"><a name="do_save">
do_save</a><pre class="autodocfuncdef">
void do_save()
</pre><dd><br />
 Save the file.
 @ignore yes
<br />

<dt class="autodocfuncname"><a name="filter_by_query">
filter_by_query</a><pre class="autodocfuncdef">
class project * filter_by_query(mapping query)
</pre>
<dt class="autodocfuncname"><a name="filter_tasks_by_query">
filter_tasks_by_query</a><pre class="autodocfuncdef">
class task * filter_tasks_by_query(string id,
                                   mapping query)
</pre>
<dt class="autodocfuncname"><a name="find_cache_file">
find_cache_file</a><pre class="autodocfuncdef">
int find_cache_file(string file)
</pre><dd><br />
 Find the cache entry for a particular file.
 @param id the project to search for.
 @returns the index of the project, or -1 if none is found.
<br />

<dt class="autodocfuncname"><a name="find_file">
find_file</a><pre class="autodocfuncdef">
class file * find_file(mixed i,
                       string nfile,
                       string task)
</pre><dd><br />
 Find the occurance of a particular file for a project.
 @param i the project to search for
 @param file the file to search for.
 @returns the index of the task, or -1 if none is found.
<br />

<dt class="autodocfuncname"><a name="find_note">
find_note</a><pre class="autodocfuncdef">
int find_note(mixed i,
              string id)
</pre><dd><br />
 Find the index of a particular note for a project.
 @param i the project to search for
 @param id the note to search for.
 @returns the index of the note, or -1 if none is found.
<br />

<dt class="autodocfuncname"><a name="find_project">
find_project</a><pre class="autodocfuncdef">
int find_project(string id)
</pre><dd><br />
 Find the index of a particular project.
 @param id the project to search for.
 @returns the index of the project, or -1 if none is found.
<br />

<dt class="autodocfuncname"><a name="find_task">
find_task</a><pre class="autodocfuncdef">
int find_task(mixed i,
              string id)
</pre><dd><br />
 Find the index of a particular task for a project.
 @param i the project to search for
 @param id the task to search for.
 @returns the index of the task, or -1 if none is found.
<br />

<dt class="autodocfuncname"><a name="generate_pt_report">
generate_pt_report</a><pre class="autodocfuncdef">
string generate_pt_report()
</pre>
<dt class="autodocfuncname"><a name="get_note_file">
get_note_file</a><pre class="autodocfuncdef">
class note get_note_file(string id,
                         string t)
</pre>
<dt class="autodocfuncname"><a name="get_playtesting_projects">
get_playtesting_projects</a><pre class="autodocfuncdef">
class project * get_playtesting_projects()
</pre>
<dt class="autodocfuncname"><a name="get_project_file">
get_project_file</a><pre class="autodocfuncdef">
class project get_project_file(string id)
</pre>
<dt class="autodocfuncname"><a name="get_task_file">
get_task_file</a><pre class="autodocfuncdef">
class task get_task_file(string id,
                         string t)
</pre>
<dt class="autodocfuncname"><a name="insert_into_cache">
insert_into_cache</a><pre class="autodocfuncdef">
int insert_into_cache(mixed temp)
</pre>
<dt class="autodocfuncname"><a name="insert_into_notes">
insert_into_notes</a><pre class="autodocfuncdef">
int insert_into_notes(int i,
                      mixed temp)
</pre><dd><br />
 Insert an element into the notes array.  It will do this
 alphabetically to ensure that the binary search algorithim
 can locate projects.
 @param i the index of the project to insert into.
 @param temp the element to insert
 @returns the index of the inserted element.
<br />

<dt class="autodocfuncname"><a name="insert_into_projects">
insert_into_projects</a><pre class="autodocfuncdef">
int insert_into_projects(mixed temp)
</pre><dd><br />
 Insert an element into the projects array.  It will do this
 alphabetically to ensure that the binary search algorithim
 can locate projects.
 @param temp the element to insert
 @returns the index of the inserted element.
<br />

<dt class="autodocfuncname"><a name="insert_into_tasks">
insert_into_tasks</a><pre class="autodocfuncdef">
int insert_into_tasks(int i,
                      mixed temp)
</pre><dd><br />
 Insert an element into the tasks array.  It will do this
 alphabetically to ensure that the binary search algorithim
 can locate projects.
 @param i the index of the project to insert into.
 @param temp the element to insert
 @returns the index of the inserted element.
<br />

<dt class="autodocfuncname"><a name="is_creator_on_project">
is_creator_on_project</a><pre class="autodocfuncdef">
int is_creator_on_project(string name,
                          string id)
</pre>
<dt class="autodocfuncname"><a name="make_post">
make_post</a><pre class="autodocfuncdef">
int make_post()
</pre>
<dt class="autodocfuncname"><a name="next_rotation_time">
next_rotation_time</a><pre class="autodocfuncdef">
int next_rotation_time(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="nuke_creator_project_cache">
nuke_creator_project_cache</a><pre class="autodocfuncdef">
int nuke_creator_project_cache(string * creators)
</pre>
<dt class="autodocfuncname"><a name="parse_details">
parse_details</a><pre class="autodocfuncdef">
string parse_details(class project p)
</pre><dd><br />
 Return a brief summary of the pertinent details of a particular project.
 @param p the project to summarise.
 @returns the string summary.
<br />

<dt class="autodocfuncname"><a name="project_info">
project_info</a><pre class="autodocfuncdef">
string project_info(string id)
</pre>
<dt class="autodocfuncname"><a name="project_note_data">
project_note_data</a><pre class="autodocfuncdef">
class note * project_note_data(string id)
</pre>
<dt class="autodocfuncname"><a name="project_task_data">
project_task_data</a><pre class="autodocfuncdef">
class task * project_task_data(string id)
</pre>
<dt class="autodocfuncname"><a name="query_all_projects_info">
query_all_projects_info</a><pre class="autodocfuncdef">
string query_all_projects_info()
</pre>
<dt class="autodocfuncname"><a name="query_all_pts">
query_all_pts</a><pre class="autodocfuncdef">
string * query_all_pts(string proj)
</pre>
<dt class="autodocfuncname"><a name="query_description">
query_description</a><pre class="autodocfuncdef">
string query_description(string id)
</pre>
<dt class="autodocfuncname"><a name="query_file_permission">
query_file_permission</a><pre class="autodocfuncdef">
int query_file_permission(string name,
                          string nfile,
                          int access)
</pre>
<dt class="autodocfuncname"><a name="query_files">
query_files</a><pre class="autodocfuncdef">
class file * query_files(string id)
</pre>
<dt class="autodocfuncname"><a name="query_guild_specific">
query_guild_specific</a><pre class="autodocfuncdef">
string * query_guild_specific(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_last_summary">
query_last_summary</a><pre class="autodocfuncdef">
int query_last_summary()
</pre>
<dt class="autodocfuncname"><a name="query_number_of_pts">
query_number_of_pts</a><pre class="autodocfuncdef">
int query_number_of_pts(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_number_rotations">
query_number_rotations</a><pre class="autodocfuncdef">
int query_number_rotations(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_permission">
query_permission</a><pre class="autodocfuncdef">
int query_permission(string project,
                     string name,
                     string nfile,
                     int access)
</pre>
<dt class="autodocfuncname"><a name="query_playtesters">
query_playtesters</a><pre class="autodocfuncdef">
string * query_playtesters(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_project_completeness">
query_project_completeness</a><pre class="autodocfuncdef">
int query_project_completeness(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_domains">
query_project_domains</a><pre class="autodocfuncdef">
string * query_project_domains(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_leader">
query_project_leader</a><pre class="autodocfuncdef">
string query_project_leader(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_lock">
query_project_lock</a><pre class="autodocfuncdef">
int query_project_lock(string project)
</pre>
<dt class="autodocfuncname"><a name="query_project_name">
query_project_name</a><pre class="autodocfuncdef">
string query_project_name(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_notes">
query_project_notes</a><pre class="autodocfuncdef">
string * query_project_notes(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_subprojects">
query_project_subprojects</a><pre class="autodocfuncdef">
string * query_project_subprojects(string id)
</pre>
<dt class="autodocfuncname"><a name="query_project_tasks">
query_project_tasks</a><pre class="autodocfuncdef">
string * query_project_tasks(string id)
</pre>
<dt class="autodocfuncname"><a name="query_projects">
query_projects</a><pre class="autodocfuncdef">
string * query_projects()
</pre>
<dt class="autodocfuncname"><a name="query_projects_for_creator">
query_projects_for_creator</a><pre class="autodocfuncdef">
string * query_projects_for_creator(string c)
</pre>
<dt class="autodocfuncname"><a name="query_projects_for_creator_in_domain">
query_projects_for_creator_in_domain</a><pre class="autodocfuncdef">
string * query_projects_for_creator_in_domain(string creator,
                                              string domain)
</pre>
<dt class="autodocfuncname"><a name="query_pt_cache">
query_pt_cache</a><pre class="autodocfuncdef">
string * query_pt_cache()
</pre>
<dt class="autodocfuncname"><a name="query_pt_notes">
query_pt_notes</a><pre class="autodocfuncdef">
varargs string * query_pt_notes(string id)
</pre>
<dt class="autodocfuncname"><a name="query_pt_projects">
query_pt_projects</a><pre class="autodocfuncdef">
string * query_pt_projects(string name)
</pre>
<dt class="autodocfuncname"><a name="query_rotation">
query_rotation</a><pre class="autodocfuncdef">
int query_rotation(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_size">
query_size</a><pre class="autodocfuncdef">
int query_size(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_status">
query_status</a><pre class="autodocfuncdef">
int query_status(string id)
</pre>
<dt class="autodocfuncname"><a name="query_summary_mapping">
query_summary_mapping</a><pre class="autodocfuncdef">
mapping query_summary_mapping()
</pre>
<dt class="autodocfuncname"><a name="query_summary_page">
query_summary_page</a><pre class="autodocfuncdef">
string query_summary_page()
</pre><dd><br />
 Return the details of projects that have been touched since the
 last summary.
 @returns the recent project changes.
<br />

<dt class="autodocfuncname"><a name="query_task_aims">
query_task_aims</a><pre class="autodocfuncdef">
string query_task_aims(string id,
                       string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_task_comments">
query_task_comments</a><pre class="autodocfuncdef">
string query_task_comments(string id,
                           string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_task_completion">
query_task_completion</a><pre class="autodocfuncdef">
int query_task_completion(string id,
                          string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_task_completion_date">
query_task_completion_date</a><pre class="autodocfuncdef">
int query_task_completion_date(string id,
                               string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_task_creators">
query_task_creators</a><pre class="autodocfuncdef">
string * query_task_creators(string id,
                             string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_task_name">
query_task_name</a><pre class="autodocfuncdef">
string query_task_name(string id,
                       string task_id)
</pre>
<dt class="autodocfuncname"><a name="query_time_to_rotate">
query_time_to_rotate</a><pre class="autodocfuncdef">
int query_time_to_rotate(mixed proj)
</pre>
<dt class="autodocfuncname"><a name="query_touched">
query_touched</a><pre class="autodocfuncdef">
string query_touched(string id)
</pre><dd><br />
 Return a formatted string saying when the project was last touched.
 @param id the project ID.
 @returns the last touched string.
<br />

<dt class="autodocfuncname"><a name="query_twiki">
query_twiki</a><pre class="autodocfuncdef">
string * query_twiki(string id)
</pre>
<dt class="autodocfuncname"><a name="remove_file">
remove_file</a><pre class="autodocfuncdef">
int remove_file(string id,
                string file,
                string task,
                string name)
</pre>
<dt class="autodocfuncname"><a name="remove_playtester">
remove_playtester</a><pre class="autodocfuncdef">
int remove_playtester(string id,
                      string * pt)
</pre>
<dt class="autodocfuncname"><a name="reset_files">
reset_files</a><pre class="autodocfuncdef">
int reset_files(string id)
</pre>
<dt class="autodocfuncname"><a name="rotate_project">
rotate_project</a><pre class="autodocfuncdef">
void rotate_project(mixed tmp)
</pre>
<dt class="autodocfuncname"><a name="save_file">
save_file</a><pre class="autodocfuncdef">
void save_file()
</pre><dd><br />
 Call out the do_save function.  If lots of projects are being touched
 within a short time scale, this should reduce the hard-drive grinding.
 @ignore yes
<br />

<dt class="autodocfuncname"><a name="set_completion_date">
set_completion_date</a><pre class="autodocfuncdef">
int set_completion_date(string id,
                        int date)
</pre>
<dt class="autodocfuncname"><a name="set_complexity">
set_complexity</a><pre class="autodocfuncdef">
int set_complexity(mixed proj,
                   int com)
</pre>
<dt class="autodocfuncname"><a name="set_description">
set_description</a><pre class="autodocfuncdef">
int set_description(string id,
                    string desc)
</pre>
<dt class="autodocfuncname"><a name="set_guild_specific">
set_guild_specific</a><pre class="autodocfuncdef">
int set_guild_specific(mixed proj,
                       string * guilds)
</pre>
<dt class="autodocfuncname"><a name="set_note_file">
set_note_file</a><pre class="autodocfuncdef">
void set_note_file(string id,
                   string t,
                   class note tmp,
                   string name)
</pre>
<dt class="autodocfuncname"><a name="set_project_completeness">
set_project_completeness</a><pre class="autodocfuncdef">
int set_project_completeness(string id,
                             int percent)
</pre>
<dt class="autodocfuncname"><a name="set_project_file">
set_project_file</a><pre class="autodocfuncdef">
void set_project_file(string id,
                      class project tmp,
                      string name)
</pre>
<dt class="autodocfuncname"><a name="set_project_leader">
set_project_leader</a><pre class="autodocfuncdef">
int set_project_leader(string id,
                       string leader)
</pre>
<dt class="autodocfuncname"><a name="set_project_lock">
set_project_lock</a><pre class="autodocfuncdef">
void set_project_lock(string project)
</pre>
<dt class="autodocfuncname"><a name="set_project_name">
set_project_name</a><pre class="autodocfuncdef">
int set_project_name(string id,
                     string name)
</pre>
<dt class="autodocfuncname"><a name="set_rotations">
set_rotations</a><pre class="autodocfuncdef">
void set_rotations(string proj,
                   int rot)
</pre>
<dt class="autodocfuncname"><a name="set_size">
set_size</a><pre class="autodocfuncdef">
int set_size(mixed proj,
             int siz)
</pre>
<dt class="autodocfuncname"><a name="set_status">
set_status</a><pre class="autodocfuncdef">
int set_status(string id,
               int stat)
</pre>
<dt class="autodocfuncname"><a name="set_status_change">
set_status_change</a><pre class="autodocfuncdef">
int set_status_change(string id,
                      int time)
</pre>
<dt class="autodocfuncname"><a name="set_task_aims">
set_task_aims</a><pre class="autodocfuncdef">
int set_task_aims(string id,
                  string task_id,
                  string aims)
</pre>
<dt class="autodocfuncname"><a name="set_task_comments">
set_task_comments</a><pre class="autodocfuncdef">
int set_task_comments(string id,
                      string task_id,
                      string comments)
</pre>
<dt class="autodocfuncname"><a name="set_task_completion">
set_task_completion</a><pre class="autodocfuncdef">
int set_task_completion(string id,
                        string task_id,
                        int percent)
</pre>
<dt class="autodocfuncname"><a name="set_task_completion_date">
set_task_completion_date</a><pre class="autodocfuncdef">
int set_task_completion_date(string id,
                             string task_id,
                             int date)
</pre>
<dt class="autodocfuncname"><a name="set_task_file">
set_task_file</a><pre class="autodocfuncdef">
void set_task_file(string id,
                   string t,
                   class task tmp,
                   string name)
</pre>
<dt class="autodocfuncname"><a name="set_task_name">
set_task_name</a><pre class="autodocfuncdef">
int set_task_name(string id,
                  string task_id,
                  string name)
</pre>
<dt class="autodocfuncname"><a name="task_info">
task_info</a><pre class="autodocfuncdef">
string task_info(string id,
                 string task_id)
</pre>
<dt class="autodocfuncname"><a name="test_num">
test_num</a><pre class="autodocfuncdef">
void test_num()
</pre>
<dt class="autodocfuncname"><a name="touch_project">
touch_project</a><pre class="autodocfuncdef">
void touch_project(string id,
                   string reason,
                   string name)
</pre><dd><br />
 Touch a project.  We use this project to set when a project
 was last touched, by whom and what they did.  We also save
 the data file at this point.
 @param id the project ID
 @param reason the way the project was touched
 @param name the name of the person touching the project
<br />

<dt class="autodocfuncname"><a name="update_project">
update_project</a><pre class="autodocfuncdef">
int update_project(string name)
</pre>
<dt class="autodocfuncname"><a name="update_project_task_completeness">
update_project_task_completeness</a><pre class="autodocfuncdef">
int update_project_task_completeness(string id,
                                     string task,
                                     int percent)
</pre>
<dt class="autodocfuncname"><a name="valid_operation">
valid_operation</a><pre class="autodocfuncdef">
varargs int valid_operation(string name,
                            string action,
                            string project,
                            string * dom)
</pre>
</dl>
<h2>Protected Functions</h2>
These are functions that only objects inheriting the class can access.<p>
<dl>
<dt class="autodocfuncname"><a name="find_index">
find_index</a><pre class="autodocfuncdef">
int find_index(string id,
               mixed * array)
</pre><dd><br />
 Find the occurance of a particular ID in a particular array.  This
 is done via a binary search of the array.
 @param id the ID to match on
 @array array the array to search through.
 @returns the index of the matched element, or -1 if none is found.
 @ignore yes
<br />

</dl>
<h2>Classes</h2>
These are nice data types for dealing with...  Data!<p>
<ul>
<li><a name="class_file_access_cache">
file_access_cache</a><pre>
class file_access_cache {
                          string id;
                          mapping accesses;
}

</pre>
</ul>
[an error occurred while processing this directive]

