# Project plan — efiling

Evidence date: 2026-10-15.

Source repository: `git@bitbucket.org:overdrive/efiling.git`.

The tree that was read is `master` at `67e722d` (2019-05-22 12:51:30 +0200, "#119 First Commit", author Jaco Brits). `origin/HEAD` points at `master`. This plan describes that tree and what its committed logs show about a server copy. It does not decide what the product should become.

Silicon Ark had no `efiling/` directory before this onboarding. The source README is the heading `# efiling` and nothing else.

## Product

Two maintenance pages set the browser title to `SARU:: Efiling`. `index_test.php` shows the text "Sorry we're down for maintenance" and "We'll be back shortly".

Provenance: **Documented** in those two files.

The runnable product is not in this commit. Production PHP traces in the committed logs name a Zend Framework 1 application under `/home/saruefiling/public_html/`, with a public URL `http://saruefiling.com` used by the application itself when building a PDF. That application tree (`application/`, `public/index.php`, `library/Zend/`) is absent from git. What SARU stands for is not written in the repository. South African Rugby Union is the ordinary expansion of SARU, and the uploaded filenames are rugby funding documents, but the repository never spells the expansion out. Treat the expansion as **Inferred** until someone confirms it.

A second filesystem root, `/home/zimrugby/public_html/`, appears in the same `error_log`. Whether that is another customer of the same product or a copy used during development is **Unknown / Requires Confirmation**.

## Branch reality

| Branch | Tip | Date | What it is |
|---|---|---|---|
| `master` (`origin/HEAD`) | `67e722d` | 2019-05-22 | One commit. Assets, two maintenance pages, production logs, and uploaded documents. No tags |

No other branch was on the remote that was fetched. The commit message `#119` does not name the tracker. Which system issue 119 belonged to is **Unknown / Requires Confirmation**.

## Scope in the repository

In scope of what is committed on `master`:

- A maintenance page (`index_test.php`) and a mostly empty themed page (`down/index.phtml`).
- Front-end theme assets: CSS, JavaScript, images, Font Awesome 4.4.0, Highcharts examples, CanvasJS files, Cropper distribution files.
- Partial third-party trees for dompdf and PHPExcel. The PHP classes those libraries need are not in the commit, except `dompdf/www/head.inc` and `dompdf/www/foot.inc`.
- 1,020 files under `uploads/` and a 233,142,747-byte `uploads.zip` (738 entries, all under a `uploads/` prefix, no PHP).
- 21 files named `Efiling_Grnd_Error*` and one `error_log` (580,366 bytes).

Out of scope, because it is not in this tree:

- The Zend Framework 1 controllers, models, views, layout, and `library/Zend` named by the logs.
- Database schema, `application.ini`, `.htaccess`, Composer manifest for the application, tests, and a deployment pipeline.
- Any commit after 2019-05-22.

## System architecture

What git contains:

```text
index_test.php          HTML maintenance page, .php extension, no PHP statements
down/index.phtml        Theme shell plus one header() call
css/ js/ img/ style/    Admin-theme assets
font-awesome-4.4.0/     Icon font
dist/                   Cropper CSS and JS
charts/ source/         Highcharts examples and CanvasJS files
dompdf/                 Partial tree, demo header/footer only as PHP
Classes/PHPExcel/       Locale and shared text files, no PHP classes
uploads/ uploads.zip    Grant documents committed with the snapshot
Efiling_Grnd_Error*     Production exception dumps, 2018-05-03 to 2019-05-14
error_log               PHP log, 2018-03-14 to 2019-05-15, Africa/Johannesburg
```

What the logs say was running on the server, and is not in git:

```text
http://saruefiling.com
  public/index.php
    Zend_Application
      Zend_Controller_Front
        controllers: Index, Grants, Plan, Pdf, Members, Organisations,
                     Tournaments, Epg, Test
        models seen in traces: GrantsRequests, Profile, Unions
        MySQL through Zend_Db_Adapter_Pdo_Mysql
        session auth through Zend_Auth
        files under public/uploads
```

Provenance of the second diagram: **Observed** in committed stack traces. It is not a design document.

## Major components

| Component | Location in git | Role |
|---|---|---|
| Maintenance page | `index_test.php` | Title `SARU:: Efiling`. Wrench icon. Maintenance sentences |
| Down page | `down/index.phtml` | Same title. Loads theme CSS and jQuery. Body is empty. Calls `header()` from inside the HTML |
| Theme assets | `css/`, `js/`, `js/plugins/`, `img/`, `style/`, `font-awesome-4.4.0/`, `dist/` | Admin UI skin. Not wired to controllers in this tree |
| Chart packs | `charts/`, `source/`, `js/highcharts.js` | Upstream Highcharts examples and CanvasJS. `charts/index.htm` title is "Highcharts Examples" |
| PDF library remnant | `dompdf/` | Upstream README and fonts. `head.inc` is the dompdf demo header (`auth_check()`, requires `dompdf_config.inc.php`). Those required files are not in git. Production traces call `/home/saruefiling/public_html/public/dompdf/include/cellmap.cls.php`, which is also absent here |
| Spreadsheet library remnant | `Classes/PHPExcel/` | Locale data and a few text files. Zero `.php` files |
| Uploaded documents | `uploads/`, `uploads.zip` | PDFs, Word, and Excel files whose names are funding applications, invoices, reports, budgets, and plans |
| Production logs | `error_log`, `Efiling_Grnd_Error*` | The only evidence of controllers, models, SQL, and the public host |

## Milestones visible in git

These are history, not a forward plan. No future milestone document was found.

| When | Commit | Evidence |
|---|---|---|
| 2019-05-22 12:51 +0200 | `67e722d` | "#119 First Commit". The entire tree arrives in one snapshot |

Log dates inside that snapshot are earlier than the commit: `error_log` runs from 14 March 2018 to 15 May 2019. Ground-error files are dated in the filename from 2018-05-03 to 2019-05-14. The snapshot was committed one week after the last ground-error file.

No commit has landed since 2019-05-22.

## Implementation plan

There is no written plan, issue list, or TODO in the repository. The README does not describe setup. There is no pipeline file.

The production code the logs describe had already been running for more than a year when this snapshot was committed. This repository does not contain the steps that built or deployed it.

## Known dependencies

Present as files in git:

- jQuery. The file `js/plugins/jquery/jquery-1.10.2.min.js` is loaded by `down/index.phtml`. Its own banner says `jQuery v1.11.1`.
- jQuery UI 1.10.1 (`jquery-ui-1.10.1.custom.min.js`).
- jQuery Migrate 1.2.1, named by the script tag in `down/index.phtml`.
- Bootstrap JS at `js/plugins/bootstrap.min.js`, plus `bootstrap.css` at the repository root and under `css/` and `style/`.
- Font Awesome 4.4.0 in-tree. `index_test.php` also loads Font Awesome 5.0.9 from `use.fontawesome.com`.
- Plugin scripts under `js/plugins/`: dataTables, elfinder, fullcalendar, select2, plupload, validation, and others. They are files on disk. No application page in git initialises them except the tags in `down/index.phtml`.
- Cropper (`dist/cropper.css`, `dist/cropper.js`).
- dompdf and PHPExcel, incomplete, as above.
- Highcharts examples and CanvasJS (`source/canvasjs.js`, `source/jquery.canvasjs.min.js`).

Named only by production traces, not vendored as runnable code:

- Zend Framework 1 (`Zend_Application`, `Zend_Controller`, `Zend_Db_Adapter_Pdo_Mysql`, `Zend_Auth`, `Zend_Session`, `Zend_View`).
- PHP with PDO MySQL. One fatal error is a missing `iconv_get_encoding()` on the zimrugby host, so the intl/iconv extension was not available there at that moment.
- MySQL. Traces insert into table `grantsrequest`. One access-denied error names host `cp01-jhb.teamwizz.com`. The account name is in the log and is not repeated here.
- A controller plugin `PG_Controller_Plugin_EmailLayout` with method `EmailTemplate3`. The mail transport is not named.

## Current project status

`master` has had no commit since 2019-05-22. The repository is a public-file and log snapshot of SARU Efiling. It cannot be installed or run as the grants application. The maintenance page can be opened as static HTML.

Whether `http://saruefiling.com` still serves this product is **Unknown / Requires Confirmation**.

## Human confirmation

1. Confirm that SARU here is South African Rugby Union, and that this repository is the grants / online funding system rather than a different SARU tool.
2. Where is the Zend application source that lived in `/home/saruefiling/public_html/`? It is not in this git history.
3. Is `/home/zimrugby/public_html/` a second production site, a staging copy, or an older layout of the same site?
4. Is `http://saruefiling.com` still the production URL, and was `index_test.php` ever the document served to users?
5. What did tracker item `#119` refer to, and why was the first commit a dump of logs and uploads rather than the application?
6. Should the committed `uploads/`, `uploads.zip`, and error logs remain in git? They contain grant documents and a database host from a failed login.
7. Which of the funding categories in the upload filenames (governance, performance, social community, training and education, participation, women's rugby, youth training centre) are real system categories, and which are only words people typed into filenames?
