# Project plan — public-procon8.co.za

Evidence date: 2026-10-06.

Source repository: `git@bitbucket.org:overdrive/public-procon8.co.za.git`.

Inspected revision: `f3f3b6d` (2020-08-27), branch `master`. Message: "initial commit of full repository". Author: `root` (`root@ip-10-20-1-5.eu-west-1.compute.internal`). That is the only commit and the only branch.

There is no prior Silicon Ark set for this directory, and the source repository has no README, project plan, or requirements document. This plan describes what the repository contains. It does not decide what the product should become.

## Product

The public site presents **PROCON8 CONSULTING SA** as a consultancy that supplies project-control and contract-management expertise to engineering, construction, and manufacturing, with emphasis on rail and aviation. Provenance: **Documented** in `index.php` (title, meta description, home copy) and repeated on `aboutus.php` and `Overview.php`.

A second legal name appears only on `SLA.php`: the HTML title and meta description say **PROCON8 MANAGEMENT LIMITED**. Provenance: **Documented** on that file. Which name is the trading entity is **Unknown / Requires Confirmation**.

Other names in the tree:

| Name | Where | Provenance |
|---|---|---|
| www.procon8.co.za | Footer copyright "Copyright © 2012", Eclipse project name in `.project`, disclaimer link | Documented |
| www.procon8.com | Class file headers in `content.php` and `common_functions.php`; contact mailbox `support@procon8.com` | Documented |
| Quantivia | Navigation label and `dbr.php`; outbound link `http://www.quantivia.com` | Documented as a related product. The Quantivia application is not in this repository |
| PROCON8 | `disclaimer.html` | Documented |

File headers name Jean Thirion (`jean.thirion-AT-procon8.com`) and a 2014-12-10 version id. The footer copyright year is 2012. `disclaimer.html` metadata says created 2013-08-27 and changed by Jean Thirion / PROCON8. The Git history does not preserve those edits; they were imported together in 2020.

## Objectives (inferred from the site, not from a written plan)

No objectives document exists. The following are **Inferred** from the pages:

- Publish a marketing site for project control, contract management, specialist services, and reference projects.
- Let a visitor send a contact message to `support@procon8.com`.
- Describe Deliverable Based Reporting and point visitors at Quantivia.
- Show a published dashboard on `SLA.php` (not linked from the menu).

## Scope

### In this repository

- One public PHP site. `index.php` is the shell (header, menu, banner, footer). Section files are HTML fragments included into that shell.
- Static marketing copy for About, Overview, Project Control, Contract Management, Specialist Services, Quantivia / DBR, and Reference Projects.
- A contact form (`contactus.php`) that posts to `thanks.php`.
- Vendored PHPMailer 5.2.27, used by `thanks.php` to send mail through Amazon SES SMTP.
- Vendored AWS SDK for PHP 2.8.31, Guzzle 3, and Symfony EventDispatcher. Application pages do not construct an AWS client.
- GoDaddy-style form dumpers (`gdform.php`, `webformmailer.php`, `cgi/gdform.cgi`, `cgi/gdformssl.cgi`) that are not the contact form's target.
- A standalone disclaimer HTML file, a GoDaddy-style 404 page, an empty `.htaccess`, and a committed `php.ini`.
- Image, CSS, and font assets. jQuery 1.9.1 and a fade slideshow.

### Not in this repository

- A database, user accounts, admin area, or API.
- The Quantivia product itself (only marketing copy and outbound links).
- Deployment, DNS, hosting account, or pipeline configuration.
- Tests or a dependency manifest (`composer.json` is absent; `vendor/` is committed).

## System shape

```text
Visitor browser
    |
    |  GET index.php  (optional ?show=<panel id>)
    v
index.php  ---- includes ----> section PHP fragments
    |                              (about, contact, services, ...)
    |  menu + footer from content.php via kwassie
    |
    |  POST contact form
    v
thanks.php
    |-- Google reCAPTCHA siteverify
    |-- PHPMailer SMTP
    v
Amazon SES (eu-west-1) --> support@procon8.com
```

`SLA.php` is a separate full HTML page. It embeds an iframe to `http://www.procon8.co.za:9090/publishPage.do?...`. It is not in the menu.

There is no application database. Provenance: **Implemented** — application PHP (excluding `vendor/`) has no MySQL, mysqli, or PDO usage.

## Major components

| Component | Role | Evidence |
|---|---|---|
| `index.php` | Page shell, home panel, slideshow, `?show=` deep link | Implemented |
| `content.php` | Navigation labels and three sidebar link lists | Implemented |
| `common_functions.php` | `kwassie` renderer (menu, footer) | Implemented |
| Section PHP files | Marketing fragments included by `index.php` | Implemented |
| `contactus.php` / `thanks.php` | Enquiry form and mail send | Implemented |
| `recaptchalib.php` | Prints a reCAPTCHA v2 widget. Older verify function remains in the file and is not called by `thanks.php` | Implemented |
| `dbr.php` | Quantivia marketing | Implemented |
| `SLA.php` | Unpublished-from-menu dashboard iframe | Implemented |
| `vendor/phpmailer` | SMTP client | Implemented, called |
| `vendor/aws` | SDK present, not called by application pages | Implemented as files only |

## Milestones

No milestone plan, issue tracker, or roadmap is in the repository.

Visible chronology, from file metadata and the single commit:

| When | What the files show | Provenance |
|---|---|---|
| 2012 | Footer copyright year | Documented text |
| 2013-08-27 | `disclaimer.html` created (OpenOffice metadata) | Documented metadata |
| 2014-12-10 | `content.php` / `common_functions.php` version id; Eclipse prefs timestamp | Documented in file headers and `.settings` |
| Before the SES change | `thanks.php.bak` sends with PHP `mail()` and the old reCAPTCHA challenge fields | Implemented as a backup file in the same commit |
| 2020-08-27 | Entire tree imported to Bitbucket as `f3f3b6d` | Git history |

Nothing in Git has changed since that import.

## Implementation plan

There is no implementation plan in the repository. Current behaviour is the imported tree. Future work is **Unknown / Requires Confirmation**.

## Dependencies known from the tree

- PHP, with `vendor/` libraries that declare PHP `>= 5.3.3` (AWS SDK) and PHP `>= 5.0.0` (PHPMailer). The application PHP version on the host is **Unknown**.
- jQuery 1.9.1 (`js/jq.min.js`).
- Google reCAPTCHA (`https://www.google.com/recaptcha/api.js` and `siteverify`).
- Amazon SES SMTP at `email-smtp.eu-west-1.amazonaws.com`, port 587, TLS.
- LinkedIn platform script (`platform.linkedin.com`, company id `2761141`).
- External sites linked from copy: `www.quantivia.com`, project websites on the reference page, and `http://www.twitter.com/` (the Twitter home page, not a company profile).

## Current status

The repository is a frozen public website snapshot. `master` has one commit. Whether that snapshot is what `www.procon8.co.za` serves today is **Unknown / Requires Confirmation**.

## Human confirmation

1. Which legal name is current: PROCON8 CONSULTING SA, PROCON8 MANAGEMENT LIMITED, or another entity.
2. Whether `f3f3b6d` is what production serves, and where it is hosted.
3. Whether the Amazon SES credentials and reCAPTCHA secret committed in `thanks.php` are still valid. They should be rotated and removed from the repository. Values are intentionally not copied into this documentation.
4. Whether `support@procon8.com` is still the enquiry inbox.
5. Whether `SLA.php` and the port-9090 dashboard are still in use.
6. Whether Quantivia (`www.quantivia.com`) is still the product this site should advertise.
7. The name "Alastair Davisdon" in `disclaimer.html` (spelling as in the file) and whether that email-disclaimer policy is still company policy. The file is not linked from the menu and is not appended to the contact email.
