Download the PHP package ci4-cms-erp/ci4ms without Composer

On this page you can find all versions of the php package ci4-cms-erp/ci4ms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ci4ms

CI4MS

CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. It combines CMS workflows, developer-focused CLI commands, an extensible module system, and customizable front-end themes in a single package.

Release License Build PHP CodeIgniter Packagist Downloads Stars Forks

Patreon

ci4ms-screenshot

Key Features

Requirements

See composer.json for the full dependency list (e.g. bertugfahriozer/ci4commonmodel, bertugfahriozer/sql2migration, ci4-cms-erp/ext_module_generator, claviska/simpleimage, gregwar/captcha, studio-42/elfinder).

ðŸŠī Project Activity

Alt

Installation

Fresh Project (recommended)

Clone Existing Repository

Docker (recommended for development & CI)

Refer to DOCKER_SETUP.md for full Docker configuration details.

Environment & Configuration

  1. Create your .env from the template:

  2. Update these core settings in .env:

    • app.baseURL
    • database.default.*
    • Optional: cookie.*, honeypot.*, security.*
  3. Prepare the routes file:

  4. If you prefer the web installer, open /install in the browser and follow the wizard. Use the CLI step below to skip the wizard.

One-Command Setup (CLI)

This single command runs all migrations, seeds default data (modules, permissions, sample content), and creates the initial administrator account. No separate migrate or seed commands are needed.

Run the Dev Server

Access the backend via: https://<domain>/backend

Directory Layout

Key files:

Modules

Module Purpose Highlights
Auth Authentication lifecycle Shield-based, CAPTCHA, email activation, reset tokens
Backend Admin shell Dashboard stats, shared base controller
Blog Blog CRUD Categories, tags, comments, bad-word filters
Pages Static page management SEO fields, inline shortcode parsing
Menu Menu builder Drag-and-drop ordering, slug helpers
Media Media manager elFinder integration, optional WebP conversion
Fileeditor Project file editor Safe read/write/rename; dangerous extension blacklist
Settings System configuration One-click updates, company/social/mail settings, i18n support
Users User & role management Shield groups, reset tracking
Methods Route → permission mapping Module toggling, router scan
Logs Log viewer Browses CodeIgniter log files inside the backend
Theme Theme manager ZIP upload, DB migration support, duplicate checks
Install Web installer Creates .env, triggers migrations
Backup Database backup manager Create, download, and restore with SQL sanitization
DashboardWidgets Dashboard statistics Modular widget system for admin overview
LanguageManager Language file manager Edit and manage translation files from the backend
Notifications In-app admin notifications Bell dropdown, single-global-row targeting (user / group / broadcast), optional Redis-backed SSE realtime, per-user opt-out screen
MigrationManager Migration & seed runner Superadmin-only; per-namespace applied/pending state, WebRunnableSeeder contract, flock run lock, migration_runs audit trail
DevGate Development-only access gate Basic-Auth wall for non-production environments; the installer generates and hashes a random password

See docs/architecture.md for deeper architectural notes.

CLI Commands

Command Description
php spark ci4ms:setup Full automated installation: migrations, seeding, default data
php spark make:module Blog Scaffold a new module (Config, Controllers, Views, language files)
php spark make:abview dashboard Generate a backend view from the AdminLTE template
php spark create:route Rebuild app/Config/Routes.php from the template
php spark migrate --all Run all pending migrations across modules
php spark ci4ms:migrate Same as migrate --all, plus a migration_runs audit row (run_source='cli') for the superadmin panel's run history
php spark cache:clear Clear all application caches
php spark ci4ms:geoip-update Download/update the local DB-IP City Lite database for session geo lookup (run monthly via cron)
php spark ci4ms:release:keygen (publisher only) Generate an Ed25519 release signing keypair into a password-sealed keyfile
php spark ci4ms:release:manifest (publisher only) Build and sign writable/release/manifest.json + .sig from the tracked tree
php spark ci4ms:release:verify Verify a local manifest/signature pair, or a published release with --remote --tag v<x.y.z.w>

Standard CodeIgniter commands (php spark db:seed, php spark key:generate, etc.) are also available.

Developer Notes

Testing & Maintenance

Release Signing & Trusted Keys

The auto-updater verifies a detached Ed25519 signature over the release manifest before it writes a single file, and then checks every downloaded file against its SHA-256 entry in that manifest. Because the trust decision is made against a key list stored inside your installation, an attacker who takes over the GitHub account, the release, or the CDN still cannot push code to you.

Auto-update is off until you configure trust. The repository ships with an empty keyring (Modules\Settings\Config\UpdateKeys::$keys = []), which is deliberate: a key shipped in the same repository it is supposed to protect proves nothing. Until you add a public key, the updater refuses every update and reports Settings.updateNoTrustedKeys.

Published signing key fingerprints

Before adding a key to your keyring, confirm its key_id and full hex SHA-256 fingerprint against the table below and against at least one channel that is not this repository (release announcement, project website, maintainer's own key publication). If the two do not match, do not add the key and open a security report.

key_id SHA-256 fingerprint (hex) Status Added
not yet published not yet published — —

Publisher: replace the placeholder row with the real key_id and fingerprint printed by php spark ci4ms:release:keygen. Publish the full hex fingerprint, never a truncated one, and add a new row (rather than editing the old one) when rotating — during a rotation window both keys are listed, the old one moving to revoked once the transition is complete. A revoked key causes the entire manifest to be rejected, even if a valid active signature is present alongside it.

Checking what your own installation trusts

The backend Settings page lists the release signing keys your installation currently trusts, with each entry's key_id, fingerprint, and status (active / revoked). Compare that list against the published fingerprints above; anything present there that is not published here did not come from the publisher. The keyring itself is a plain PHP config file — modules/Settings/Config/UpdateKeys.php — so it can also be reviewed directly and kept under your own change control.

Private keys are never held by the application, never committed, and never present in CI: signing happens offline via php spark ci4ms:release:keygen / ci4ms:release:manifest against a password-sealed keyfile stored outside ROOTPATH and public/. Anyone can independently verify a published release with php spark ci4ms:release:verify --remote --tag v<x.y.z.w>. The full pipeline, gates, and release ritual are documented in docs/architecture.md.

Third-Party Data Attribution

Additional Docs

Questions or contributions? Open an issue or pull request.

🏆 Acknowledgments

Found a security vulnerability? See the open an issue with reproduction steps.


All versions of ci4ms with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
bertugfahriozer/ci4commonmodel Version ^1.2
bertugfahriozer/ci4seopro Version ^v1.0.0
bertugfahriozer/sql2migration Version ^1.0
ci4-cms-erp/ext_module_generator Version ^1.1
claviska/simpleimage Version 4.4.0
codeigniter4/framework Version 4.7.4
codeigniter4/settings Version 2.2
codeigniter4/shield Version 1.4.0
codeigniter4/translations Version 4.7.2
ezyang/htmlpurifier Version 4.19
gregwar/captcha Version 1.3.0
maxmind-db/reader Version ^1.13
studio-42/elfinder Version 2.1.68
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ci4-cms-erp/ci4ms contains the following files

Loading the files please wait ...