drupal_get_js

5 common.inc drupal_get_js($scope = 'header', $javascript = NULL)
6 common.inc drupal_get_js($scope = 'header', $javascript = NULL)
7 common.inc drupal_get_js($scope = 'header', $javascript = NULL, $skip_alter = FALSE)
8 common.inc drupal_get_js($scope = 'header', $javascript = NULL, $skip_alter = FALSE)

Returns a themed presentation of all JavaScript code for the current page. References to JavaScript files are placed in a certain order: first, all 'core' files, then all 'module' and finally all 'theme' JavaScript files are added to the page. Then, all settings are output, followed by 'inline' JavaScript code.

Parameters

$scope: (optional) The scope for which the JavaScript rules should be returned. Defaults to 'header'.

$javascript: (optional) An array with all JavaScript code. Defaults to the default JavaScript array for the given scope.

Return value

All JavaScript code segments and includes for the scope as HTML tags.

Related topics

58 functions call drupal_get_js()

File

drupal/includes/common.inc, line 1814
Common functions that many Drupal modules will need to reference.

Code

<?php
function drupal_get_js($scope = 'header', $javascript = NULL) {
  $output = '';
  if (is_null($javascript)) {
    $javascript = drupal_add_js(NULL, NULL, $scope);
  }

  foreach ($javascript as $type => $data) {
    if (!$data) {
      continue;
    }

    switch ($type) {
      case 'setting':
        $output .= '<script type="text/javascript">Drupal.extend({ settings: ' . drupal_to_js(call_user_func_array('array_merge_recursive', $data)) . " });</script>\n";
        break;
      case 'inline':
        foreach ($data as $info) {
          $output .= '<script type="text/javascript"' . ($info['defer'] ? ' defer="defer"' : '') . '>' . $info['code'] . "</script>\n";
        }
        break;
      default:
        foreach ($data as $path => $info) {
          $output .= '<script type="text/javascript"' . ($info['defer'] ? ' defer="defer"' : '') . ' src="' . check_url(base_path() . $path) . ($info['cache'] ? '' : '?' . time()) . "\"></script>\n";
        }
    }
  }

  return $output;
}
?>