Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.12 KB | None | 0 0
  1. if ($form_id == 'buy_offer_node_form' || $form_id == 'sell_offer_node_form') {
  2.         if (!user_is_logged_in()) {
  3.             drupal_set_message(t('Zaloguj się, aby móc dodać ogłoszenie.'), 'warning', FALSE);
  4.             drupal_goto('/user/login', array('query' => array('destination' => current_path())));
  5.             die;
  6.         }
  7.  
  8.         $placeholder = t('Oferuję');
  9.  
  10.         if ($form_id == 'buy_offer_node_form') {
  11.             $placeholder = t('Szukam');
  12.         }
  13.  
  14.         if (!empty($form['nid']['#value'])) {
  15.             $submit_title = t('Zapisz');
  16.         } else {
  17.             $submit_title = t('Dodaj ogłoszenie');
  18.         }
  19.  
  20.         $form['actions']['submit']['#value'] = $submit_title;
  21.         $form['title_field']['und'][0]['value']['#attributes']['placeholder'] = $placeholder;
  22.         $form['title_field']['und'][0]['value']['#maxlength'] = 75;
  23.         $form['title_field']['pl'][0]['value']['#maxlength'] = 75;
  24.  
  25.         if ($form['nid']['#value'] != null) {
  26.             $form['#groups']['group_offer_1']->alabel = t('Edytuj ogłoszenie');
  27.         }
  28.  
  29.         if ($user->uid != 1) {
  30.             unset($form['actions']['delete']);
  31.         }
  32.  
  33.         $nid = $form['nid']['#value'];
  34.  
  35.         $query = drupal_get_query_parameters();
  36.  
  37.         $n = entity_metadata_wrapper('node', $nid);
  38.  
  39.         $form['field_sell_offer_category']['und'][0]['tid']['#ajax'] = array(
  40.           'callback' => 'offer_management_category_callback',
  41.           'wrapper' => 'additional-filters-wrapper',
  42.           'method' => 'replace',
  43.           'effect' => 'fade',
  44.         );
  45.  
  46.         $form['field_sell_offer_additional_data']['#prefix'] = '<div id="additional-filters-wrapper">';
  47.         $form['field_sell_offer_additional_data']['#suffix'] = '</div>';
  48.  
  49.         $category = $form['field_sell_offer_category']['und'][0]['tid']['#default_value'];
  50.  
  51.         if (isset($form_state['input']) && isset($form_state['input']['field_sell_offer_category'])) {
  52.             $category = $form_state['input']['field_sell_offer_category']['und'][0]['tid'];
  53.         }
  54.  
  55.         if (isset($form_state['triggering_element']) && isset($form_state['triggering_element']['#field_name']) && $form_state['triggering_element']['#field_name'] == 'field_sell_offer_category') {
  56.             foreach ($form['field_sell_offer_additional_data']['und'] as $key => $value) {
  57.                 if (is_numeric($key)) {
  58.                     if ($key != 0) {
  59.                         unset($form['field_sell_offer_additional_data']['und'][$key]);
  60.                         unset($form_state['values']['field_sell_offer_additional_data']['und'][$key]);
  61.                         unset($form_state['input']['field_sell_offer_additional_data']['und'][$key]);
  62.                     } else {
  63.                         $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#default_value'] = 0;
  64.                         $form_state['values']['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und'] = 0;
  65.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und'] = 0;
  66.                         $form['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und']['#default_value'] = 0;
  67.                         $form_state['values']['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und'] = 0;
  68.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und'] = 0;
  69.                     }
  70.                 }
  71.             }
  72.         }
  73.  
  74.         foreach ($form['field_sell_offer_additional_data']['und'] as $key => $value) {
  75.             if (is_numeric($key)) {
  76.                 $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['#prefix'] = '<div id="soad-values-' . $key . '">';
  77.                 $form['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['#suffix'] = '</div>';
  78.  
  79.                 $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#ajax'] = array(
  80.                   'callback' => 'offer_management_soad_callback',
  81.                   'wrapper' => 'soad-values-' . $key . '',
  82.                   'method' => 'replace',
  83.                   'effect' => 'fade',
  84.                 );
  85.             }
  86.         }
  87.  
  88.         if ((isset($form_state['triggering_element']) && isset($form_state['triggering_element']['#field_name']) && $form_state['triggering_element']['#field_name'] == 'field_sell_offer_category') || !isset($form_state['triggering_element']) || $category !== null) {
  89.             $tids = _offer_management_get_parents($category);
  90.  
  91.             $available_cats = array();
  92.             $available_values = array();
  93.             $categories_names = array();
  94.  
  95.             foreach ($tids as $key => $value) {
  96.                 if (is_numeric($value)) {
  97.                     $t = entity_metadata_wrapper('taxonomy_term', $value);
  98.                     $temp = $t->value();
  99.  
  100.                     if ($temp) {
  101.                         foreach ($t->field_category_fc_secondary as $key2 => $value2) {
  102.                             $tid = $value2->field_cfc_secondary_name->raw();
  103.  
  104.                             if ($tid) {
  105.                                 $available_cats[] = $tid;
  106.                                 $available_values[$tid] = $value2->field_cfc_secondary_values->raw();
  107.                                 $categories_names[$tid] = $value2->field_cfc_secondary_name->name->value();
  108.                             }
  109.                         }
  110.                     }
  111.                 }
  112.             }
  113.             $available_cats = array_unique($available_cats);
  114.  
  115.             $model = $form['field_sell_offer_additional_data']['und'][0];
  116.             $model['field_soad_number']['und'][0]['value']['#default_value'] = null;
  117.             $model['field_soad_text']['und'][0]['value']['#default_value'] = null;
  118.             $model['field_soad_list']['und']['#default_value'] = null;
  119.             $model['field_soad_type']['und']['#default_value'] = null;
  120.  
  121.             unset($form['field_sell_offer_additional_data']['und']['add_more']);
  122.  
  123.             if (count($available_cats) == 0 || $available_cats[0] == null) {
  124.                 // unset($form['field_sell_offer_additional_data']);
  125.                 // $form['field_sell_offer_additional_data']['#markup'] = '<div>' . t('Brak opcji do wyboru') . '</div>';
  126.                 foreach ($form['field_sell_offer_additional_data']['und'] as $key => $value) {
  127.                     if (is_numeric($key)) {
  128.                         unset($form['field_sell_offer_additional_data']['und'][$key]);
  129.                     }
  130.                 }
  131.  
  132.                 $form['field_sell_offer_additional_data']['und'] = array('#markup' => t('Brak parametrów dla wybranej kategorii.'));
  133.             }
  134.             foreach ($available_cats as $key => $value) {
  135.                 if (isset($form['field_sell_offer_additional_data']['und'][0]['field_soad_type']['und']['#options'][$value])) {
  136.                     if (!isset($form['field_sell_offer_additional_data']['und'][$key])) {
  137.                         $form['field_sell_offer_additional_data']['und'][$key] = $model;
  138.                         $form['field_sell_offer_additional_data']['und'][$key]['#delta'] = $key;
  139.                         $form['field_sell_offer_additional_data']['und'][$key]['#parents'][2] = $key;
  140.                         $form['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und']['#delta'] = $key;
  141.                         $form['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und']['#parents'][2] = $key;
  142.  
  143.                         // $form['field_sell_offer_additional_data']['und'][$key]['#suffix'] = array('#markup' => '.');
  144.  
  145.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key] = $form_state['input']['field_sell_offer_additional_data']['und'][0];
  146.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_number']['und'][0]['value'] = null;
  147.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_text']['und'][0]['value'] = null;
  148.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_list']['und'] = null;
  149.                         $form_state['input']['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und'] = null;
  150.  
  151.                     }
  152.  
  153.                     $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#default_value'] = $value;
  154.                     $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#type'] = 'hidden';
  155.  
  156.                     $form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['#disabled'] = true;
  157.                     unset($form['field_sell_offer_additional_data']['und'][$key]['remove_button']);
  158.                     // foreach ($form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#options'] as $key2 => $value2) {
  159.                     //  if ($key2 != $value) {
  160.                     //      unset($form['field_sell_offer_additional_data']['und'][$key]['field_soad_type']['und']['#options'][$key2]);
  161.                     //  }
  162.                     // }
  163.  
  164.                     // if (!isset($form_state['input']['field_sell_offer_additional_data']['und'][$key])) {
  165.                     //  $form_state['input']['field_sell_offer_additional_data']['und'][$key] = array(
  166.                     //      'field_soad_number' => array('und' => array(array('value' => null))),
  167.                     //      'field_soad_text' => array('und' => array(array('value' => null))),
  168.                     //      'field_soad_list' => array('und' => null),
  169.                     //      'field_soad_type' => array('und' => null)
  170.                     //  );
  171.                     // }
  172.                     _offer_management_hide_fields($form['field_sell_offer_additional_data']['und'][$key], $form_state['input']['field_sell_offer_additional_data']['und'][$key], $value, $available_values, $categories_names[$value]);
  173.  
  174.                 }
  175.             }
  176.         }
  177.  
  178.         if (is_numeric($nid) && $user->uid != 1) {
  179.             $n = entity_metadata_wrapper('node', $nid);
  180.  
  181.             if ($n->field_offer_archived->value()) {
  182.                 drupal_set_message(t('Ta oferta została zakończona, nie można jej edytować.'), 'status', FALSE);
  183.                 drupal_goto('/node/' . $nid);
  184.             }
  185.         }
  186.     }
  187.  
  188.     if ($form_id == 'commerce_cart_add_to_cart_form_1') {
  189.         $nid = arg(1);
  190.  
  191.         $page = arg(0);
  192.  
  193.         if ($page == 'node') {
  194.             $n = entity_metadata_wrapper('node', $nid);
  195.  
  196.             if ($n->field_offer_archived->value()) {
  197.                 drupal_set_message(t('Ta oferta została zakończona.'), 'status', FALSE);
  198.                 unset($form['submit']);
  199.             }
  200.         }
  201.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement