View on GitHub


Portable PHP/Mysql Corporate Intranet System

Download this project as a .zip file Download this project as a tar.gz file

Copyright 2002-2005 Brian Ronald. All rights reserved.

Portable PHP/MySQL Corporate Intranet System

Read INSTALL for installation instructions.

This intranet system is divided up into modules. These can be selectively enabled or disabled with modules.conf. A module is defined as any PHP file that includes at the start and at the end.

The system will only show news articles to people who are not logged in to the system. The login box at the top of the page disappears once logged in, to be replaced with a change password button and a log out button.

The default user is admin and the password is istrator



The news module displays news items, in much the manner that any news site would. News articles are submitted by users on the system, and by default must be authorised by a news admin.

Only the ten most recent news articles are displayed in the Current News screen - the rest are displayed as headlines only in the Archived News screen. Users can filter their view of the news by topic, and if they do, the ten most recent articles under that topic will be displayed.

The Submit New screen allows a user to compose a new article, and to preview it whenever they want. HTML tags and are allowed, and carriage returns are retained as
tags. Once submitted, the user cannot edit their article again unless they are a news admin.


The internal directory lists all the users on the system that have a directory record. Only users can be added to this directory. It can be filtered by first name and/or last name, team and the plain-text information field. Photographs can be uploaded if desired.

The external directory is a seperate list, for listing contact details of people who are not users. It can be filtered on first name, last name, company and/or contact type.

The web directory is a table of web links. It is categorised, and can be filtered on the category. The links launch in the same window by default.


The helpdesk is intended to be able to service all types of helpdesk call, not necesarily calls for help, but also requests for information, or to request resources.

The manage calls screen is the default screen for users who are not helpdesk staff. It shows all the calls logged by the user, and allows them to click on the call number to view the details. There are a number of filtering options, and it's possible for any user to type in the call number of any call and to view the contents of that call.

Helpdesk staff have two similar screens - Manage Calls and Assigned Calls. They are the same, except Assigned Calls only lists calls that have been assigned to the helpdesk staff in question. Also, the Managed Calls list shows calls logged by any user, and is filterable on the user.

When a specific call is opened, the user can see the basic information about that call (date it was logged, the category it's in, and their initial problem). They can also see the priority which has been assigned to it by helpdesk staff (the default is "waiting"). They can see who's been assigned to the call, and any information which has been added since the call was logged, in the form of "history".

The owner can alter the location of the call, they can add information of their own to the history, and they can close the call.

In addition to this, helpdesk staff can alter the owner, priority and category of any call. They can assign helpdesk staff the call, and can remove them. They can also add history to any call.

There are two "apply changes" buttons on a calldetails screen. They are the same, and it doesn't matter which is used.

The "Log a new call" screen is a simple submission form, where the user selects a call category, a location, and describes the nature of the query as best they can. Helpdesk staff also have the option to choose an owner for the call; this facilitates logging of calls by telephone or by other means.

The FAQ screen is quite similar to the News screen. It is filterable on category, and simple word searches are possible. Users can also type in the number of a call to jump directly to it. If they explicitly choose a call number, the other filters are ignored.

The FAQ edit screen lists the FAQs, and allows helpdesk staff to modify or delete existing FAQs and to add new ones.


The admin module changes in appearance depending on the rights of the logged in user.

A user admin has access to: User Manager New User Teams and Locations

A news admin has access to: News admin News topics

A directory admin has access to: Directory Admin External directory admin Teams and locations Website admin Website and contact categories

A helpdesk staff has access to: Helpdesk categories Teams and Locations

Regular users have access to: Change directory Preferences

Guest users are denied access to all admin pages.

The user manager screen shows a list of all current users, filterable on first name or last name. There is an alphabet of links to filter on lastname initial.

Each record on this screen has three options.

Firstly, the user's directory details can be altered or removed. Removing a user from the directory destroys any data that would be available in the directory (eg, email address, telephone numbers) but does not destroy the user's real name.

Secondly, the user's rights can be altered. Changes to the rights must be saved. At least one user on the system should have user admin rights and the right to log in. There are no special privileges available to the default user "admin".

Thirdly, the user's password can be changed. Note that on this screen, the user's username can be changed at the same time. Blank passwords are accepted. You can't change a user's username without changing their password, although this will be altered in a future release.

Fourthly, the user can be deleted. This takes you to a confirmation screen. Clicking delete again on the confirmation screen will remove the user's record, their rights record and their directory record. Be warned, removing a user will cause their name to vanish from news articles and helpdesk calls that they have submitted. You might want to just disable their login right for a time, if they have current news articles or calls.

The new user screen allows new users to be created. Giving a real name or a password isn't absolutely necessary, but not having a name can make some screens look a little untidy. If a password is entered, it must be entered twice to ensure that there is no typographical error.

The Teams and Locations screen allows teams and locations to be added, renamed and removed. There is no confirmation on this screen, so beware when removing items. If you remove, for example, a team, and then add another with the same name, the users who were in that team will not be in the new one until you change them all individually.

The directory admin screen is the same as the user manager screen, except that only the directory modification option is available.

The external directory admin screen lists all the contacts in the external directory. It is filterable on name or company. New records can be added, and existing records added or removed. The interface is a very simplistic form. In the future, there will also be a category list, and external contacts will be able to be assigned to a category for better filtering.

The website admin page allows you to add, edit and remove the web links in the website directory. You can only alter one at a time; attempting to alter more will result in only one record being changed (the one with the update button that was clicked).

The Website and Contact Categories screen allows website categories and contact types to be added, renamed and removed. There is no confirmation on this screen, so beware when removing items. If you remove, for example, a category, and then add another with the same name, the sites that were in that category will not be in the new one until you change them all individually.

The News Admin screen allows news admins to review all of the news articles that have been submitted to the system. Articles awaiting authorisation have the submitter's name enclosed in square brackets and made italic. By clicking DETAILS the news admin can review, edit, preview, delete and authorise news articles. The HTML tags and are allowed. Carriage returns are retained as

The News Topics screen allows news topics to be added, renamed and removed. There is no confirmation on this screen, so beware when removing items. If you remove, for example, a topic, and then add another with the same name, the articles that were in that topic will not be in the new one until you change them all individually.

The Helpdesk Categories screen allows call types and faq categories to be added, renamed and removed. There is no confirmation on this screen, so beware when removing items. If you remove, for example, a call category, and then add another with the same name, the helpdesk calls that were in that category will not be in the new one until you change them all individually.


The library is a file storage system. Files are stored in folders, which are arranged hierarchically. Files admin always have an upload form for adding new files, and can make new folders or adjust the current ones.

Each file in a folder is listed as a row in a table. The download option attempts to send the file to the client (using a mime type of /). This works for many files, but there are exceptions - Windows users with Office will find that Word files will be opened in Word regardless. This option is not shown if a user does not have access to this file.

The open option starts the file in a new browser window, and sends the mimetype that was originally sent by the browser that uploaded the file. When using proprietary file types, such as MS Office files, it's a good idea to make sure that files are uploaded from a machine that has the application installed, so that the mime type is correctly set. This option is not shown is a user does not have access to this file.

The details option shows the file's details, including which teams have access to the file, if it's secured, and the description. Files admin users can alter the description, the security details and the mime type, as well as which folder the file is in.

The security on files is team based. If there are no teams listed, the file is open to all and can be downloaded by any user. If there are teams listed, then the file can only be downloaded by logged in members of those teams. The security can only be adjusted by files admin users, so it's important to be aware that they must be trusted.

At the bottom of the screen are two zoom buttons, where users can type in the unique number of any file or folder, and be taken straight to its info screen. Each folder and file info screen has its unique number displayed on it.


Clicking Online Help when in a module with a help file brings up a HTML based page describing what everything on that screen does. It's context sensitive.

All questions and comments can be emailed to the author, Brian Ronald:

The latest version (and my public gpg key) should be available from: