# Dependencies ## Composer (PHP) **File**: `composer.json` **PHP requirement**: `>=7.4` (production runs <8.0) | Package | Version | Purpose | |---------|---------|---------| | `phpunit/phpunit` | ^9.5 | Testing framework | ## Vendored Libraries (`libraries/`) These are NOT managed by Composer — bundled directly. | Library | Version | Status | Purpose | |---------|---------|--------|---------| | `medoo/` | 1.7.10 | Active | Database ORM | | `phpmailer/` | classic | Active | Email sending | | `rb.php` | — | **Unused** — remove | RedBeanPHP legacy ORM | | `ckeditor/` | 4.x | Active | Rich text editor | | `apexcharts/` | — | Active | Admin charts | | `bootstrap/` | 4.1.3 + 4.5.2 | Active | CSS framework (two versions present) | | `fontawesome-5.7.0/` | 5.7.0 | Active | Icons | | `filemanager-9.14.1/` | 9.14.1 | Active | File manager | | `filemanager-9.14.2/` | 9.14.2 | Duplicate? | File manager | | `codemirror/` | — | Active | Code editor in admin | | `fancyBox/` + `fancybox3/` | 2 + 3 | Active | Lightbox | | `plupload/` | — | Active | File uploads | | `grid/` | — | Active | CSS grid system | ## Frontend (JS, served directly) | Library | Version | Source | |---------|---------|--------| | jQuery | 2.1.3 | `libraries/` | | jQuery Migrate | 1.0.0 | `libraries/` | | jQuery UI | — | `libraries/` | | jQuery Autocomplete | 1.4.11 | `libraries/` | | jQuery Nested Sortable | — | `libraries/` | | jQuery-confirm | — | `libraries/` | | Selectize.js | — | `libraries/` | | Lozad.js | — | `libraries/` | | Swiper | — | `libraries/` | | taboverride.min.js | — | `libraries/` | | validator.js | — | `libraries/` | ## PHP Extensions Required | Extension | Purpose | |-----------|---------| | `redis` | Redis caching | | `curl` | External API calls (Apilo, image downloads) | | `pdo` + `pdo_mysql` | Medoo ORM database access | | `mbstring` | String handling | | `gd` or `imagick` | Image manipulation (ImageManipulator) | | `json` | JSON encode/decode | | `session` | Session management | ## Notes - **No npm/package.json** — no JS build pipeline - **SCSS is pre-compiled** — CSS served as static files - **No Composer autoload at runtime** — custom autoloader in each entry point - `libraries/rb.php` (RedBeanPHP, 536 KB) — confirmed unused, safe to delete