CoolCMS API

ResponseForm extends BaseComponent
in package
uses FormTrait, ModalTrait, InMultiplierTrait, ResponseFormAccountPrefillTrait

FinalYes

Table of Contents

Constants

MODAL_TARGET  : mixed = 'responseFormModal'

Properties

$advertId  : int
$container  : Container
$routerDispatcher  : RouterDispatcher
$showPrice  : bool
$translator  : ITranslator
$appContext  : AppContext
$componentParameters  : array<string, mixed>
$currencyContext  : CurrencyContext|null
$deviceDetector  : DeviceDetector|null
$languageContext  : LanguageContext|null
$localizationContext  : LocalizationContext|null
$settingContext  : SettingContext
$themeContext  : ThemeContext|null
$translatorDomain  : string|null
$closed  : bool
A sold advert: no button, no modal, no submit (the Api refuses the save too).
$currencyManager  : CurrencyManager
$eventDispatcher  : EventDispatcher
$modalRegistry  : ModalRegistry
$responseManager  : ResponseManager
$userManager  : UserManager

Methods

__call()  : mixed
Dispatches `renderXyz()` to `render('Xyz', ...$args)`.
__construct()  : mixed
createComponent()  : IComponent|null
getAppContext()  : AppContext
getComponentParameter()  : mixed
Returns a component parameter, or null when it is not set.
getContainer()  : Container
getCurrencyContext()  : CurrencyContext|null
getLanguageContext()  : LanguageContext|null
getLocalizationContext()  : LocalizationContext|null
getRouterDispatcher()  : RouterDispatcher
getSettingContext()  : SettingContext
getSettings()  : array<int, array<string, mixed>>
getThemeContext()  : ThemeContext|null
handleShowResponseModal()  : void
hasServiceByType()  : bool
Returns whether the container has a service of the given type.
init()  : self
initializeAllContexts()  : void
injectDeviceDetector()  : void
isClosed()  : bool
onCreate()  : void
onError()  : void
Redraws the modal with the field errors. Without it an invalid AJAX submit (browser validation bypassed or off) redrew nothing and the visitor saw no message at all.
onSuccess()  : void
render()  : void
setAppContext()  : $this
setComponentParameter()  : void
Sets a component parameter.
setCurrencyContext()  : $this
setLanguageContext()  : $this
setLocalizationContext()  : $this
setSettingContext()  : $this
setThemeContext()  : $this
setup()  : void
setupAppContext()  : void
typedComponent()  : T
Returns a subcomponent with a verified type.
createComponentForm()  : Form
frontPresenter()  : BasePresenter|null
Returns the front presenter the component is attached to (null outside the front end or when detached).
getModalTarget()  : string
getTranslator()  : ITranslator
prefillContactFromAccount()  : void
setTemplateFile()  : void
setTranslator()  : self
updateModalContent()  : void
createFormContent()  : string
createModalEvent()  : ModalWindowEvent
createMultiplierComponent()  : Multiplier<string|int, IComponent>
Creates a multiplier for the component.
createNewComponentInstance()  : IComponent|null
Creates a new component instance without adding it to the presenter; used by the multiplier.
createStandardComponent()  : IComponent|null
Creates a standard component (not a multiplier).
createSuccessContent()  : string
prepareCurrencyList()  : array<int, string>
Only public monetary currencies: "Credits" must not be offered for a response price ({@see CurrencyManager::findPublicMonetaryOptions()}).
rateLimitMessage()  : NotTranslate
"Try again later" message; with the wait in minutes when the Api sent `retryAfter` (an upper bound for the sliding Redis window, exact for the DB limiter, hence "at the latest").

Constants

MODAL_TARGET

private mixed MODAL_TARGET = 'responseFormModal'

Properties

$advertId

public int $advertId = 0
Attributes
#[Persistent]

$componentParameters

protected array<string, mixed> $componentParameters = []

component parameters set by setComponentParameter()

$translatorDomain

protected string|null $translatorDomain = 'front.bazaar.components.responseForm'

$closed

A sold advert: no button, no modal, no submit (the Api refuses the save too).

private bool $closed = false

Methods

__call()

Dispatches `renderXyz()` to `render('Xyz', ...$args)`.

public __call(string $name, array<string|int, mixed> $args) : mixed

Called only when the component has no renderXyz() method of its own.

Parameters
$name : string
$args : array<string|int, mixed>

createComponent()

public createComponent(string $name) : IComponent|null
Parameters
$name : string
Return values
IComponent|null

getComponentParameter()

Returns a component parameter, or null when it is not set.

public getComponentParameter(string $name) : mixed
Parameters
$name : string

getContainer()

public getContainer() : Container
Return values
Container

getSettings()

public getSettings() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

handleShowResponseModal()

public handleShowResponseModal() : void

hasServiceByType()

Returns whether the container has a service of the given type.

public hasServiceByType(string $className) : bool

The name is composed dynamically (module plus component), so class_exists() runs first, and a true result guarantees a valid type.

Parameters
$className : string
Tags
phpstan-assert-if-true

class-string $className

Return values
bool

init()

public init(int $advertId[, bool $showPrice = false ][, bool $closed = false ]) : self
Parameters
$advertId : int
$showPrice : bool = false
$closed : bool = false
Return values
self

onError()

Redraws the modal with the field errors. Without it an invalid AJAX submit (browser validation bypassed or off) redrew nothing and the visitor saw no message at all.

public onError(Form $form) : void
Parameters
$form : Form

onSuccess()

public onSuccess(Form $form, ArrayHash $values) : void
Parameters
$form : Form
$values : ArrayHash

setComponentParameter()

Sets a component parameter.

public setComponentParameter(string $name, mixed $value) : void
Parameters
$name : string
$value : mixed

typedComponent()

Returns a subcomponent with a verified type.

public typedComponent(string $name, T> $type) : T

Use it instead of an inline @var above $this['x'] (which does not narrow the type) and instead of the generic IComponent that $this['x'] returns. See Form::typedComponent().

Parameters
$name : string
$type : T>
Tags
template
Return values
T

frontPresenter()

Returns the front presenter the component is attached to (null outside the front end or when detached).

protected frontPresenter() : BasePresenter|null
Return values
BasePresenter|null

getModalTarget()

protected getModalTarget() : string
Return values
string

getTranslator()

protected getTranslator() : ITranslator
Return values
ITranslator

setTemplateFile()

protected setTemplateFile(string $dir, string $filename) : void
Parameters
$dir : string
$filename : string

setTranslator()

protected setTranslator(ITranslator $translator) : self
Parameters
$translator : ITranslator
Return values
self

updateModalContent()

protected updateModalContent(string $content) : void
Parameters
$content : string

createFormContent()

private createFormContent() : string
Return values
string

createModalEvent()

private createModalEvent(string $content[, array<string, mixed> $extraOptions = [] ]) : ModalWindowEvent
Parameters
$content : string
$extraOptions : array<string, mixed> = []
Return values
ModalWindowEvent

createMultiplierComponent()

Creates a multiplier for the component.

private createMultiplierComponent(string $name) : Multiplier<string|int, IComponent>
Parameters
$name : string
Return values
Multiplier<string|int, IComponent>

createNewComponentInstance()

Creates a new component instance without adding it to the presenter; used by the multiplier.

private createNewComponentInstance(string $baseName[, int|string|null $uniqueKey = null ]) : IComponent|null
Parameters
$baseName : string
$uniqueKey : int|string|null = null
Return values
IComponent|null

createStandardComponent()

Creates a standard component (not a multiplier).

private createStandardComponent(string $name) : IComponent|null
Parameters
$name : string
Return values
IComponent|null

createSuccessContent()

private createSuccessContent() : string
Return values
string

prepareCurrencyList()

Only public monetary currencies: "Credits" must not be offered for a response price ({@see CurrencyManager::findPublicMonetaryOptions()}).

private prepareCurrencyList() : array<int, string>
Return values
array<int, string>

rateLimitMessage()

"Try again later" message; with the wait in minutes when the Api sent `retryAfter` (an upper bound for the sliding Redis window, exact for the DB limiter, hence "at the latest").

private rateLimitMessage(Result $result) : NotTranslate
Parameters
$result : Result
Return values
NotTranslate
On this page

Search results