bat_event.rules.inc in Booking and Availability Management Tools for Drupal 7
File
modules/bat_event/bat_event.rules.inc
View source
<?php
function bat_event_rules_data_info() {
return array(
'bat_event_state_reference' => array(
'label' => t('state'),
'ui class' => 'RulesDataUIEventStateReference',
'wrap' => TRUE,
'property info' => bat_event_state_reference_field_data_property_info(),
),
);
}
class RulesDataUIEventStateReference extends RulesDataUI implements RulesDataDirectInputFormInterface {
public static function getDefaultMode() {
return 'input';
}
public static function inputForm($name, $info, $settings, RulesPlugin $element) {
$settings += array(
$name => isset($info['default value']) ? $info['default value'] : array(
'state' => '',
),
);
$value = $settings[$name];
$options = array();
foreach (bat_event_get_states() as $state) {
$options[$state['machine_name']] = $state['label'] . ' (' . $state['id'] . ')';
}
$form[$name]['state'] = array(
'#type' => 'select',
'#options' => $options,
'#default_value' => isset($value['state']) ? $value['state'] : '',
'#required' => TRUE,
);
return $form;
}
public static function render($value) {
return array(
'content' => array(
'#markup' => $value['state'],
),
);
}
}