class WebformRulesSubmissionWrapper in Webform Rules 7
Provide entity-like access to webform submission data.
Hierarchy
- class \EntityMetadataWrapper
- class \EntityStructureWrapper implements \IteratorAggregate
Expanded class hierarchy of WebformRulesSubmissionWrapper
See also
webform_rules_condition_data_nid_assertions()
2 string references to 'WebformRulesSubmissionWrapper'
- WebformRulesSubmissionWrapper::__construct in ./
webform_rules.rules.inc - Construct a new wrapper object.
- webform_rules_rules_data_info in ./
webform_rules.rules.inc - Implements hook_rules_data_info().
File
- ./
webform_rules.rules.inc, line 460 - Functions for rules integration.
View source
class WebformRulesSubmissionWrapper extends RulesIdentifiableDataWrapper {
// @TODO: implement RulesDataWrapperSavableInterface
public function __construct($type, $data = NULL, $info = array()) {
if (!is_null($data)) {
// If we have a webform submission, add the form values as properties.
// (If we do not have a submission, properties are added by assertion.
// @see webform_rules_condition_data_nid_assertions()).
$info['property info alter'] = array(
'WebformRulesSubmissionWrapper',
'webformSubmissionValues',
);
}
parent::__construct($type, $data, $info);
$this
->setData($data);
}
public static function webformSubmissionValues($wrapper, $property_info) {
$submission = $wrapper
->value();
$properties = $property_info['properties'];
if (!empty($submission->nid)) {
$properties += _webform_rules_component_property_info($submission->nid);
}
return array(
'properties' => $properties,
);
}
protected function setData($data) {
parent::setData($data);
if (!is_array($data)) {
return;
}
$submission = current($data);
if (!isset($submission->sid)) {
return;
}
$s = webform_get_submissions(array(
'sid' => $submission->sid,
));
if (empty($s) || !is_array($s)) {
return;
}
$s = current($s);
$this->id = $s->sid;
$this->data = $s;
$webform = node_load($this->data->nid);
$components = $webform->webform['components'];
foreach ($s->data as $cid => $val) {
$c_key = $components[$cid]['form_key'];
$id = "{$c_key}";
$this->data->{$id} = array_values($val);
}
}
protected function extractIdentifier($data) {
return $data->sid;
}
public function getIdentifier() {
return $this
->dataAvailable() && $this
->value() ? $this->id : NULL;
}
protected function load($data) {
if (is_array($data)) {
$sid = $data['sid'];
}
else {
$sid = $data;
}
module_load_include('inc', 'webform', 'includes/webform.submissions');
return webform_get_submissions(array(
'sid' => $sid,
));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityMetadataWrapper:: |
protected | property | ||
EntityMetadataWrapper:: |
protected | property | ||
EntityMetadataWrapper:: |
protected | property | ||
EntityMetadataWrapper:: |
protected | property | 1 | |
EntityMetadataWrapper:: |
public | function | Determines whether the given user has access to view or edit this property. Apart from relying on access metadata of properties, this takes into account information about entity level access, if available: | 1 |
EntityMetadataWrapper:: |
protected | function | Returns whether data is available to work with. | |
EntityMetadataWrapper:: |
public | function | Returns a string to use to identify this wrapper in error messages. | 1 |
EntityMetadataWrapper:: |
public | function | Gets info about the wrapped data. | |
EntityMetadataWrapper:: |
public | function | Returns the label for the currently set property value if there is one available, i.e. if an options list has been specified. | 2 |
EntityMetadataWrapper:: |
public | function | Returns the options list specifying possible values for the property, if defined. | |
EntityMetadataWrapper:: |
public | function | Returns the raw, unprocessed data. Most times this is the same as returned by value(), however for already processed and sanitized textual data, this will return the unprocessed data in contrast to value(). | |
EntityMetadataWrapper:: |
public | function | Gets the (entity)type of the wrapped data. | 1 |
EntityMetadataWrapper:: |
protected | function | Updates the parent data structure of a data property with the latest data value. | |
EntityMetadataWrapper:: |
public | function | Returns whether $value is a valid value to set. | 1 |
EntityMetadataWrapper:: |
public | function | ||
EntityStructureWrapper:: |
protected | property | ||
EntityStructureWrapper:: |
protected | property | ||
EntityStructureWrapper:: |
protected | property | ||
EntityStructureWrapper:: |
public | function | Get the wrapper for a property. | |
EntityStructureWrapper:: |
public | function | ||
EntityStructureWrapper:: |
public | function | Gets the info about the given property. | |
EntityStructureWrapper:: |
public | function | Gets the language used for retrieving properties. | |
EntityStructureWrapper:: |
protected | function | Gets the raw value of a property. | |
EntityStructureWrapper:: |
protected | function | Gets the value of a property. | |
EntityStructureWrapper:: |
public | function | Sets a new language to use for retrieving properties. | |
EntityStructureWrapper:: |
protected | function | ||
EntityStructureWrapper:: |
public | function | Returns a reference on the property info. | |
EntityStructureWrapper:: |
protected | function | Sets a property. | |
EntityStructureWrapper:: |
protected | function | May be used to lazy-load additional info about the data, depending on the concrete passed data. | 1 |
EntityStructureWrapper:: |
public | function | Magic method: Get a wrapper for a property. | |
EntityStructureWrapper:: |
public | function | Magic method: Can be used to check if a property is known. | |
EntityStructureWrapper:: |
public | function | Magic method: Set a property. | |
RulesIdentifiableDataWrapper:: |
protected | property | Contains the id. | |
RulesIdentifiableDataWrapper:: |
public | function |
Overridden. Overrides EntityStructureWrapper:: |
|
RulesIdentifiableDataWrapper:: |
public | function |
Overridden to support setting the data by either the object or the id. Overrides EntityMetadataWrapper:: |
|
RulesIdentifiableDataWrapper:: |
public | function |
Overridden. Overrides EntityMetadataWrapper:: |
|
RulesIdentifiableDataWrapper:: |
public | function |
Prepare for serialization. Overrides EntityStructureWrapper:: |
|
RulesIdentifiableDataWrapper:: |
public | function | Prepare for unserialization. | |
WebformRulesSubmissionWrapper:: |
protected | function |
Extract the identifier of the given data object. Overrides RulesIdentifiableDataWrapper:: |
|
WebformRulesSubmissionWrapper:: |
public | function |
Returns the identifier of the wrapped data. Overrides RulesIdentifiableDataWrapper:: |
|
WebformRulesSubmissionWrapper:: |
protected | function |
Load a data object given an identifier. Overrides RulesIdentifiableDataWrapper:: |
|
WebformRulesSubmissionWrapper:: |
protected | function |
Sets the data internally accepting both the data id and object. Overrides RulesIdentifiableDataWrapper:: |
|
WebformRulesSubmissionWrapper:: |
public static | function | ||
WebformRulesSubmissionWrapper:: |
public | function |
Construct a new wrapper object. Overrides RulesIdentifiableDataWrapper:: |