You are here

function views_gantt_load_xml in Views Gantt 7

Returns XML file for dhtmlxGantt Chart.

1 string reference to 'views_gantt_load_xml'
views_gantt_menu in ./views_gantt.module
Implements hook_menu().

File

./views_gantt.module, line 90
Module file for Views Gantt

Code

function views_gantt_load_xml() {
  if (!isset($_SESSION['views_gantt']) && isset($_GET['view'], $_GET['display'], $_GET['project'])) {
    $view = views_get_view($_GET['view']);
    $exposed_filters = array();
    foreach ($_GET as $key => $value) {
      if (isset($view->exposed_data[$key])) {
        $exposed_filters[$key] = $value;
      }
    }
    if (isset($view->exposed_input)) {
      $view->exposed_input = array_merge($exposed_filters, (array) $view->exposed_input);
    }
    if (isset($view->exposed_raw_input)) {
      $view->exposed_raw_input = array_merge($exposed_filters, (array) $view->exposed_raw_input);
    }
    if (isset($view->exposed_data)) {
      $view->exposed_data = array_merge($exposed_filters, (array) $view->exposed_data);
    }
    $view
      ->preview($_GET['display'], $_GET['project']);
  }

  // We put in session info about tasks and
  // project before view was rendered,
  // now we get it to build XML.
  if (isset($_SESSION['views_gantt'])) {
    $xml = views_gantt_build_xml($_SESSION['views_gantt']['project'], $_SESSION['views_gantt']['tasks']);
    drupal_add_http_header('Content-Type', 'text/xml');
    print $xml;
  }
  else {
    drupal_access_denied();
  }
  drupal_exit();
}