Same name and namespace in other branches
  1. 7.x includes/common.inc \drupal_build_js_cache()

Aggregate JS files, putting them in the files directory.

Parameters

$files: An array of JS files to aggregate and compress into one file.

$filename: The name of the aggregate JS file.

Return value

The name of the JS file.

1 call to drupal_build_js_cache()
drupal_get_js in includes/common.inc
Returns a themed presentation of all JavaScript code for the current page.

File

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

Code

function drupal_build_js_cache($files, $filename) {
  $contents = '';

  // Create the js/ within the files folder.
  $jspath = file_create_path('js');
  file_check_directory($jspath, FILE_CREATE_DIRECTORY);
  if (!file_exists($jspath . '/' . $filename)) {

    // Build aggregate JS file.
    foreach ($files as $path => $info) {
      if ($info['preprocess']) {

        // Append a ';' and a newline after each JS file to prevent them from running together.
        $contents .= file_get_contents($path) . ";\n";
      }
    }

    // Create the JS file.
    file_save_data($contents, $jspath . '/' . $filename, FILE_EXISTS_REPLACE);
  }
  return $jspath . '/' . $filename;
}