diff --git a/fullcalendar.module b/fullcalendar.module index 949982d..7468b4e 100644 --- a/fullcalendar.module +++ b/fullcalendar.module @@ -235,12 +235,17 @@ function fullcalendar_form_views_ui_edit_display_form_alter(&$form, &$form_state /** * Returns events for FullCalendar. */ -function fullcalendar_results($view_name = NULL, $view_display = NULL, $args = NULL) { +function fullcalendar_results($view_name = NULL, $view_display = NULL) { // Bail out if no view_name or view_display is passed. if (empty($view_name) || empty($view_display) || empty($_POST['dom_id'])) { return; } + // Find Views arguments. + $args = func_get_args(); + unset($args[0], $args[1]); + $args = array_values($args); + $dom_id = check_plain($_POST['dom_id']); $view_name = check_plain($view_name); $view_display = check_plain($view_display); @@ -261,7 +266,7 @@ function fullcalendar_results($view_name = NULL, $view_display = NULL, $args = N $view->dom_id = str_replace('.view-dom-id-', '', $dom_id); $view->fullcalendar_ajax = TRUE; - $view->pre_execute(); + $view->pre_execute($args); $view->init_style(); $view->execute($view_display); $output = $view->style_plugin->render(); diff --git a/js/fullcalendar.ajax.js b/js/fullcalendar.ajax.js index e7b3058..71d7b8d 100644 --- a/js/fullcalendar.ajax.js +++ b/js/fullcalendar.ajax.js @@ -24,6 +24,7 @@ Drupal.fullcalendar.fullcalendar.prototype.dateChange = function (fields) { }; Drupal.fullcalendar.fullcalendar.prototype.submitInit = function (settings) { + var ajaxView = Drupal.settings.views.ajaxViews[this.dom_id.replace('.view-dom-id-', 'views_dom_id:')]; this.tm = settings.theme ? 'ui' : 'fc'; var $submit = this.$calendar.find('.views-exposed-form .views-submit-button'); if (this.$calendar.find('.views-exposed-widget').length == settings.fullcalendar_fields_count + 1) { @@ -32,7 +33,7 @@ Drupal.fullcalendar.fullcalendar.prototype.submitInit = function (settings) { var $submit_button = $submit.find('.form-submit'); this.$submit = new Drupal.ajax('main', $submit_button[0], { event: 'fullcalendar_submit', - url: 'fullcalendar/ajax/results/' + settings.view_name + '/' + settings.view_display, + url: Drupal.settings.basePath + 'fullcalendar/ajax/results/' + settings.view_name + '/' + settings.view_display + '/' + ajaxView.view_args, fullcalendar: this, submit: {dom_id: this.dom_id} });