contextphp_condition_php.inc in Context PHP 6
File
plugins/contextphp_condition_php.inc
View source
<?php
class contextphp_condition_php extends context_condition {
function condition_values() {
return array(
1 => t('True'),
);
}
function condition_form($context) {
$form['#type'] = 'value';
$form['#value'] = TRUE;
return $form;
}
function condition_form_submit($values) {
return array(
$values,
);
}
function options_form($context) {
$defaults = $this
->fetch_from_context($context, 'options');
return array(
'phpcode' => array(
'#type' => 'textarea',
'#title' => t('PHP code'),
'#description' => t('Enter PHP code that returns TRUE if the condition shall be met. Do not use <?php ?>.'),
'#default_value' => $defaults['phpcode'],
),
);
}
function execute() {
foreach (context_enabled_contexts() as $context) {
$options = $this
->fetch_from_context($context, 'options');
if (!empty($options['phpcode'])) {
$code = '<?php ' . $options['phpcode'] . ' ?>';
$return = drupal_eval($code);
if ($return == TRUE) {
$this
->condition_met($context, $return);
}
}
}
}
}