diff --git a/tode.css b/tode.css index 1f2751d8..933a4cc3 100644 --- a/tode.css +++ b/tode.css @@ -11,22 +11,3 @@ .tode-add-modal-wrapper .tode-add-modal-links{ display:inline-block; } - -#modalContent{ - -} - -#modalContent div.ctools-modal-content{ - padding:5px; - -moz-border-radius: 10px; - -webkit-border-radius: 10px; - border-radius: 10px; - - border: 0 solid #999; - -} -#modalContent div.ctools-modal-content .modal-header, -#modalContent div.ctools-modal-content .modal-header a, -#modalContent div.ctools-modal-content .modal-header span{ - background-color: transparent; color:#000!important; -} diff --git a/tode.module b/tode.module index 891faa4e..f50d72d4 100644 --- a/tode.module +++ b/tode.module @@ -687,7 +687,7 @@ function tode_entity_add_form_submit($form, &$form_state){ -function _tode_entity_add_form($js = FALSE, $bundle, $entity) { +function BAD_ONE_tode_entity_add_form($js = FALSE, $bundle, $entity) { // dsm('- - - - tode_entity_add_form'); // dsm($bundle, '$bundle'); // dsm($entity, '$entity'); @@ -773,7 +773,7 @@ function tode_field_widget_form_alter(&$element, &$form_state, $context) { foreach ($entities as $entity) { $tode_instance = $type_fields[$entity][$tode['field_name']]; - $btn = ctools_modal_text_button(t('create a new %s', array('%s'=>$entity)), 'tode/nojs/add/'.$bundle.'/'.$entity.'/'.$tode_instance['label'], t('alt'), "ctools-modal-tode-add-modal") . "\n"; // modal-popup-small + $btn = ctools_modal_text_button(t('create a new %s', array('%s'=>$entity)), 'tode/nojs/add/'.$bundle.'/'.$entity.'/'.$tode_instance['label'], t('alt'), "button ctools-modal-tode-add-modal") . "\n"; // modal-popup-small // $btn .= ctools_modal_text_button(t('create new test'), 'tode/nojs/add/node/test', t('alt')); // dsm($btn); if($element['#suffix'] == '') @@ -789,26 +789,24 @@ function tode_field_widget_form_alter(&$element, &$form_state, $context) { $throbber = theme('image', array('path' => ctools_image_path('loading_animation.gif', 'modal_forms'), 'alt' => t('Loading...'), 'title' => t('Loading'))); $js_settings = array( - 'tode-add-modal' => array( - 'modalSize' => array( - 'type' => 'fixed', - 'width' => 500, - 'height' => 200, - ), - 'modalOptions' => array( - 'opacity' => 0.4, - 'background' => '#000', - ), - 'animation' => 'fadeIn', - // 'modalTheme' => 'ModalFormsPopup', - 'throbber' => $throbber, - 'closeText' => t('Close'), - ), - ); - - drupal_add_js($js_settings, 'setting'); - + 'tode-add-modal' => array( + 'modalSize' => array( + 'type' => 'fixed', + 'width' => 500, + 'height' => 200, + ), + 'modalOptions' => array( + 'opacity' => 0.4, + 'background' => '#000', + ), + 'animation' => 'fadeIn', + // 'modalTheme' => 'ModalFormsPopup', + 'throbber' => $throbber, + 'closeText' => t('Close'), + ), + ); + drupal_add_js($js_settings, 'setting'); $element['#prefix'] = '
'; $element['#suffix'] .= '
'; @@ -947,43 +945,44 @@ function tode_delete_submit($form, &$form_state){ * Implements hook_url_outbound_alter(). */ function tode_url_outbound_alter(&$path, &$options, $original_path) { - // dsm($path); # terms url - if (preg_match('/^taxonomy\/term\/([0-9]*)$/', $path, $matches)) { - $term = taxonomy_term_load($matches[1]); - // dsm($term, '$term'); - $vocabulary = taxonomy_vocabulary_load($term->vid); - // dsm($vocabulary, '$vocabulary'); + if(isset($options['entity_type']) && $options['entity_type'] == 'taxonomy_term'){ + // dsm('- - - - tode_url_outbound_alter'); + // dsm($path, '$path'); + // dsm($options, '$options'); + // dsm($original_path, '$original_path'); - if($field = _tode_get_voc_tode_fields_def($vocabulary->machine_name)){ - // dsm($field, '$field'); - // $existing_item = db_query('SELECT * FROM {menu_links} WHERE mlid = :mlid', array('mlid' => $item['mlid']))->fetchAssoc(); + $term = $options['entity']; + + if($field = _tode_get_voc_tode_fields_def($term->vocabulary_machine_name)){ + $sr = $field['storage']['details']['sql']['FIELD_LOAD_CURRENT']; foreach ($sr as $table => $column) { - $query = db_select($table, 'ft') + $query = db_select($table, 'ft'); + $query->join('node', 'n', 'ft.entity_id = n.nid AND n.language = :language', array(':language' => $options['language']->language)); + $query ->fields('ft') ->condition('ft.'.$column['tid'], $term->tid); - $result = $query->execute(); - - // $entity = db_query('SELECT * FROM :fieldtabe WHERE :fieldcolumn = %tid', array(':fieldtabe'=>$table, ':fieldcolumn'=>$column['tid'], '%tid'=>$term->tid))->fetchAssoc(); break; } - // dsm($result, '$result'); - foreach ($result as $entity) { - // dsm($entity, '$entity'); - $path = 'node/'.$entity->entity_id; + + foreach ($result as $node) { + $new_path = 'node/'.$node->entity_id; + if( $new_alias = drupal_get_path_alias($new_path, $options['language']->language) ){ + $path = $new_alias; + $original_path = $new_path; + $options['alias'] = TRUE; + }else{ + $path = $new_path; + } break; } } - } } - - - /** * HELPERS */