From eaee909a00a516d864da65e44f8abe5446914c7e Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 9 Sep 2010 23:01:48 +0000 Subject: - Patch #757154 by sun, effulgentsia: base form_id() via hook_forms() not taken into account for #validate, #submit, hook_form_FORMID_alter(). --- modules/path/path.module | 90 +++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 46 deletions(-) (limited to 'modules/path') diff --git a/modules/path/path.module b/modules/path/path.module index 68d542494..e0766f9e1 100644 --- a/modules/path/path.module +++ b/modules/path/path.module @@ -94,55 +94,53 @@ function path_menu() { } /** - * Implements hook_form_alter(). + * Implements hook_form_BASE_FORM_ID_alter(). */ -function path_form_alter(&$form, $form_state, $form_id) { - if (!empty($form['#node_edit_form'])) { - $path = array(); - if (!empty($form['#node']->nid)) { - $conditions = array('source' => 'node/' . $form['#node']->nid); - if ($form['#node']->language != LANGUAGE_NONE) { - $conditions['language'] = $form['#node']->language; - } - $path = path_load($conditions); - if ($path === FALSE) { - $path = array(); - } +function path_form_node_form_alter(&$form, $form_state) { + $path = array(); + if (!empty($form['#node']->nid)) { + $conditions = array('source' => 'node/' . $form['#node']->nid); + if ($form['#node']->language != LANGUAGE_NONE) { + $conditions['language'] = $form['#node']->language; + } + $path = path_load($conditions); + if ($path === FALSE) { + $path = array(); } - $path += array( - 'pid' => NULL, - 'source' => isset($form['#node']->nid) ? 'node/' . $form['#node']->nid : NULL, - 'alias' => '', - 'language' => isset($form['#node']->language) ? $form['#node']->language : LANGUAGE_NONE, - ); - - $form['path'] = array( - '#type' => 'fieldset', - '#title' => t('URL path settings'), - '#collapsible' => TRUE, - '#collapsed' => empty($path['alias']), - '#group' => 'additional_settings', - '#attached' => array( - 'js' => array(drupal_get_path('module', 'path') . '/path.js'), - ), - '#access' => user_access('create url aliases') || user_access('administer url aliases'), - '#weight' => 30, - '#tree' => TRUE, - '#element_validate' => array('path_form_element_validate'), - ); - $form['path']['alias'] = array( - '#type' => 'textfield', - '#title' => t('URL alias'), - '#default_value' => $path['alias'], - '#maxlength' => 255, - '#collapsible' => TRUE, - '#collapsed' => TRUE, - '#description' => t('Optionally specify an alternative URL by which this node can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'), - ); - $form['path']['pid'] = array('#type' => 'value', '#value' => $path['pid']); - $form['path']['source'] = array('#type' => 'value', '#value' => $path['source']); - $form['path']['language'] = array('#type' => 'value', '#value' => $path['language']); } + $path += array( + 'pid' => NULL, + 'source' => isset($form['#node']->nid) ? 'node/' . $form['#node']->nid : NULL, + 'alias' => '', + 'language' => isset($form['#node']->language) ? $form['#node']->language : LANGUAGE_NONE, + ); + + $form['path'] = array( + '#type' => 'fieldset', + '#title' => t('URL path settings'), + '#collapsible' => TRUE, + '#collapsed' => empty($path['alias']), + '#group' => 'additional_settings', + '#attached' => array( + 'js' => array(drupal_get_path('module', 'path') . '/path.js'), + ), + '#access' => user_access('create url aliases') || user_access('administer url aliases'), + '#weight' => 30, + '#tree' => TRUE, + '#element_validate' => array('path_form_element_validate'), + ); + $form['path']['alias'] = array( + '#type' => 'textfield', + '#title' => t('URL alias'), + '#default_value' => $path['alias'], + '#maxlength' => 255, + '#collapsible' => TRUE, + '#collapsed' => TRUE, + '#description' => t('Optionally specify an alternative URL by which this node can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'), + ); + $form['path']['pid'] = array('#type' => 'value', '#value' => $path['pid']); + $form['path']['source'] = array('#type' => 'value', '#value' => $path['source']); + $form['path']['language'] = array('#type' => 'value', '#value' => $path['language']); } /** -- cgit v1.2.3