13,14c13,15
< function conditional_fields_help($section) {
<   if (preg_match('!^admin/content/types/.*/conditional$!', $section)) {
---
> function conditional_fields_help($path, $arg) {
> switch ($path) {
>   case 'admin/content/types/%/conditional':
15a17
>     break;
22,23c24
< function conditional_fields_menu($may_cache) {
< 
---
> function conditional_fields_menu() {
25d25
<   $access = user_access('administer conditional fields');
27,42c27,41
<   if (!$may_cache) {
<     if (arg(0) == 'admin' && arg(1) == 'content' && arg(2) == 'types' && arg(3)) {
<       $content_type = content_types(arg(3));
< 
<       if (arg(3) == $content_type['url_str']) {
<         $items[] = array(
<           'path' => 'admin/content/types/'. $content_type['url_str'] .'/conditional',
<           'title' => t('Conditional fields'),
<           'callback' => 'drupal_get_form',
<           'callback arguments' => array('_conditional_fields_admin', $content_type['type']),
<           'access' => $access,
<           'type' => MENU_LOCAL_TASK,
<           'weight' => 5
<         );
<       }
<     }
---
>   foreach (node_get_types() as $type) {
>     $type_name = $type->type;
>     $content_type = content_types($type_name);
>     $type_url_str = $content_type['url_str'];
>   
>     $items['admin/content/node-type/'. $type_url_str .'/conditional'] = array(
>       'title' => 'Conditional fields',
>       'page callback' => 'drupal_get_form',
>       'page arguments' => array('_conditional_fields_admin', $type_name),
>       'access arguments' => array('administer conditional fields'),
>       'type' => MENU_LOCAL_TASK,
>       'weight' => 5
>       );
>     
>     
43a43
>   
57c57
< function _conditional_fields_admin($type) {
---
> function _conditional_fields_admin($form, $type) {
94c94
<     '#description' => t('Select this box to let users with the <a href="@access-control-page">administer conditional fields</a> permission to view all controlled fields of a node.', array('@access-control-page' => url('admin/user/access', NULL, 'module-conditional_fields'))),
---
>     '#description' => t('Select this box to let users with the <a href="@access-control-page">administer conditional fields</a> permission to view all controlled fields of a node.', array('@access-control-page' => url('admin/user/permissions', array('fragment' => 'module-conditional_fields')))),
114,116c114,117
< function _conditional_fields_admin_submit($form_id, $form_values) {
<   if ($form_values['reset'] == 1) {
<     conditional_fields_node_type_delete($form_values['type']);
---
> function _conditional_fields_admin_submit($form, &$form_state) {
>   $type = $form['#parameters'][2];
>   if ($form_state['values']['reset'] == 1) {
>     conditional_fields_node_type_delete($type);
119,122c120,123
<   variable_set('c_fields_js_'. $form_values['type'], $form_values['js']);  
<   variable_set('c_fields_view_'. $form_values['type'], $form_values['orphaned_view']);
<   variable_set('c_fields_edit_'. $form_values['type'], $form_values['orphaned_edit']);
<   variable_set('c_fields_show_all_'. $form_values['type'], $form_values['show_all']);
---
>   variable_set('c_fields_js_'. $type, $form_state['values']['js']);  
>   variable_set('c_fields_view_'. $type, $form_state['values']['orphaned_view']);
>   variable_set('c_fields_edit_'. $type, $form_state['values']['orphaned_edit']);
>   variable_set('c_fields_show_all_'. $type, $form_state['values']['show_all']);
165,166c166,167
<       $current_values= array();
<       foreach($node->{$field['control_field_name']} as $value){
---
>       $current_values = array();
>       foreach ($node->{$field['control_field_name']} as $value) {
224c225,226
< function conditional_fields_form_alter($form_id, &$form) {
---
> function conditional_fields_form_alter(&$form, $form_state, $form_id) {
> 
226c228
<     case '_content_admin_field':
---
>     case 'content_field_edit_form':
251a254
>   $type = array();
253d255
<   
269a272
>   $available_fields = array();
272,275c275,278
<       if ($allowed_values[$field['field_name']] = conditional_fields_allowed_values($field)) {
<         $available_fields[$field['field_name']] = $field;
<       }
<     }
---
>        if ($allowed_values[$field['field_name']] = conditional_fields_allowed_values($field)) {
>          $available_fields[$field['field_name']] = $field;
>        }
>      }
279a283
> 
301c305
<       $form['#submit'] = array_merge(array('conditional_fields_forms_submit' => array($type['type'], $form['field_name']['#value'])), $form['#submit']);
---
>       $form['#submit'] = array_merge(array('conditional_fields_forms_submit'), $form['#submit']);
338c342
<     $form['#submit'] = $form['#submit'] + array('conditional_fields_forms_submit' => array($type['type'], $form['group_name']['#default_value']));
---
>     $form['#submit'] = array_merge(array('conditional_fields_forms_submit'), $form['#submit']);
365a370
>     
373c378
<         '#description' => t('<a href="@edit-field">Edit the allowed values</a> of the %field-name field.', array('@edit-field' => url('admin/content/types/'. $type['url_str'] .'/fields/'. $field['field_name'], 'destination=admin/content/types/'. arg(3) .'/fields/'. arg(5), 'edit-allowed-values'), '%field-name' => t($field['widget']['label']))),
---
>         '#description' => t('<a href="@edit-field">Edit the allowed values</a> of the %field-name field.', array('@edit-field' => url('admin/content/types/'. $type['url_str'] .'/fields/'. $field['field_name'], array('query' => 'destination=admin/content/types/'. arg(3) .'/fields/'. arg(5), 'fragment' => 'edit-allowed-values')), '%field-name' => t($field['widget']['label'])) ),
377a383
>     
378a385
>   
385c392
< function conditional_fields_content_admin_field_validate($form_id, $form_values, $form, $controlled_fields) {
---
> function conditional_fields_content_admin_field_validate($form, &$form_state, $type, $controlled_fields) {
391c398
<   $conditional_fields = array_merge((array)$form_values['conditional_fields'], $controlled_fields);
---
>   $conditional_fields = array_merge((array)$form_state['conditional_fields'], $controlled_fields);
396c403
<       form_error($form['widget']['conditional_fields'][$available_field], t("You cannot select 'Not set' and other values at the same time."));
---
>       form_error($form_state['widget']['conditional_fields'][$available_field], t("You cannot select 'Not set' and other values at the same time."));
399c406
<       if ($group = $form_values['group']) { // If the field is in a group
---
>       if ($group = $form_state['group']) { // If the field is in a group
405,406c412,413
<         else if ($group != fieldgroup_get_group($form_values['type_name'], $available_field)) {
<           form_error($form['widget']['conditional_fields'][$available_field], t("The field %field is not in the same group that you selected (%group). You can only control a field in a group from another field in the same group.", array('%field' => $available_field, '%group' => $group)));
---
>         else if ($group != fieldgroup_get_group($form_state['type_name'], $available_field)) {
>           form_error($form_state['widget']['conditional_fields'][$available_field], t("The field %field is not in the same group that you selected (%group). You can only control a field in a group from another field in the same group.", array('%field' => $available_field, '%group' => $group)));
411,412c418,419
<         if ($available_field_group = fieldgroup_get_group($form_values['type_name'], $available_field)) {
<           form_error($form['widget']['conditional_fields'][$available_field], t("The field %field is in the group %group. You can only control a field in a group from another field in the same group.", array('%field' => $available_field, '%group' => $available_field_group)));
---
>         if ($available_field_group = fieldgroup_get_group($form_state['type_name'], $available_field)) {
>           form_error($form_state['widget']['conditional_fields'][$available_field], t("The field %field is in the group %group. You can only control a field in a group from another field in the same group.", array('%field' => $available_field, '%group' => $available_field_group)));
420c427
<   if ($controlling_count > 2 && $form_values['allowed_values'] != $form['field']['allowed_values']['#default_value']) {
---
>   if ($controlling_count > 2 && $form_state['allowed_values'] != $form_state['field']['allowed_values']['#default_value']) {
424a432
> 
429,430c437,440
< function conditional_fields_forms_submit($form_id, &$form, $type, $controlled_field) {
<   foreach ($form['conditional_fields'] as $controlling_field => $trigger_values) {
---
> function conditional_fields_forms_submit($form, &$form_state) {
>   $controlled_field = $form_state['values']['field_name'];
>   $type = $form['#field']['type_name'];
>   foreach ($form_state['values']['conditional_fields'] as $controlling_field => $trigger_values) {
510c520
<     $settings['controlling_fields']['#conditional-'. form_clean_id($row['control_field_name'])]['#conditional-'. form_clean_id($row['field_name'])] = array('field_id' => '#conditional-'. form_clean_id($row['field_name']), 'trigger_values' => $row['trigger_values']);
---
>     $settings['controlling_fields']['#conditional-'. my_form_clean_id($row['control_field_name'])]['#conditional-'. my_form_clean_id($row['field_name'])] = array('field_id' => '#conditional-'. my_form_clean_id($row['field_name']), 'trigger_values' => $row['trigger_values']);
541c551
<         $form[$element]['#prefix'] = '<div id="conditional-'. form_clean_id($element) .'" class="conditional-field controlled-field">';
---
>         $form[$element]['#prefix'] = '<div id="conditional-'. my_form_clean_id($element) .'" class="conditional-field controlled-field">';
581c591
< function conditional_fields_node_editing_form_validate($form_id, $form_values, $form, $data, $required_fields) {
---
> function conditional_fields_node_editing_form_validate($form, $form_state, $form, $data, $required_fields) {
599c609
<       $control_field = db_fetch_array(db_query("SELECT control_field_name, field_name, trigger_values FROM {conditional_fields} WHERE field_name = '%s' AND type = '%s'", $field_in_group['in_group'], $form_values['type']));
---
>       $control_field = db_fetch_array(db_query("SELECT control_field_name, field_name, trigger_values FROM {conditional_fields} WHERE field_name = '%s' AND type = '%s'", $field_in_group['in_group'], $form_state['type']));
673a684
>     
765,766c776,777
< function _conditional_fields_content_admin_field_remove_submit($form_id, $form_values) {
<   conditional_fields_remove_field_settings($form_values['field_name']);
---
> function _conditional_fields_content_admin_field_remove_submit($form, $form_state) {
>   conditional_fields_remove_field_settings($form_state['field_name']);
772c783
< function _conditional_fields_fieldgroup_remove_group_submit($form_id, $form_values, $group_name) {
---
> function _conditional_fields_fieldgroup_remove_group_submit($form, $form_state, $group_name) {
872,879c883,890
<   if ($item['#required_field']) {
<     $item['#required'] = TRUE;
<   }
<   else {
<     foreach(element_children($item) as $child) {
<       conditional_fields_set_required_for_render($item[$child]);
<     }
<   }
---
>    if ($item['#required_field']) {
>      $item['#required'] = TRUE;
>    }
>    else {
>      foreach (element_children($item) as $child) {
>        conditional_fields_set_required_for_render($item[$child]);
>      }
>    }
881a893,894
> // TODO Reescrever este wrapper de forma a remover os dígitos do final de forma genérica.
> // Provavelmente teremos de usar regexes. Aí é só testar contra switchField no js.
883c896
<  * Themes a conditional markup for a field label.
---
>  * Um wrapper para form_clean_id.
885,886c898,900
< function theme_conditional_field_conditional($label) {
<   return t(' <span class="marker">@label</span>', array('@label' => $label));
---
> function my_form_clean_id($id = NULL, $flush = FALSE) {
>   $id = str_replace(array('][', '_', ' '), '-', $id);
>   return $id;
888a903
> 
890,893c905,908
<  * Themes the wrappers around conditional fields.
<  * Note that if you modify the id and classes of these fields,
<  * you have to modify conditional_fields.js accordingly.
<  */
---
> * Themes the wrappers around conditional fields.
> * Note that if you modify the id and classes of these fields,
> * you have to modify conditional_fields.js accordingly.
> */
895,913c910,928
<   if ($id = $item['#controlling_field']) {
<     $output = '<div id="conditional-'. form_clean_id($id) .'" class="conditional-field controlling-field">'. drupal_render($item) .'</div>';
<   }
<   else if ($id = $item['#controlled_field']) {
<     conditional_fields_set_required_for_render(&$item);
<     if ($item['#type'] == 'markup') {
<       /* Avoid unnecessary divs in multiple fields */
<       $item['#prefix'] = '<div id="conditional-'. form_clean_id($id) .'" class="conditional-field controlled-field">';
<       $item['#suffix'] = '</div>';
<       $output = drupal_render($item); 
<     }
<     else {
<       $output = '<div id="conditional-'. form_clean_id($id) .'" class="conditional-field controlled-field">'. drupal_render($item) .'</div>';
<     }
<   }
<   else {
<     $output = drupal_render($item); 
<   }
<   return $output;
---
>    if ($id = $item['#controlling_field']) {
>      $output = '<div id="conditional-'. my_form_clean_id($id) .'" class="conditional-field controlling-field">'. drupal_render($item) .'</div>';
>    }
>    else if ($id = $item['#controlled_field']) {
>      conditional_fields_set_required_for_render(&$item);
>      if ($item['#type'] == 'markup') {
>        /* Avoid unnecessary divs in multiple fields */
>        $item['#prefix'] = '<div id="conditional-'. my_form_clean_id($id) .'" class="conditional-field controlled-field">';
>        $item['#suffix'] = '</div>';
>        $output = drupal_render($item); 
>      }
>      else {
>        $output = '<div id="conditional-'. my_form_clean_id($id) .'" class="conditional-field controlled-field">'. drupal_render($item) .'</div>';
>      }
>    }
>    else {
>      $output = drupal_render($item); 
>    }
>    return $output;
914a930,941
> 
> /**
> * Implementation of hook_theme().
> */
> function conditional_fields_theme() {
>     return array(
>         'conditional_fields_form_item' => array(
>             'arguments' => array('item' => NULL),
>         ),
>     );
> }
> 
