==============
AUR Web Interface
==============

Terms and Definitions:
================
AUR - Arch User Repository
	Repository made up of a collection of build scripts that are
	created and submitted by the Arch community.

TU - Trusted User
	A user that can add binary packages to the [community]
	repository and administer AUR.

[unsupported]
	The collection of package build files hosted via the AUR website.

File Hierachy
=========

Directory Layout:
-------------------
./html			- DocumentRoot for AUR, where the PHP scripts live.
./html/css		- CSS for AUR appearance
./html/css/navbar	- CSS for Arch navigation bar appearance
./html/images		- Any AUR images live here.
./lib			- Supporting PHP include files. Access denied to Apache.
./locale
./template		- Where most of the html markup resides and minimal
			amount of PHP scripting.
./template/stats

./html Files:
-------------
account.php -
	PHP script to handle registering for a new account.  It prompts
	the visitor for account information: desired username, E-mail,
	password, real name, IRC nick, and default language. The info is
	recorded in the Users table.

	A logged-in user can change any of their own account information. If a
	TU or Developer is logged into the system, they can search for and
	edit accounts. A TU can change an account to a TU or User account. A
	Developer can also change an account to the Developer type. TUs and
	Developers are able to suspend accounts. If an account is suspended,
	all packages are orphaned (the MaintainerUID field in the Packages
	table is set to NULL).

addvote.php -
	A form to submit proposals relating to the AUR. Only accessible to TUs
	and Developers. Can be used to vote on a potential new TU, or any
	other proposal that needs a vote. Length of the vote can be specified.

index.php -
	Main page for the AUR. Provides links to all other pages in the AUR.
	Gives a brief synopsis of what the AUR is and where to go for more
	information.

logout.php -
	Logs out a logged-in user. Clears the session id from the Sessions
	table and unsets the cookie.

packages.php -
	Page used to search the package database. Supports searching by name,
	category, maintainer, popularity, etc. Also provides the ability to go
	to a package page which has specific information for that package.
	A specific package page includes the name, description, votes, etc.
	As well as the ability to perform actions on the packages, such as
	flagging or leaving a comment on the package.

passreset.php -
	A page for a user to enter their e-mail and receive a reset e-mail to
	replace the forgotten password.

pkgsubmit.php -
	Page for users to upload a new package. Only allows upload of a
	tarball that has been compressed with gzip. Tarball must contain the
	PKGBUILD, scriptlets, and any other files necessary to build the
	package from source. The user can select a category for the package.
	The page makes appropriate entries into the database for tracking the
	newly added source package and associated information.

rpc.php -
	A frontend for tools to obtain raw information from the AUR. Features
	the ability to search for a package, return information on a package,
	return information on multiple packages, and search for a specific
	package maintainer. Functionality through HTTP GET.

rss.php -
	Generates RDF Site Summary (RSS) feed with the latest packages updated
	in the AUR. Lists most recent 20 packages. Includes package name, link
	to package page, package description, time of update, source listing,
	maintainer name.

tu.php -
	Page only available to TUs and Developers. Shows ongoing votes for
	proposals and past votes for proposals. Current votes can be voted on
	with a "Yes" vote, "No" vote, or an "Abstain" vote. Developers and TUs
	can only vote once. Cannot vote on a proposal about themselves.

voters.php -
	Page only available to TUs and Developers. Shows list of users that
	voted for a specific package. Each username links to the user's
	account information page.