# Features — efiling

Evidence date: 2026-10-15. Revision: `master` `67e722d` (2019-05-22, "#119 First Commit").

The source repository has no feature list. Status below is from the files in that commit and from production messages inside `error_log` and `Efiling_Grnd_Error*`. The only branch is `master`.

Planned features written as a roadmap: **none found**.

Two statuses are used on purpose.

- **In the snapshot** means the file is in git and can be opened.
- **Server only** means a log line proves the feature ran under `/home/saruefiling/public_html/` or `/home/zimrugby/public_html/`, and the source file is not in git.

## Current features in the snapshot

| Feature | What it does | Evidence | Status |
|---|---|---|---|
| Maintenance notice | Title `SARU:: Efiling`. Wrench icon. "Sorry we're down for maintenance". "We'll be back shortly" | `index_test.php` | In the snapshot. No PHP logic |
| Themed empty page | Same title, admin CSS and jQuery, empty body, `header()` called from the head | `down/index.phtml` | In the snapshot |
| Admin skin | Stylesheets, icons, login skin, dataTables, elfinder, fullcalendar, select2, upload widget files, validation skin | `css/`, `js/`, `js/plugins/`, `img/`, `style/`, `font-awesome-4.4.0/`, `dist/` | Files present. No SARU page in git initialises them, except the tags in `down/index.phtml` |
| Theme behaviour scripts | Collapse panels, "show more", cookie-backed theme settings (fixed layout, hidden menu, background, style), FAQ accordion with a 3-character search minimum | `js/actions.js`, `js/settings.js`, `js/faq.js` | In the snapshot as generic theme code. No FAQ content HTML was found |
| Chart examples | Highcharts example index and CanvasJS files | `charts/index.htm`, `source/canvasjs.js` | Upstream examples, not a SARU report |
| dompdf remnant | README, fonts, demo `head.inc` / `foot.inc` | `dompdf/` | Not runnable. `head.inc` requires `dompdf_config.inc.php` and `functions.inc.php`, which are absent |
| PHPExcel remnant | Locale folders and shared text files | `Classes/PHPExcel/` | Not runnable. No `.php` files under `Classes/` |
| Stored funding documents | Office files whose names are applications, invoices, reports, budgets, and plans | `uploads/` (1,020 files), `uploads.zip` (738 entries, 233,142,747 bytes) | In the snapshot. Not an upload program |
| Production error archive | Exception dumps and a PHP log from 2018-03-14 to 2019-05-15 | `Efiling_Grnd_Error*` (21 files), `error_log` | In the snapshot. This is evidence, not a product feature |

`css/login.css` and `loginBlock` in `js/actions.js` are skin for a login box. They do not implement authentication.

## Server-only features (source not in git)

These ran, or failed while running, on the hosts named in the logs. Line numbers are the lines cited by PHP, not lines in this repository.

| Feature | What the logs show | Evidence | Status |
|---|---|---|---|
| Zend front controller | `public/index.php` boots `Zend_Application` and dispatches | Stack traces ending at `public/index.php` | Server only |
| Grant save | `GrantsController::savegrantAction` inserts into `grantsrequest` through `Model_GrantsRequests::insertData` | Every `Efiling_Grnd_Error*` file | Server only. Failures are the part that was logged |
| Plan project list | `plan/listprojects.phtml` reads budget, request, payment, allocated, and applicant totals | `error_log` notices, 2018-03-14 | Server only. Totals were unset in that log |
| Plan project fetch | View `plan/getprojects.phtml` | Path in traces | Server only. Behaviour unknown |
| PDF print | `http://saruefiling.com/pdf/print/...` with paging and `unionid`. `PdfController` path. dompdf class `cellmap.cls.php` | `error_log` warnings and fatals | Server only |
| Members | `MembersController`. `Model_Profile::getAllMembers` (at least 7 parameters). `getUsername` called and missing | Paths and fatals | Server only |
| Unions | `Model_Unions`. `UnionsArray`, `listUnions`, `unionid` | Notices and the PDF URL | Server only |
| Organisations | `OrganisationsController.php` | Path only | Server only. Behaviour unknown |
| Tournaments dashboard | `TournamentsController.php`, `dashboard/tournaments.phtml` | Paths | Server only. Behaviour unknown |
| EPG forms | `EpgController`, views `epg/formfiles.phtml` and `epg/loadform.phtml` | Paths | Server only. What EPG stands for is unknown |
| Session sign-in | `Zend_Auth` with `Zend_Auth_Storage_Session` | Stack frames | Server only. Screen unknown |
| Email template | `PG_Controller_Plugin_EmailLayout::EmailTemplate3` | Fatal: method not defined, caller lines 948 and 1309 | Server only. Sending did not succeed in those requests |
| File delete / replace | `unlink` on `public/uploads`, missing `fileNameNew` and `FileUpload` | Warnings around lines 7512 and 130 | Server only |
| Test action | `TestController.php` sends output before headers | Warning, line 9 | Server only |
| Second site root | Same classes under `/home/zimrugby/public_html/`, with both `app/` and `application/` paths, and a missing `modules` directory | `error_log` | Server only. Product relationship unknown |

Index keys read by server code and not defined in git: `ApproveArray`, `MembersArray`, `UnionsArray`, `FileUpload`, `Email`, `Started`, `Benched`, `Coloured`, `Indian`, `White`. They indicate screens that post those names. They are not a feature specification.

## Completed, from git history

The repository has one commit. There is no earlier feature to compare.

| Date | Commit | Subject | What changed |
|---|---|---|---|
| 2019-05-22 | `67e722d` | #119 First Commit | Entire snapshot: assets, maintenance pages, logs, uploads |

## In development

Nothing in the tree is marked in progress. There is no branch besides `master`.

## Recently changed

No commit since 2019-05-22. The last server log line in `error_log` is 15 May 2019. The last ground-error filename date is 2019-05-14. Relative to the commit, those are the newest runtime records, not a later release.

`savegrantAction` is cited at line 1265 in the 2018-05-03 dump and at line 1270 in the 2019 dumps. The method grew by a few lines between those dates on the server. That change is not a git diff in this repository.

## Planned

No issue tracker, TODO, or roadmap file is in the repository. The maintenance sentence "We'll be back shortly" is copy on a page, not a dated plan.

## Deprecated or removed

No file in git is marked deprecated.

The Zend application is absent from the snapshot. Calling it removed would claim a deletion that the single commit does not record. The application was on disk at `/home/saruefiling/public_html/` when the logs were written, and it was not included in `67e722d`.

`down/index.phtml` links `/oldcss/styling.css`. That path is not in git. `css/styling.css` is. Whether `oldcss` was retired on the server is **Unknown**.

## Feature gaps that block use of this repository

| Gap | Why it matters |
|---|---|
| No `application/` or `public/index.php` | Controllers named above cannot be read, changed, or tested from git |
| No schema | Table `grantsrequest` and column `RequiredGrant` are known only because inserts failed |
| dompdf and PHPExcel PHP classes omitted | PDF and spreadsheet code cannot be run from this tree, even though production called dompdf |
| Uploads committed without the upload code | Documents are here. The rules that accepted them are not |
