You are here

function views_autorefresh_handler_area_autorefresh::eval_ping_arguments in Views Auto-Refresh 7

Same name and namespace in other branches
  1. 7.2 views/views_autorefresh_handler_area_autorefresh.inc \views_autorefresh_handler_area_autorefresh::eval_ping_arguments()
2 calls to views_autorefresh_handler_area_autorefresh::eval_ping_arguments()
views_autorefresh_handler_area_autorefresh::options_validate in views/views_autorefresh_handler_area_autorefresh.inc
Validate the options form.
views_autorefresh_handler_area_autorefresh::render in views/views_autorefresh_handler_area_autorefresh.inc
Render the area.

File

views/views_autorefresh_handler_area_autorefresh.inc, line 265

Class

views_autorefresh_handler_area_autorefresh
Base class for area handlers.

Code

function eval_ping_arguments($script) {
  $args = array();
  if (empty($script)) {
    return $args;
  }

  // @TODO determine if necessary
  // Make view visible to script.
  $view = $this->view;

  // Avoid Drupal's error handler: http://www.php.net/manual/en/function.restore-error-handler.php#93261
  set_error_handler(create_function('$errno,$errstr', 'return false;'));
  $return = eval($script);
  if ($return === FALSE) {
    $error = error_get_last();
    $args = $error['message'];
  }
  else {
    if (is_array($return)) {
      $args = $return;
    }
    else {
      $args = t('expecting an array of arguments, got a !type instead.', array(
        '!type' => gettype($return),
      ));
    }
  }
  restore_error_handler();
  return $args;
}