public interface iEvent

interface.event.php #12

This interface describes the minimum a new Event type needs to provide to be able to be used by Symphony

Methods

static array about()

Return an associative array of meta information about this event such creation date, who created it and the name.

static buildEditor(XMLElement $wrapper, array $errors, string $handle, array $settings)

This function is invoked by the Event Editor and allows this event to provide HTML so that it can be created or edited. It is expected that this function will also handle the display of error messages.

Parameters
  • $wrapper XMLElementAn XMLElement for the HTML to be appended to. This is usually AdministrationPage->Form.

  • $errors arrayIf there are any errors, this variable will be an associative array, key being the setting handle.

  • $settings arrayAn associative array of settings. This may be null on create, but will be populated with the event's settings on edit using settings().

  • $handle stringIf the event already exists (so it's being edited), the handle of the event will be passed to this function.

See Also
XMLElement execute(array $param_pool)

This function actually executes the event, and returns the result of the event as an XMLElement so that the FrontendPage class can add to a page's XML.

Parameters
  • $param_pool arrayAn associative array of parameters that have been evaluated prior to this event's execution.

Returns

This event should return an XMLElement object.

static string getName()

Returns the human readable name of this event type. This is displayed in the event selection options.

static string getSource()

Returns the __CLASS__ on the provided event, this is often used as a way to namespace settings in forms and provide a unique handle for this event type

static string getTemplate()

Returns the absolute path to the template that this template will use to save instances of this event in the events folder.

mixed load()

The load functions determines whether an event will be executed or not by comparing the Event's action with the $_POST data. This function will be called every time a page is loaded that an event is attached too. If the action does exist, it typically calls the __trigger() method, otherwise void.

Returns

XMLElement with the event result or void if the action did not match

static string prepare(mixed $fields, mixed $parameters, string $template, array $settings, array $params)

Given the settings and any existing event parameters, return the contents of this event that can be saved to the filesystem.

Parameters
  • $settings arrayAn associative array of settings for this event, where the key is the name of the setting. These are user defined through the event Editor.

  • $params arrayAn associative array of parameters for this event, where the key is the name of the parameter.

  • $template stringThe template file, which has already been altered by Symphony to remove any named tokens (ie. <!-- CLASS NAME -->).

Returns

The completed template, ready to be saved.

array settings()

This function returns all the settings of the current event instance.

Returns

An associative array of settings for this event where the key is getClass and the value is an associative array of settings, key being the setting name, value being, the value

static boolean validate(array $settings, array $errors)

Given an array of settings, validate them, adding any errors to the $errors variable which is passed by reference. $errors should be formatted as an associative array

Parameters
  • $settings arrayAn associative array of settings

  • $errors arrayPassed as an empty array, can be populated with any validation errors

Returns

True if the event is valid, false otherwise. If false it is expected that $errors are populated.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details