automatewoo/includes/Actions/ActionInterface.php
fei-source 47d3c9a8b6 Update to v6.2.2
Source: GrootMade/Festinger Vault
2026-03-15 08:31:15 +08:00

114 lines
2 KiB
PHP

<?php
namespace AutomateWoo\Actions;
use AutomateWoo\Fields\Field;
/**
* Interface ActionInterface
*
* @since 5.2.0
*/
interface ActionInterface {
/**
* Get the action's name.
*
* @return string
*/
public function get_name();
/**
* Set the action's name.
*
* @param string $name
*/
public function set_name( $name );
/**
* Get the action's title.
*
* @param bool $prepend_group
*
* @return string
*/
public function get_title( $prepend_group = false );
/**
* Get the action's group.
*
* @return string
*/
public function get_group();
/**
* Get the action's description.
*
* @return string
*/
public function get_description();
/**
* Gets specific field belonging to the action.
*
* @param string $name
*
* @return Field|false
*/
public function get_field( $name );
/**
* Gets the action's fields.
*
* @return Field[]
*/
public function get_fields();
/**
* Get a list of required field names.
*
* @since 6.0.10
*
* @return Field[]
*/
public function get_required_fields(): array;
/**
* Set the action's options.
*
* @param array $options
*/
public function set_options( $options );
/**
* Returns an option for use when running the action.
*
* Option value will already have been sanitized by it's field ::sanitize_value() method.
*
* @param string $field_name
* @param bool $process_variables
* @param bool $allow_html
*
* @return mixed Will vary depending on the field type specified in the action's fields.
*/
public function get_option( $field_name, $process_variables = false, $allow_html = false );
/**
* Get an option for use when editing the action.
*
* The value will be already sanitized by the field object.
* This is used to displaying an option value for editing.
*
* @param string $field_name
*
* @return mixed
*/
public function get_option_raw( $field_name );
/**
* Run the action.
*
* @throws \Exception When an error occurs.
*/
public function run();
}