Extension: contact

Generated by php build/docs/rvn-docs.php. Do not edit this file by hand.

Manifest

| Field | Value |
| --- | --- |
| slug | contact |
| name | Contact Forms |
| description | Quickly build contact forms to embed in your pages. |
| type | content |
| author | Novelty Lanterns |
| homepage | https://lanterns.io/raven |
| docs | https://lanterns.io/raven |

Provider Files

  • private/ext/contact/ext.php
  • private/ext/contact/routes_panel.php
  • private/ext/contact/schema.php
  • private/ext/contact/shortcodes.php

Component Directories

  • private/ext/contact/lib/
  • private/ext/contact/tpl/

Route And Service Dependency Map

private/ext/contact/routes_panel.php

  • File-level rvn keys: config, csrf, extension_services, input, panel_editor_blocks, panel_site_data, root, view
  • File-level context keys: currentUserTheme, extensionServices, panelUrl, requirePanelLogin, rvn
  • Extension service keys: forms, submissions
  • Extension service dirs: contact

| Method | Path | Handler | Captures | Inferred Dependencies |
| --- | --- | --- | --- | --- |
| GET | /contact | inline-closure | deletePath, editBasePath, extensionMeta, listViewFile, loadForms, pullFlash, renderView, requirePanelLogin, savePath, submissionsBasePath | context:currentUserTheme, context:requirePanelLogin, rvn:*, symbol:$extensionServices, symbol:$requireContactRepositories |
| GET | /contact/edit | inline-closure | deletePath, editViewFile, extensionMeta, indexPath, pullFlash, renderView, requirePanelLogin, savePath, submissionsBasePath | context:currentUserTheme, context:requirePanelLogin, rvn:* |
| GET | /contact/edit/{slug} | inline-closure | deletePath, editViewFile, extensionMeta, findFormBySlug, indexPath, pullFlash, renderView, requirePanelLogin, rvn, savePath, submissionsBasePath | context:currentUserTheme, context:requirePanelLogin, rvn:*, symbol:$extensionServices, symbol:$requireContactRepositories |
| GET | /contact/submissions/{slug} | inline-closure | contactSubmissionsRepository, editBasePath, extensionMeta, findFormBySlug, flash, indexPath, pullFlash, renderView, requirePanelLogin, rvn, submissionsBasePath, submissionsClearPath, submissionsDeletePath, submissionsListPath, submissionsViewFile | context:currentUserTheme, context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |
| GET | /contact/submissions/{slug}/export | inline-closure | contactSubmissionsRepository, csv, findFormBySlug, flash, indexPath, requirePanelLogin, rvn, submissionsListPath | context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |
| POST | /contact/submissions/delete | inline-closure | contactSubmissionsRepository, findFormBySlug, flash, indexPath, requirePanelLogin, rvn, submissionsListPath | context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |
| POST | /contact/submissions/clear | inline-closure | contactSubmissionsRepository, findFormBySlug, flash, indexPath, requirePanelLogin, rvn, submissionsListPath | context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |
| POST | /contact/save | inline-closure | contactSubmissionsRepository, editBasePath, flash, indexPath, loadForms, parseEmailList, requirePanelLogin, rvn, saveForms | context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |
| POST | /contact/delete | inline-closure | contactSubmissionsRepository, flash, indexPath, loadForms, requirePanelLogin, rvn, saveForms | context:requirePanelLogin, rvn:*, symbol:$contactSubmissionsRepository, symbol:$extensionServices, symbol:$requireContactRepositories |

Library Symbols

| Symbol | Kind | Summary | @return |
| --- | --- | --- | --- |
| Raven\Ext\ContactFormRepository::__construct() | method | Data access for Contact extension form definitions. | (No @return.) |
| Raven\Ext\ContactFormRepository::int() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactFormRepository::listAll() | method | Returns all configured contact forms sorted by name. | array<int, array{ |
| Raven\Ext\ContactFormRepository::replaceAll() | method | Replaces all configured contact forms in one transaction. | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::__construct() | method | Wires up the contact form runtime with its storage, security, and mail dependencies. | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::anchorId() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::extensionKey() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::listEnabledForms() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::render() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::submit() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::submitAction() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactPublicFormRuntime::type() | method | (No summary.) | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::__construct() | method | Data access for Contact extension submissions. | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::countByFormSlug() | method | Returns total contact submission count for one form slug with optional search term. | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::create() | method | Persists one contact submission and returns its id. | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::deleteAllByFormSlug() | method | Deletes all contact submissions for one form slug and returns deleted row count. | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::deleteById() | method | Deletes one contact submission row scoped to one form slug. | (No @return.) |
| Raven\Ext\ContactSubmissionRepository::listByFormSlug() | method | Returns paginated contact submissions for one form slug. | array<int, array<string, mixed>> |
| Raven\Ext\ContactSubmissionRepository::listForExportByFormSlug() | method | Returns all matching contact submissions for CSV export. | array<int, array<string, mixed>> |
| Raven\Ext\ContactSubmissionRepository::listPageByFormSlug() | method | Returns one paginated contact-submissions page plus total count in one query. | array{rows: array<int, array<string, mixed>>, total: int} |
| Raven\Ext\ContactSubmissionRepository::syncFormIdentity() | method | Synchronizes stored submission metadata after a contact-form slug edit. | (No @return.) |

Parameter Details

Raven\Ext\ContactFormRepository::__construct()

  • File: private/ext/contact/lib/ContactFormRepository.php
  • Params: (none)

Raven\Ext\ContactFormRepository::int()

  • File: private/ext/contact/lib/ContactFormRepository.php
  • Params: (none)

Raven\Ext\ContactFormRepository::listAll()

  • File: private/ext/contact/lib/ContactFormRepository.php
  • Params: (none)

Raven\Ext\ContactFormRepository::replaceAll()

  • File: private/ext/contact/lib/ContactFormRepository.php
  • Params:
  • array&lt;int, array&lt;string, mixed&gt;&gt; $forms

Raven\Ext\ContactPublicFormRuntime::__construct()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params:
  • InputSanitizer $input Shared input sanitizer for form field normalization.
  • Csrf $csrf CSRF validator for form submission protection.
  • Config $config Site configuration for subject prefix fallback.
  • ContactFormRepository $forms Contact form definition storage.
  • ContactSubmissionRepository $submissions Contact submission local storage.
  • Postmaster $postmaster Shared mail delivery service for contact notifications.

Raven\Ext\ContactPublicFormRuntime::anchorId()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::extensionKey()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::listEnabledForms()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::render()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::submit()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::submitAction()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactPublicFormRuntime::type()

  • File: private/ext/contact/lib/ContactPublicFormRuntime.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::__construct()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::countByFormSlug()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::create()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params:
  • array{

Raven\Ext\ContactSubmissionRepository::deleteAllByFormSlug()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::deleteById()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::listByFormSlug()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::listForExportByFormSlug()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::listPageByFormSlug()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)

Raven\Ext\ContactSubmissionRepository::syncFormIdentity()

  • File: private/ext/contact/lib/ContactSubmissionRepository.php
  • Params: (none)