You are here

function page_manager_contact_site in Chaos Tool Suite (ctools) 7

Same name and namespace in other branches
  1. 6 page_manager/plugins/tasks/contact_site.inc \page_manager_contact_site()

Entry point for our overridden site contact.

This function asks its assigned handlers who, if anyone, would like to run with it. If no one does, it passes through to Drupal core's node edit, which is node_page_edit().

1 string reference to 'page_manager_contact_site'
page_manager_contact_site_menu_alter in page_manager/plugins/tasks/contact_site.inc
Callback defined by page_manager_contact_site_page_manager_tasks().

File

page_manager/plugins/tasks/contact_site.inc, line 78

Code

function page_manager_contact_site() {

  // Load my task plugin.
  $task = page_manager_get_task('contact_site');
  ctools_include('context');
  ctools_include('context-task-handler');
  $output = ctools_context_handler_render($task, '', array(), array());
  if ($output !== FALSE) {
    return $output;
  }
  module_load_include('inc', 'contact', 'contact.pages');
  $function = 'contact_site_form';
  foreach (module_implements('page_manager_override') as $module) {
    $call = $module . '_page_manager_override';
    if (($rc = $call('contact_site')) && function_exists($rc)) {
      $function = $rc;
      break;
    }
  }

  // Otherwise, fall back.
  if ($function == 'contact_site_form') {
    return drupal_get_form($function);
  }
  return $function();
}