# Features — footprintapp-Not-Used

Evidence date: 2026-10-14. Source: `git@bitbucket.org:overdrive/footprintapp-not-used.git`, `master` at `593bd151`.

Provenance labels: **Documented**, **Implemented**, **Inferred**, **Planned**, **Unknown**.

No feature list existed in the repository or in `silicon_ark/footprintapp-Not-Used/` before this file. Controller and menu names below are the feature inventory. Actions that were only listed, not read, are marked that way.

## Current

The running shape is a Zend Framework 1 site. `PG_Controller_Plugin_LayoutPicker` sets the layout to the request module name. Layout files exist for `default`, `admin`, `union`, `referee`, `app`, `gir`, `accreditations`, `live`, `printers`, and `pub`. There is no layout file named `api` or `union_old`.

| Feature | Where it shows up | Status |
|---|---|---|
| Sign-in, terms, logout, password reset | `application/modules/default/controllers/LoginController.php` | **Implemented**. Reset mail claims expiry. A duration check was not found in the lines read |
| Dashboard: counts, this week's fixtures and officials, transfers, new activations | `application/modules/default/controllers/IndexController.php` | **Implemented** |
| Clubs home and "new" home | Same controller, views `index/clubs` and `index/new` when `UnionType` is greater than 3 or equal to 11 | **Implemented** as the switch. View contents were not read |
| Members list, add, profile, Excel export | Menu `/members/`, `/members/add`, `/members/profile`. Changelog names `MembersController::generateExcel` | **Implemented** as menu and changelog. The Excel method body was not re-read |
| Organisations list and add | Menu `/organisations/`, `/organisations/add` | **Implemented** as navigation |
| Squads list and create | Menu `/squad/`, `/squad/create`. Controllers also under `app`, `union`, `union_old`, `gir` | **Implemented** |
| Tournaments and fixtures | Menu `/tournament/`, `/fixture/`. `default` `TournamentController`, `TournamentsController`, `FixtureController` | **Implemented** |
| Add tournament popup | Menu "Add Tourn", `UserID` 1 only, `/tournament/addpop` | **Implemented** as a menu gate |
| Referee assessors | Menu `/fixture/assessors` when `UnionType` is less than 3 | **Implemented** as a link |
| Accreditations | Menu `/accreditation/`, `/accreditation/addtest/`. Module `accreditations` with `ApplicationController`, `CheckoutController`, `CollectionsController`, `IndexController`. Models `Accreditation*.php`. File store `public/accre/` | **Implemented**. Checkout action bodies were not read beyond `indexAction` and `testAction` |
| Assessments | Menu `/assessment/view`, `/assessment/all`, `/assessment/add`. `default` `AssessmentController` | **Implemented** as navigation and a controller file |
| Scouting | Menu `/scout/`, `/scout/players/`. `default` `ScoutController` | **Implemented** as navigation and a controller file |
| Blue card | Menu `/bluecard/`. `BluecardController` actions: index, edit, save, delete, list, download, download PDF | **Implemented** |
| News | Menu `/cms/news`, `/cms/addnews`. `CmsController` | **Implemented** as navigation and a controller file |
| Food sessions | Menu `/food/`, nutritions, allergens, session venues. `FoodController` CRUD actions | **Implemented** as method names |
| GIR area | Menu `/gir/` when role `gir` is set. Module controllers: `DarioController`, `FixturesController`, `ImageController`, `IndexController`, `MembersController`, `SquadsController`, `TournamentsController`, `TestController`. Views include members, squads, fixtures, transfer, demographics | **Implemented**. The index view is a stock theme sample (a profile named Nadia Ali). The acronym is **Unknown** |
| Union home | Menu `/union/`. Module `union` parallels `app` (squads, fixtures, tournaments, members, blacklist) | **Implemented** |
| Learning courses | Menu `/learning/`, `/learning/addCourse`, limited to seven hardcoded user ids. `CoursesController` | **Implemented** as the gate and a controller file |
| System settings | Menu when `UnionType` is less than 3: `/leagues/`, `/cities/`, `/members/bonafideuploads`, `/referees/societyleagues/`, `/referees/societypanels/`, `/users/`, `/stadiums/add/` | **Implemented** as links |
| Live scoring | `application/modules/live/controllers/ScoreController.php` (`index`, `scoring`), plus calendar, fixtures, referee, timer, tournament controllers | **Implemented** as methods. Scoring rules not read |
| Referee module | `referee` controllers: assessment, calendar, index, referee | **Implemented** as files |
| Public module | `pub` controllers: calendar, index, referee | **Implemented** as files. Who can open them without a login was not read |
| Printers module | `printers` index and error controllers | **Implemented** as files |
| Admin module | `admin` index, members, error. Its own menu partials under `application/modules/admin/views/scripts/menu/` | **Implemented** as files |
| App module | Parallel of union: squads, fixtures, tournaments, members, blacklist, maintenance, image, json | **Implemented** as files |
| Mobile / public API | `application/modules/api/controllers/` as listed in `prd.md` | **Implemented** as methods. No view scripts in that module |
| SMS sends | `default` `SmsController` and `public/class/sms.php` | **Implemented** |
| PDF and Excel libraries | `public/tcpdf`, `public/dompdf`, `public/Classes/PHPExcel.php`. `default` `PdfController`. Cron builds `mypass.pdf` | **Implemented** as libraries and named actions. Each template was not read |
| Cron and competition progression | `CronController`: scheduling, accreditation queue, win/loss fixture update, pool playoffs, logs | **Implemented** as methods. The caller schedule is **Unknown** |
| BokSmart lookup script | `boksmartmssql.php` | **Implemented** as a standalone script, not as a menu item |
| MSSQL connectivity script | `mssql.php` | **Implemented** as a connect-and-print script |
| phpMyAdmin | `phpMyAdmin/` at the repo root. `.htaccess` does not rewrite `/phpMyAdmin/` into `public/` | **Implemented** as a vendored tree and a rewrite exception. It is not a Footprint product feature |
| `phpinfo.php` | Repository root. Same rewrite exception | **Implemented** as a file. Body was not read |

Path constants in `public/index.php` also name upload areas: `public/uploads`, `public/xls`, `public/files`, `public/IMGS`, `public/artists`, `public/players`, `public/local_data`, `public/TermsText`, `public/accre`. `artists` does not appear as a top-level `public/` directory in the tree listing that was grouped. Those constants can point at a missing directory. Provenance: **Implemented** as `defined()` calls.

## Completed

| When | What | Evidence |
|---|---|---|
| 2019-05-13 | Member-list Excel export gained a column between Gender and Age | `changelog.txt` only. The method was not diffed, because Git has no earlier commit |
| 2019-05-17 | Competition squad upload checks the checklist document and keeps the last upload for the current year | `changelog.txt` only |
| 2019-09-06 | Entire application committed once, from `ip-10-0-2-5.eu-west-1.compute.internal` | `593bd151` |

## In development

Nothing in Git is on another branch. Files whose names say they are copies or tests are still on `master`:

- `application/modules/api/controllers/FixturesController - Copy.php` and the same pattern for Players, Teams, Tourn, Tournaments
- `application/modules/default/controllers/MedicalController - Copy.php`, `MedicalController - Copy (2).php`, `MembersController - Copy.php`, `SquadController - Copy.php`, `TournamentController - Copy.php`, `Copy of AccreditationController.php`
- `application/modules/app/controllers/Copy of SquadsController.php` and the same under `union`
- `TestController`, `MytestController`, `SquadtestController`, `SquadstestController` in several modules
- `application/configs/application - Copy.ini` and `application - Copy (2).ini`

Provenance: **Implemented** as tracked files. Treating them as unfinished work rather than abandoned copies is **Inferred** from the file names. No issue in the repository says they are in progress.

## Planned

No planned feature is written down. **Unknown / Requires Confirmation** whether a backlog exists outside Git.

## Recently changed

Nothing has changed in Git since 2019-09-06. OVER-125 (captured 2026-09-28) already named tip `593bd151`. `git ls-remote` on 2026-10-14 returned that SHA. Provenance: **Implemented** as remote state.

## Deprecated / removed

Git history cannot show a deletion, because there is only one commit.

| Item | Reading | Provenance |
|---|---|---|
| `application/modules/union_old/` | Same controller set as `union` (blacklist, fixtures, members, squads, tournaments, and others), with fewer view scripts (93 versus 137) | **Inferred** as a retained older copy from the directory name. Not proven by a commit that renamed it |
| `LoginController::indexoldAction` | Older login path that md5-hashes the password | **Inferred** from the method name. Still present and callable as an action |
| `htaccess.bak.040519` | Backup of rewrite rules, dated in the file name as 4 May 2019 | **Inferred** as a backup. The live rules are the root `.htaccess` |
| Commented `_initDb` in `Bootstrap.php` | Would have connected to `footprintapp.net` / `evolveci_sarugby`. It is commented out. The ini adapter is the one Zend loads | **Implemented** as a comment. Not active |

No menu item is marked removed.

## Not opened

These paths were counted, not read.

| Path | Count from `git ls-tree` | Note |
|---|---|---|
| Whole tree | 48,440 paths | |
| `public/` | 40,831 | |
| `public/accre/` | 31,507 | Includes the PDF path that Windows cannot check out |
| `public/IMGS/` | 3,102 | |
| `public/local_data/` | 2,097 | |
| `.pdf` files | 22,559 | |
| `.jpg` files | 12,744 | |
| `.php` files | 5,079 | Includes Zend, phpMyAdmin, and the application |
| `phpMyAdmin/` | 2,569 | |
| `library/` | 2,894 | Almost all under `library/Zend` (2,872) |

`public/users.json`, `public/SMS.txt`, `public/race.json`, and `api_log/api_log.txt` were not read.

## Not this repository

`FootPrintLive`, `Footprint-Not-Used`, and `footprint-lambda` are separate Bitbucket repositories with their own Silicon Ark directories. Similar database names or the word Footprint are not features of this commit unless this tree contains them.
