<HTML ><HEAD ><TITLE >Developer's Guide</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="phpBugTracker" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Configuration Options" HREF="configuration.html"><LINK REL="NEXT" TITLE="Development Standards" HREF="devstandards.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="docs.css"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >phpBugTracker</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="configuration.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="devstandards.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="DEVGUIDE">Chapter 3. Developer's Guide</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >3.1. <A HREF="devguide.html#MANIFEST" >What's where?</A ></DT ><DT >3.2. <A HREF="devstandards.html" >Development Standards</A ></DT ><DD ><DL ><DT >3.2.1. <A HREF="devstandards.html#DEVSTANDARDS-CODE" >Coding Standards</A ></DT ><DT >3.2.2. <A HREF="devstandards.html#OTHERCONVENTIONS" >Other Conventions</A ></DT ></DL ></DD ><DT >3.3. <A HREF="schema.html" >Database Schema</A ></DT ></DL ></DIV ><BLOCKQUOTE CLASS="ABSTRACT" ><DIV CLASS="ABSTRACT" ><A NAME="AEN282"><P >Adding on to or extending phpBugTracker should be easy for those with a knowledge of PHP and SQL. New developers are always welcome to join the project at <A HREF="http://www.sourceforge.net/projects/phpbt/" TARGET="_top" >http://www.sourceforge.net/projects/phpbt</A >, or to simply submit patches, bug reports, or feature requests.</P ></DIV ></BLOCKQUOTE ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="MANIFEST">3.1. What's where?</H1 ><P >Following is a list of the PHP files that make up phpBugTracker and the functionality contained within them:</P ><UL ><LI ><P ><TT CLASS="FILENAME" >attachment.php</TT ></P ><P >Adding, deleting, and viewing attachment information.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >bug.php</TT ></P ><P >Adding, displaying, and editing bugs. This includes the detailed view of a bug, printable view, bug history, a view of the votes for a bug, and the code that emails users about bug changes.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >config-dist.php</TT ></P ><P >This file is used as a template for generating the configuration file during installation.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >config.php</TT ></P ><P >This file is empty in the distribution package. When phpBugTracker has been installed this is the main configuration file that contains the table name definitions and includes the required packages.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >include.php</TT ></P ><P >This file is included by every other script at page load, and contains page set-up such as creating the database connection, initializing the template object, and doing authentication checks.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >install.php</TT ></P ><P >This file is used during the installation process to gather configuration information from the user and to set up the database.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >logout.php</TT ></P ><P >This is used to end the user's session.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >newaccount.php</TT ></P ><P >The code for creating new accounts and emailing accout information to new sers is located here.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >query.php</TT ></P ><P >The bug search form is rendered and handled by this script, along with the resulting list of bugs from a query.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >report.php</TT ></P ><P >Various summary reports.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >upgrade.php</TT ></P ><P >Used when upgrading to a new verison of phpBugTracker. This file is changed with every release to include (mainly) the database queries required to upgrade the installation to the latest version.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >user.php</TT ></P ><P >User preferences and password changes are handled via this script.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >admin/*.php</TT ></P ><P >Each of these files handles a segment of the adminsitration. That is, <TT CLASS="FILENAME" >group.php</TT > handles all the group adminstration, <TT CLASS="FILENAME" >project.php</TT > is used for the project administration, etc.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >inc/auth.php</TT ></P ><P >Authentication class.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >inc/functions.php</TT ></P ><P >Supporting functions such as <TT CLASS="FUNCTION" >build_select()</TT >, etc.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >inc/db/*.php</TT ></P ><P >These files, named by database type, contain queries (such as left joins) that have different syntaxes among various database types.</P ></LI ><LI ><P ><TT CLASS="FILENAME" >languages/*.php</TT ></P ><P >Named by language code, these files contain the localization of the text used throughout phpBugTracker.</P ></LI ></UL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="configuration.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="devstandards.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Configuration Options</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Development Standards</TD ></TR ></TABLE ></DIV ></BODY ></HTML >