1. PHP / Говнокод #14377

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    $this->load->model('localisation/country');
    $country_info = $this->model_localisation_country->getCountry($this->request->post['shipping_country_id']);
    
    if ($country_info && $country_info['postcode_required'] && (utf8_strlen($this->request->post['shipping_postcode']) < 2) || (utf8_strlen($this->request->post['shipping_postcode']) > 10)) {
         $json['error']['shipping']['postcode'] = $this->language->get('error_postcode');
    }
         
    if ($this->request->post['shipping_country_id'] == '') {
         $json['error']['shipping']['country'] = $this->language->get('error_country');
    }
                
    if ($this->request->post['shipping_zone_id'] == '') {
          $json['error']['shipping']['zone'] = $this->language->get('error_zone');
    }
                             
    $this->load->model('localisation/country');
    $country_info = $this->model_localisation_country->getCountry($this->request->post['shipping_country_id']);
                 
    if ($country_info && $country_info['postcode_required'] && (utf8_strlen($this->request->post['shipping_postcode']) < 2) || (utf8_strlen($this->request->post['shipping_postcode']) > 10)) {
         $json['error']['shipping']['postcode'] = $this->language->get('error_postcode');
    }

    строки 279 - 301
    файл catalog/controller/checkout/manual.php
    opencart 1.5.5.1.1

    Зачем два идентичных куска кода (1 - 6 и 16 - 21), в одном файле идущих друг за другом, я так и не понял.

    Запостил: gnom_virtuoz, 17 Января 2014

    Комментарии (5) RSS

    • Типичный результат рефакторинга. Просто забыл вымарать первое, скорее всего.
      Ответить
      • Вопрос в том, как оно вообще с ним работает...
        Ответить
    • В опенкарте такая система установки плагинов и модулей. В XML-файле описывается, в каких файлах какие строки заменить/дописать/удалить. Такое говно частенько случается, особенно когда один плагин переустанавливается несколько раз. А работает оно потому что вся система такое же говно.
      Ответить
      • вы сейчас описали не систему установки модулей в opencart, а vqmod, что является модулем для внесения изменений в файлы движка на лету.
        в opencart вообще довольно кривая система модулей, а точнее, отсутствие таковой системы.
        Ответить
      • вы сейчас описали не систему установки модулей в opencart, а vqmod, что является модулем для внесения изменений в файлы движка на лету.
        в opencart вообще довольно кривая система модулей, а точнее, отсутствие таковой системы.
        Ответить

    Добавить комментарий