Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cms Contact Bundle Laravel Package

presta/cms-contact-bundle

Contact bundle for PrestaCMS-powered Symfony sites that provides a ready-to-use contact form and message handling. It integrates with the CMS to capture inquiries, store submissions, and simplify contact workflows with minimal configuration. Ideal for adding contact functionality to PrestaCMS projec...

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit (poor — and a category mismatch). Despite the framing as a Laravel/PHP package, presta/cms-contact-bundle is a Symfony 2-era bundle built for PrestaCMS, a Symfony CMF-based CMS. It has no relationship to Laravel's service container, Eloquent, Blade, middleware pipeline, or package discovery. Even inside the Symfony ecosystem, it targets Symfony 2.1–2.3 and Twig 1.x, not Symfony 6/7. Adopting it is not an integration exercise; it is a port or a rewrite. The only legitimate architectural home for this package is an existing, already-running PrestaCMS installation on PHP 5.x.

Integration feasibility (near zero for new work). With a last release of 2014-02-26, zero dependents, and an archived repository, Composer resolution against a modern PHP runtime will fail on constraint conflicts long before it fails on code quality. Realistically the achievable outcome is borrowing the concept — a CMS page block that renders and processes a contact form — not installing the artifact. The functional scope is small enough that reimplementation in the target stack is measured in hours, not sprints.

Technical risk (high, concentrated in security and supply chain).

  • Unmaintained form handling. Contact forms are a security-relevant surface: CSRF protection, input validation, mail header injection, spam abuse, and rate limiting. None of this has a patching path.
  • Dependency chain exposure. Satisfying its constraints pulls in pinned Symfony 2.x and contemporaneous mailer libraries with public CVEs; the dependency tree is effectively frozen in 2014.
  • No support surface. 2 stars, 0 dependents, archived, no maintainers. There is no one to ask, no issue backlog, no fork with momentum.
  • Opportunity score of 2.16 is arguably generous. The package's residual value is as a reference for UX and block structure, not as a deliverable.

Key questions to resolve before any decision.

  1. Are we operating an existing PrestaCMS/Symfony 2 application, or is this a greenfield/Laravel context? (The answer almost certainly disqualifies adoption.)
  2. What is the actual requirement — a CMS-embedded contact block for editors, or a contact form with submission, notification, and anti-spam?
  3. Who owns security patching for the mail and form path if we adopt this?
  4. Is there an editorial requirement (block placement, WYSIWYG integration) that we cannot satisfy with native framework tooling?
  5. What is the true build cost of the native equivalent versus the cost of carrying an unmaintained dependency?

Integration Approach

Stack fit. Nil for Laravel. Partial for legacy Symfony 2 + PrestaCMS only. If the target is Laravel, the correct statement is: "this package informs our requirements; it does not enter composer.json."

Migration path (recommended: reference-then-rebuild).

  1. Read the bundle's block template and controller to extract the functional spec: field set, validation rules, persistence (or non-persistence) of submissions, notification recipient configuration, and editor-facing block options.
  2. Reimplement natively. In Laravel: a Form Request for validation, a Mailable plus queued notification, a Blade/Livewire component or Filament block for the editorial side, and a rate limiter plus honeypot/CAPTCHA middleware. In modern Symfony: a FormType, symfony/mailer, and a CMS block type.
  3. Add what the 2014 bundle predates: rate limiting, spam mitigation, structured logging of submission failures, and delivery observability.

Compatibility. Do not pin or vendor the package. If a legacy PrestaCMS install genuinely must be extended, isolate the bundle in a PHP 5.x/Symfony 2 container behind the existing app boundary and treat it as frozen — no new features, no dependency upgrades, documented end-of-life date.

Sequencing.

  1. Confirm the hosting platform (decision gate — stop here if not legacy PrestaCMS).
  2. Write the functional spec extracted from the bundle's templates/controllers.
  3. Build and test the native equivalent in a feature branch.
  4. Layer in anti-abuse and delivery monitoring.
  5. Decommission the legacy dependency if one exists; otherwise close the evaluation.

Operational Impact

Maintenance. Total ownership transfer to our team. No upstream commits, no release cadence, no patch channel. Every future PHP major version bump is an unfunded rewrite of this component. The maintenance cost is not proportional to the code's small size — it is the cost of permanently owning a security-sensitive surface with no vendor.

Support. Effectively nonexistent. Two stars and zero dependents mean no community troubleshooting, no Stack Overflow corpus, and no third-party forks to lean on. Any incident is debugged from source only.

Scaling. Throughput is a non-issue — contact forms are low-volume. The scaling concern is abuse: an unprotected contact endpoint is a spam relay and a mail-bomb vector, and this bundle predates modern rate limiting and bot mitigation. Budget for edge-level controls regardless of implementation choice.

Failure modes to plan for.

  • Silent mail delivery failure (no observability in a 2014-era mailer path).
  • CSRF token mismatch and session-handling incompatibilities on modern PHP.
  • Composer resolution failures blocking CI entirely.
  • Exploitation of unpatched transitive dependencies, particularly in the HTTP and mail layers.
  • Editorial breakage when the legacy CMS is upgraded around the frozen bundle.

Ramp-up. Conceptual ramp-up is trivial — any engineer understands a contact form in minutes. Operational ramp-up is where the cost hides: understanding a 2014 Symfony 2 codebase, its service wiring, and PrestaCMS block registration is archaeology with no documentation and no one to ask.

Recommendation. Do not adopt. Treat this package as a specification artifact, not a dependency. The build-versus-buy calculus is unambiguous: native reimplementation is a small, well-understood task with a maintainable outcome, while adoption imports permanent security and maintenance liability for a commodity feature.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus