- Patch by #565496 by dropcube, pwolanin: changed Allow dynamic attaching of other types of stuff to render() structures.
							parent
							
								
									2431df84a2
								
							
						
					
					
						commit
						a539b0e00d
					
				| 
						 | 
				
			
			@ -292,7 +292,7 @@ function ajax_process_form($element) {
 | 
			
		|||
  // we avoid the problem by checking if the JavaScript has already been added.
 | 
			
		||||
  if (!isset($js_added[$element['#id']]) && (isset($element['#ajax']['callback']) || isset($element['#ajax']['path'])) && isset($element['#ajax']['event'])) {
 | 
			
		||||
    drupal_add_library('system', 'form');
 | 
			
		||||
    $element['#attached_js'] = array('misc/ajax.js');
 | 
			
		||||
    $element['#attached']['js'][] = 'misc/ajax.js';
 | 
			
		||||
 | 
			
		||||
    $ajax_binding = array(
 | 
			
		||||
      'url'      => isset($element['#ajax']['callback']) ? url('system/ajax') : url($element['#ajax']['path']),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3203,14 +3203,31 @@ function drupal_get_js($scope = 'header', $javascript = NULL) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Adds all the attached libraries, JavaScript and CSS to the page.
 | 
			
		||||
 * Add to the page all structures attached to a render() structure.
 | 
			
		||||
 *
 | 
			
		||||
 * @param $libraries
 | 
			
		||||
 *   An array of depending libraries to be added.
 | 
			
		||||
 * @param $js
 | 
			
		||||
 *   An array of JavaScript components to add.
 | 
			
		||||
 * @param $css
 | 
			
		||||
 *   An array of cascading stylesheets to add.
 | 
			
		||||
 * Libraries, JavaScript, CSS and other types of custom structures are attached
 | 
			
		||||
 * to elements using the #attached property. The #attached property contains an
 | 
			
		||||
 * associative array, where the keys are the the types of the structure, and
 | 
			
		||||
 * the value the attached data. For example:
 | 
			
		||||
 * @code
 | 
			
		||||
 * $build['#attached'] = array(
 | 
			
		||||
 *   'js' => array(drupal_get_path('module', 'taxonomy') . '/taxonomy.js'),
 | 
			
		||||
 *   'css' => array(drupal_get_path('module', 'taxonomy') . '/taxonomy.css'),
 | 
			
		||||
 * );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * 'js', 'css', and 'library' are types that get special handling.  For any
 | 
			
		||||
 * other kind of attached data, the array key must be the full name of the
 | 
			
		||||
 * callback function and each value an array of arguments. For example:
 | 
			
		||||
 *
 | 
			
		||||
 * @code
 | 
			
		||||
 * $build['#attached']['drupal_set_header'] = array(
 | 
			
		||||
 *   array('Content-Type', 'application/rss+xml; charset=utf-8'),
 | 
			
		||||
 * );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * @param $elements
 | 
			
		||||
 *   The structured array describing the data being rendered.
 | 
			
		||||
 * @param $weight
 | 
			
		||||
 *   The default weight of JavaScript and CSS being added. This is only applied
 | 
			
		||||
 *   to the stylesheets and JavaScript items that don't have an explicit weight
 | 
			
		||||
| 
						 | 
				
			
			@ -3223,12 +3240,26 @@ function drupal_get_js($scope = 'header', $javascript = NULL) {
 | 
			
		|||
 *   Will return FALSE if there were any missing library dependencies. TRUE will
 | 
			
		||||
 *   be returned if all library dependencies were met.
 | 
			
		||||
 *
 | 
			
		||||
 * @see drupal_add_library(), drupal_render()
 | 
			
		||||
 * @see drupal_add_library().
 | 
			
		||||
 * @see drupal_add_js().
 | 
			
		||||
 * @see drupal_add_css().
 | 
			
		||||
 * @see drupal_render().
 | 
			
		||||
 */
 | 
			
		||||
function drupal_process_attached(array $libraries = array(), array $js = array(), array $css = array(), $weight = JS_DEFAULT, $dependency_check = FALSE) {
 | 
			
		||||
function drupal_process_attached($elements, $weight = JS_DEFAULT, $dependency_check = FALSE) {
 | 
			
		||||
  // If there is nothing to process then return. 
 | 
			
		||||
  if (empty($elements['#attached'])) {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  // Add defaults to the special attached structures that should be processed differently.
 | 
			
		||||
  $elements['#attached'] += array(
 | 
			
		||||
    'library' => array(),
 | 
			
		||||
    'js' => array(),
 | 
			
		||||
    'css' => array(),
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  // Add the libraries first.
 | 
			
		||||
  $success = TRUE;
 | 
			
		||||
  foreach ($libraries as $library) {
 | 
			
		||||
  foreach ($elements['#attached']['library'] as $library) {
 | 
			
		||||
    if (drupal_add_library($library[0], $library[1]) === FALSE) {
 | 
			
		||||
      $success = FALSE;
 | 
			
		||||
      // Exit if the dependency is missing.
 | 
			
		||||
| 
						 | 
				
			
			@ -3237,10 +3268,13 @@ function drupal_process_attached(array $libraries = array(), array $js = array()
 | 
			
		|||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  unset($elements['#attached']['library']);
 | 
			
		||||
 | 
			
		||||
  // Add both the JavaScript and the CSS.
 | 
			
		||||
  foreach (array('js' => $js, 'css' => $css) as $type => $items) {
 | 
			
		||||
    foreach ($items as $data => $options) {
 | 
			
		||||
  // The parameters for drupal_add_js() and drupal_add_css() require special
 | 
			
		||||
  // handling.
 | 
			
		||||
  foreach (array('js', 'css') as $type) {
 | 
			
		||||
    foreach ($elements['#attached'][$type] as $data => $options) {
 | 
			
		||||
      // If the value is not an array, it's a filename and passed as first
 | 
			
		||||
      // (and only) argument.
 | 
			
		||||
      if (!is_array($options)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -3259,7 +3293,20 @@ function drupal_process_attached(array $libraries = array(), array $js = array()
 | 
			
		|||
      }
 | 
			
		||||
      call_user_func('drupal_add_' . $type, $data, $options);
 | 
			
		||||
    }
 | 
			
		||||
    unset($elements['#attached'][$type]);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Add additional types of attachments specified in the render() structure.
 | 
			
		||||
  // Libraries, Javascript and CSS have been added already, as they require
 | 
			
		||||
  // special handling.
 | 
			
		||||
  foreach ($elements['#attached'] as $callback => $options) {
 | 
			
		||||
    if (function_exists($callback)) {
 | 
			
		||||
      foreach ($elements['#attached'][$callback] as $args) {
 | 
			
		||||
        call_user_func_array($callback, $args);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return $success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3292,7 +3339,12 @@ function drupal_add_library($module, $name) {
 | 
			
		|||
  if (!isset($added[$module][$name])) {
 | 
			
		||||
    if ($library = drupal_get_library($module, $name)) {
 | 
			
		||||
      // Add all components within the library.
 | 
			
		||||
      $added[$module][$name] = drupal_process_attached($library['dependencies'], $library['js'], $library['css'], JS_LIBRARY, TRUE);
 | 
			
		||||
      $elements['#attached'] = array(
 | 
			
		||||
        'library' => $library['dependencies'],
 | 
			
		||||
        'js' => $library['js'],
 | 
			
		||||
        'css' => $library['css'],
 | 
			
		||||
      );
 | 
			
		||||
      $added[$module][$name] = drupal_process_attached($elements, JS_LIBRARY, TRUE);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      // Requested library does not exist.
 | 
			
		||||
| 
						 | 
				
			
			@ -4141,12 +4193,9 @@ function drupal_render(&$elements) {
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Add additional libraries, CSS and JavaScript associated with this element.
 | 
			
		||||
  drupal_process_attached(
 | 
			
		||||
    isset($elements['#attached_library']) ? $elements['#attached_library'] : array(),
 | 
			
		||||
    isset($elements['#attached_js']) ? $elements['#attached_js'] : array(),
 | 
			
		||||
    isset($elements['#attached_css']) ? $elements['#attached_css'] : array()
 | 
			
		||||
  );
 | 
			
		||||
  // Add additional libraries, CSS, JavaScript an other custom
 | 
			
		||||
  // attached data associated with this element.
 | 
			
		||||
  drupal_process_attached($elements);
 | 
			
		||||
 | 
			
		||||
  $prefix = isset($elements['#prefix']) ? $elements['#prefix'] : '';
 | 
			
		||||
  $suffix = isset($elements['#suffix']) ? $elements['#suffix'] : '';
 | 
			
		||||
| 
						 | 
				
			
			@ -4252,12 +4301,9 @@ function drupal_render_cache_get($elements) {
 | 
			
		|||
  $bin = isset($elements['#cache']['bin']) ? $elements['#cache']['bin'] : 'cache';
 | 
			
		||||
 | 
			
		||||
  if (!empty($cid) && $cache = cache_get($cid, $bin)) {
 | 
			
		||||
    // Add additional libraries, CSS and JavaScript associated with this element.
 | 
			
		||||
    drupal_process_attached(
 | 
			
		||||
      isset($cache->data['#attached_library']) ? $cache->data['#attached_library'] : array(),
 | 
			
		||||
      isset($cache->data['#attached_js']) ? $cache->data['#attached_js'] : array(),
 | 
			
		||||
      isset($cache->data['#attached_css']) ? $cache->data['#attached_css'] : array()
 | 
			
		||||
    );
 | 
			
		||||
    // Add additional libraries, JavaScript, CSS and other data attached
 | 
			
		||||
    // to this element.
 | 
			
		||||
    drupal_process_attached($cache->data);
 | 
			
		||||
    // Return the rendered output.
 | 
			
		||||
    return $cache->data['#markup'];;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -4284,12 +4330,8 @@ function drupal_render_cache_set($markup, $elements) {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  $data['#markup'] = $markup;
 | 
			
		||||
  // Persist additional CSS and JavaScript files associated with this element.
 | 
			
		||||
  foreach (array('css', 'js', 'library') as $kind) {
 | 
			
		||||
    if (!empty($elements['#attached_' . $kind])) {
 | 
			
		||||
      $data['#attached_' . $kind] = $elements['#attached_' . $kind];
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  // Persist attached data associated with this element.
 | 
			
		||||
  $data['#attached'] = $elements['#attached'];
 | 
			
		||||
  $bin = isset($elements['#cache']['bin']) ? $elements['#cache']['bin'] : 'cache';
 | 
			
		||||
  $expire = isset($elements['#cache']['expire']) ? $elements['#cache']['expire'] : CACHE_PERMANENT;
 | 
			
		||||
  cache_set($cid, $data, $bin, $expire);
 | 
			
		||||
| 
						 | 
				
			
			@ -4412,6 +4454,7 @@ function element_basic_defaults() {
 | 
			
		|||
    '#title' => '',
 | 
			
		||||
    '#attributes' => array(),
 | 
			
		||||
    '#required' => FALSE,
 | 
			
		||||
    '#attached' => array(),
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2253,9 +2253,9 @@ function form_process_fieldset(&$element, &$form_state) {
 | 
			
		|||
  $element['#group_members'] = &$form_state['groups'][$parents];
 | 
			
		||||
 | 
			
		||||
  // Contains form element summary functionalities.
 | 
			
		||||
  $element['#attached_js']['misc/form.js'] = array('weight' => JS_LIBRARY + 1);
 | 
			
		||||
  $element['#attached']['js']['misc/form.js'] = array('weight' => JS_LIBRARY + 1);
 | 
			
		||||
  if (!empty($element['#collapsible'])) {
 | 
			
		||||
    $element['#attached_js']['misc/collapse.js'] = array();
 | 
			
		||||
    $element['#attached']['js'][] = 'misc/collapse.js';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return $element;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -445,7 +445,9 @@ function _book_add_form_elements(&$form, $node) {
 | 
			
		|||
    '#collapsible' => TRUE,
 | 
			
		||||
    '#collapsed' => TRUE,
 | 
			
		||||
    '#group' => 'additional_settings',
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'book') . '/book.js'),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'js' => array(drupal_get_path('module', 'book') . '/book.js'),
 | 
			
		||||
    ),
 | 
			
		||||
    '#tree' => TRUE,
 | 
			
		||||
    '#attributes' => array('class' => array('book-outline-form')),
 | 
			
		||||
  );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,22 +148,24 @@ function color_scheme_form(&$form_state, $theme) {
 | 
			
		|||
    '#title' => t('Color set'),
 | 
			
		||||
    '#options' => $info['schemes'],
 | 
			
		||||
    '#default_value' => $current,
 | 
			
		||||
    // Add Farbtastic color picker.
 | 
			
		||||
    '#attached_library' => array(
 | 
			
		||||
      array('system', 'farbtastic'),
 | 
			
		||||
    ),
 | 
			
		||||
    // Add custom CSS.
 | 
			
		||||
    '#attached_css' => array(
 | 
			
		||||
      $base . '/color.css' => array('preprocess' => FALSE),
 | 
			
		||||
    ),
 | 
			
		||||
    // Add custom JavaScript.
 | 
			
		||||
    '#attached_js' => array(
 | 
			
		||||
      $base . '/color.js',
 | 
			
		||||
      array(
 | 
			
		||||
        'data' => array('color' => array(
 | 
			
		||||
          'reference' => color_get_palette($theme, TRUE),
 | 
			
		||||
        )),
 | 
			
		||||
        'type' => 'setting',
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      // Add Farbtastic color picker.
 | 
			
		||||
      'library' => array(
 | 
			
		||||
        array('system', 'farbtastic'),
 | 
			
		||||
      ),
 | 
			
		||||
      // Add custom CSS.
 | 
			
		||||
      'css' => array(
 | 
			
		||||
        $base . '/color.css' => array('preprocess' => FALSE),
 | 
			
		||||
      ),
 | 
			
		||||
      // Add custom JavaScript.
 | 
			
		||||
      'js' => array(
 | 
			
		||||
        $base . '/color.js',
 | 
			
		||||
        array(
 | 
			
		||||
          'data' => array(
 | 
			
		||||
            'color' => array('reference' => color_get_palette($theme, TRUE)),
 | 
			
		||||
          ),
 | 
			
		||||
          'type' => 'setting',
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -590,7 +590,7 @@ function comment_node_page_additions($node) {
 | 
			
		|||
      $comments = comment_load_multiple($cids);
 | 
			
		||||
      comment_prepare_thread($comments);
 | 
			
		||||
      $build = comment_build_multiple($comments);
 | 
			
		||||
      $build['#attached_css'][] = drupal_get_path('module', 'comment') . '/comment.css';
 | 
			
		||||
      $build['#attached']['css'][] = drupal_get_path('module', 'comment') . '/comment.css';
 | 
			
		||||
      $build['pager']['#theme'] = 'pager';
 | 
			
		||||
      $additions['comments'] = $build;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -940,7 +940,9 @@ function comment_form_node_type_form_alter(&$form, $form_state) {
 | 
			
		|||
      '#collapsible' => TRUE,
 | 
			
		||||
      '#collapsed' => TRUE,
 | 
			
		||||
      '#group' => 'additional_settings',
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'comment') . '/comment-node-form.js'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'comment') . '/comment-node-form.js'),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    $form['comment']['comment_default_mode'] = array(
 | 
			
		||||
      '#type' => 'checkbox',
 | 
			
		||||
| 
						 | 
				
			
			@ -1006,7 +1008,9 @@ function comment_form_alter(&$form, $form_state, $form_id) {
 | 
			
		|||
      '#collapsible' => TRUE,
 | 
			
		||||
      '#collapsed' => TRUE,
 | 
			
		||||
      '#group' => 'additional_settings',
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'comment') . '/comment-node-form.js'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'comment') . '/comment-node-form.js'),
 | 
			
		||||
       ),
 | 
			
		||||
      '#weight' => 30,
 | 
			
		||||
    );
 | 
			
		||||
    $comment_count = isset($node->nid) ? db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField() : 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -1614,7 +1618,7 @@ function comment_form(&$form_state, $comment) {
 | 
			
		|||
  $node = node_load($comment->nid);
 | 
			
		||||
 | 
			
		||||
  if (!$user->uid && variable_get('comment_anonymous_' . $node->type, COMMENT_ANONYMOUS_MAYNOT_CONTACT) != COMMENT_ANONYMOUS_MAYNOT_CONTACT) {
 | 
			
		||||
    $form_state['#attached_js'][] = drupal_get_path('module', 'comment') . '/comment.js';
 | 
			
		||||
    $form_state['#attached']['js'][] = drupal_get_path('module', 'comment') . '/comment.js';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $comment = (array) $comment;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -490,7 +490,7 @@ function field_attach_form($obj_type, $object, &$form, &$form_state, $langcode =
 | 
			
		|||
 | 
			
		||||
  // Add custom weight handling.
 | 
			
		||||
  list($id, $vid, $bundle) = field_attach_extract_ids($obj_type, $object);
 | 
			
		||||
  $form['#attached_css'][] = drupal_get_path('module', 'field') . '/theme/field.css';
 | 
			
		||||
  $form['#attached']['css'][] = drupal_get_path('module', 'field') . '/theme/field.css';
 | 
			
		||||
  $form['#pre_render'][] = '_field_extra_weights_pre_render';
 | 
			
		||||
  $form['#extra_fields'] = field_extra_fields($bundle);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1090,7 +1090,7 @@ function field_attach_view($obj_type, $object, $build_mode = 'full', $langcode =
 | 
			
		|||
 | 
			
		||||
  // Add custom weight handling.
 | 
			
		||||
  list($id, $vid, $bundle) = field_attach_extract_ids($obj_type, $object);
 | 
			
		||||
  $output['#attached_css'][] = drupal_get_path('module', 'field') . '/theme/field.css';
 | 
			
		||||
  $output['#attached']['css'][] = drupal_get_path('module', 'field') . '/theme/field.css';
 | 
			
		||||
  $output['#pre_render'][] = '_field_extra_weights_pre_render';
 | 
			
		||||
  $output['#extra_fields'] = field_extra_fields($bundle);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,9 +71,7 @@ function file_field_settings_form($field, $instance) {
 | 
			
		|||
  $defaults = field_info_field_settings($field['type']);
 | 
			
		||||
  $settings = array_merge($defaults, $field['settings']);
 | 
			
		||||
 | 
			
		||||
  $form = array(
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'file') . '/file.js'),
 | 
			
		||||
  );
 | 
			
		||||
  $form['#attached']['js'][] = drupal_get_path('module', 'file') . '/file.js';
 | 
			
		||||
 | 
			
		||||
  $form['display_field'] = array(
 | 
			
		||||
    '#type' => 'checkbox',
 | 
			
		||||
| 
						 | 
				
			
			@ -119,9 +117,7 @@ function file_field_settings_form($field, $instance) {
 | 
			
		|||
function file_field_instance_settings_form($field, $instance) {
 | 
			
		||||
  $settings = $instance['settings'];
 | 
			
		||||
 | 
			
		||||
  $form = array(
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'file') . '/file.js'),
 | 
			
		||||
  );
 | 
			
		||||
  $form['#attached']['js'][] = drupal_get_path('module', 'file') . '/file.js';
 | 
			
		||||
 | 
			
		||||
  $form['max_filesize'] = array(
 | 
			
		||||
    '#type' => 'textfield',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,8 +50,10 @@ function file_elements() {
 | 
			
		|||
    '#upload_validators' => array(),
 | 
			
		||||
    '#upload_location' => NULL,
 | 
			
		||||
    '#extended' => FALSE,
 | 
			
		||||
    '#attached_css' => array($file_path . '/file.css'),
 | 
			
		||||
    '#attached_js' => array($file_path . '/file.js'),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'css' => array($file_path . '/file.css'),
 | 
			
		||||
      'js' => array($file_path . '/file.js'),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  return $elements;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,9 @@ function image_style_list() {
 | 
			
		|||
  $styles = image_styles();
 | 
			
		||||
  $page['image_style_list'] = array(
 | 
			
		||||
    '#markup' => theme('image_style_list', $styles),
 | 
			
		||||
    '#attached_css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  return $page;
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +42,9 @@ function image_style_form(&$form_state, $style) {
 | 
			
		|||
  $form_state['image_style'] = $style;
 | 
			
		||||
  $form = array(
 | 
			
		||||
    '#tree' => TRUE,
 | 
			
		||||
    '#attached_css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  // Allow the name of the style to be changed.
 | 
			
		||||
| 
						 | 
				
			
			@ -313,7 +317,9 @@ function image_effect_form(&$form_state, $style, $effect) {
 | 
			
		|||
 | 
			
		||||
  $form = array(
 | 
			
		||||
    '#tree' => TRUE,
 | 
			
		||||
    '#attached_css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  if (function_exists($effect['form callback'])) {
 | 
			
		||||
    $form['data'] = call_user_func($effect['form callback'], $effect['data']);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -448,7 +448,9 @@ function menu_edit_menu(&$form_state, $type, $menu = array()) {
 | 
			
		|||
      '#maxsize' => MENU_MAX_MENU_NAME_LENGTH_UI,
 | 
			
		||||
      '#description' => t('This text will be used to construct the URL for the menu. The name must contain only lowercase letters, numbers and hyphens, and must be unique.'),
 | 
			
		||||
      '#required' => TRUE,
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -412,7 +412,9 @@ function menu_form_alter(&$form, $form_state, $form_id) {
 | 
			
		|||
      '#collapsible' => TRUE,
 | 
			
		||||
      '#collapsed' => FALSE,
 | 
			
		||||
      '#group' => 'additional_settings',
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'menu') . '/menu.js'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'menu') . '/menu.js'),
 | 
			
		||||
      ),
 | 
			
		||||
      '#tree' => TRUE,
 | 
			
		||||
      '#weight' => -2,
 | 
			
		||||
      '#attributes' => array('class' => array('menu-item-form')),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -101,7 +101,9 @@ function node_type_form(&$form_state, $type = NULL) {
 | 
			
		|||
      '#maxlength' => 32,
 | 
			
		||||
      '#required' => TRUE,
 | 
			
		||||
      '#description' => t('The machine-readable name of this content type. This text will be used for constructing the URL of the <em>add new content</em> page for this content type. This name must contain only lowercase letters, numbers, and underscores. Underscores will be converted into hyphens when constructing the URL of the <em>add new content</em> page. This name must be unique.'),
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
  else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -172,7 +172,9 @@ function node_form(&$form_state, $node) {
 | 
			
		|||
      // Collapsed by default when "Create new revision" is unchecked
 | 
			
		||||
      '#collapsed' => !$node->revision,
 | 
			
		||||
      '#group' => 'additional_settings',
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
      ),
 | 
			
		||||
      '#weight' => 20,
 | 
			
		||||
    );
 | 
			
		||||
    $form['revision_information']['revision'] = array(
 | 
			
		||||
| 
						 | 
				
			
			@ -198,7 +200,9 @@ function node_form(&$form_state, $node) {
 | 
			
		|||
    '#collapsible' => TRUE,
 | 
			
		||||
    '#collapsed' => TRUE,
 | 
			
		||||
    '#group' => 'additional_settings',
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
    ),
 | 
			
		||||
    '#weight' => 90,
 | 
			
		||||
  );
 | 
			
		||||
  $form['author']['name'] = array(
 | 
			
		||||
| 
						 | 
				
			
			@ -229,7 +233,9 @@ function node_form(&$form_state, $node) {
 | 
			
		|||
    '#collapsible' => TRUE,
 | 
			
		||||
    '#collapsed' => TRUE,
 | 
			
		||||
    '#group' => 'additional_settings',
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'js' => array(drupal_get_path('module', 'node') . '/node.js'),
 | 
			
		||||
    ),
 | 
			
		||||
    '#weight' => 95,
 | 
			
		||||
  );
 | 
			
		||||
  $form['options']['status'] = array(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -234,7 +234,9 @@ function path_form_alter(&$form, $form_state, $form_id) {
 | 
			
		|||
      '#collapsible' => TRUE,
 | 
			
		||||
      '#collapsed' => empty($path),
 | 
			
		||||
      '#group' => 'additional_settings',
 | 
			
		||||
      '#attached_js' => array(drupal_get_path('module', 'path') . '/path.js'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(drupal_get_path('module', 'path') . '/path.js'),
 | 
			
		||||
      ),
 | 
			
		||||
      '#access' => user_access('create url aliases'),
 | 
			
		||||
      '#weight' => 30,
 | 
			
		||||
    );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -896,14 +896,10 @@ class JavaScriptTestCase extends DrupalWebTestCase {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Tests the addition of libraries through the #attached_library property.
 | 
			
		||||
   * Tests the addition of libraries through the #attached['library'] property.
 | 
			
		||||
   */
 | 
			
		||||
  function testAttachedLibrary() {
 | 
			
		||||
    $element = array(
 | 
			
		||||
      '#attached_library' => array(
 | 
			
		||||
        array('system', 'farbtastic'),
 | 
			
		||||
      )
 | 
			
		||||
    );
 | 
			
		||||
    $element['#attached']['library'][] = array('system', 'farbtastic');
 | 
			
		||||
    drupal_render($element);
 | 
			
		||||
    $scripts = drupal_get_js();
 | 
			
		||||
    $this->assertTrue(strpos($scripts, 'misc/farbtastic/farbtastic.js'), t('The attached_library property adds the additional libraries.'));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3101,8 +3101,10 @@ function system_page_build(&$page) {
 | 
			
		|||
  if (system_run_cron_image_access()) {
 | 
			
		||||
    $page['page_bottom']['run_cron'] = array(
 | 
			
		||||
      // Trigger cron run via AJAX.
 | 
			
		||||
      '#attached_js' => array(
 | 
			
		||||
        '(function($){ $.get(' . drupal_to_js(url('system/run-cron-image')) . '); })(jQuery);' => array('type' => 'inline', 'scope' => 'header'),
 | 
			
		||||
      '#attached' => array(
 | 
			
		||||
        'js' => array(
 | 
			
		||||
          '(function($){ $.get(' . drupal_to_js(url('system/run-cron-image')) . '); })(jQuery);' => array('type' => 'inline', 'scope' => 'header'),
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      // Trigger cron run for clients not supporting JavaScript (fall-back).
 | 
			
		||||
      '#markup' => theme('system_run_cron_image', 'system/run-cron-image'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -151,7 +151,9 @@ function taxonomy_form_vocabulary(&$form_state, $edit = array()) {
 | 
			
		|||
    '#maxlength' => 255,
 | 
			
		||||
    '#description' => t('The unique machine readable name for this vocabulary, used for theme templates, can only contain lowercase letters, numbers and underscores.'),
 | 
			
		||||
    '#required' => TRUE,
 | 
			
		||||
    '#attached_js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'js' => array(drupal_get_path('module', 'system') . '/system.js', $js_settings),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  $form['help'] = array(
 | 
			
		||||
    '#type' => 'textfield',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,12 +61,14 @@ function toolbar_build() {
 | 
			
		|||
  $module_path = drupal_get_path('module', 'toolbar');
 | 
			
		||||
  $build = array(
 | 
			
		||||
    '#theme' => 'toolbar',
 | 
			
		||||
    '#attached_js' => array(
 | 
			
		||||
      $module_path . '/toolbar.js',
 | 
			
		||||
      array('data' => 'misc/jquery.cookie.js', 'weight' => JS_LIBRARY + 2),
 | 
			
		||||
    ),
 | 
			
		||||
    '#attached_css' => array(
 | 
			
		||||
      $module_path . '/toolbar.css',
 | 
			
		||||
    '#attached'=> array(
 | 
			
		||||
      'js' => array(
 | 
			
		||||
        $module_path . '/toolbar.js',
 | 
			
		||||
        array('data' => 'misc/jquery.cookie.js', 'weight' => JS_LIBRARY + 2),
 | 
			
		||||
      ),
 | 
			
		||||
      'css' => array(
 | 
			
		||||
        $module_path . '/toolbar.css',
 | 
			
		||||
      ),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,7 +76,9 @@ function tracker_page($account = NULL, $set_title = FALSE) {
 | 
			
		|||
    '#rows' => $rows,
 | 
			
		||||
    '#header' => array(t('Type'), t('Post'), t('Author'), t('Replies'), t('Last updated')),
 | 
			
		||||
    '#theme' => 'table',
 | 
			
		||||
    '#attached_css' => array(drupal_get_path('module', 'tracker') . '/tracker.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    '#attached' => array(
 | 
			
		||||
      'css' => array(drupal_get_path('module', 'tracker') . '/tracker.css' => array('preprocess' => FALSE)),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  $page['pager'] = array(
 | 
			
		||||
    '#theme' => 'pager',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,8 +69,8 @@ function upload_admin_settings() {
 | 
			
		|||
    '#type' => 'fieldset',
 | 
			
		||||
    '#title' => t('General settings'),
 | 
			
		||||
    '#collapsible' => TRUE,
 | 
			
		||||
    '#attached_css' => array(
 | 
			
		||||
      drupal_get_path('module', 'upload') . '/upload.admin.css',
 | 
			
		||||
    '#attached'=> array(
 | 
			
		||||
      'css' => array(drupal_get_path('module', 'upload') . '/upload.admin.css'),
 | 
			
		||||
    ),
 | 
			
		||||
  );
 | 
			
		||||
  $form['settings_general']['upload_max_resolution'] = array(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -231,7 +231,9 @@ function upload_form_alter(&$form, $form_state, $form_id) {
 | 
			
		|||
        '#collapsible' => TRUE,
 | 
			
		||||
        '#collapsed' => empty($node->files),
 | 
			
		||||
        '#group' => 'additional_settings',
 | 
			
		||||
        '#attached_js' => array(drupal_get_path('module', 'upload') . '/upload.js'),
 | 
			
		||||
        '#attached' => array(
 | 
			
		||||
          'js' => array(drupal_get_path('module', 'upload') . '/upload.js'),
 | 
			
		||||
        ),
 | 
			
		||||
        '#description' => t('Changes made to the attachments are not permanent until you save this post. The first "listed" file will be included in RSS feeds.'),
 | 
			
		||||
        '#weight' => 30,
 | 
			
		||||
      );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -651,7 +651,7 @@ function user_admin_permissions($form_state, $rid = NULL) {
 | 
			
		|||
  }
 | 
			
		||||
  $form['submit'] = array('#type' => 'submit', '#value' => t('Save permissions'));
 | 
			
		||||
 | 
			
		||||
  $form['#attached_js'] = array(drupal_get_path('module', 'user') . '/user.permissions.js');
 | 
			
		||||
  $form['#attached']['js'][] = drupal_get_path('module', 'user') . '/user.permissions.js';
 | 
			
		||||
 | 
			
		||||
  return $form;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue