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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    'errorHandler' =>
        class yii\console\ErrorHandler#6 (6) {
          public $discardExistingOutput =>
          bool(true)
          public $memoryReserveSize =>
          int(262144)
          public $exception =>
          NULL
          private $_memoryReserve =>
          string(262144) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"...

    Где-то в недрах Yii2. Я, кажется, понимаю, что это и зачем (хотя не уверен, что это работает, когда памяти уже не хватило), но выглядит просто адово.

    Fike, 12 Октября 2014

    Комментарии (1)
  2. PHP / Говнокод #16827

    +158

    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
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    function country_code_to_country( $code ){
        $country = '';
        if( $code == 'AF' ) $country = 'Afghanistan';
        if( $code == 'AX' ) $country = 'Aland Islands';
        if( $code == 'AL' ) $country = 'Albania';
        if( $code == 'DZ' ) $country = 'Algeria';
        if( $code == 'AS' ) $country = 'American Samoa';
        if( $code == 'AD' ) $country = 'Andorra';
        if( $code == 'AO' ) $country = 'Angola';
        if( $code == 'AI' ) $country = 'Anguilla';
        if( $code == 'AQ' ) $country = 'Antarctica';
        if( $code == 'AG' ) $country = 'Antigua and Barbuda';
        if( $code == 'AR' ) $country = 'Argentina';
        if( $code == 'AM' ) $country = 'Armenia';
        if( $code == 'AW' ) $country = 'Aruba';
        if( $code == 'AU' ) $country = 'Australia';
        if( $code == 'AT' ) $country = 'Austria';
        if( $code == 'AZ' ) $country = 'Azerbaijan';
        if( $code == 'BS' ) $country = 'Bahamas the';
        if( $code == 'BH' ) $country = 'Bahrain';
        if( $code == 'BD' ) $country = 'Bangladesh';
        if( $code == 'BB' ) $country = 'Barbados';
        if( $code == 'BY' ) $country = 'Belarus';
        if( $code == 'BE' ) $country = 'Belgium';
        if( $code == 'BZ' ) $country = 'Belize';
        if( $code == 'BJ' ) $country = 'Benin';
        if( $code == 'BM' ) $country = 'Bermuda';
        if( $code == 'BT' ) $country = 'Bhutan';
        if( $code == 'BO' ) $country = 'Bolivia';
        if( $code == 'BA' ) $country = 'Bosnia and Herzegovina';
        if( $code == 'BW' ) $country = 'Botswana';
        if( $code == 'BV' ) $country = 'Bouvet Island (Bouvetoya)';
        if( $code == 'BR' ) $country = 'Brazil';
        if( $code == 'IO' ) $country = 'British Indian Ocean Territory (Chagos Archipelago)';
        if( $code == 'VG' ) $country = 'British Virgin Islands';
        if( $code == 'BN' ) $country = 'Brunei Darussalam';
        if( $code == 'BG' ) $country = 'Bulgaria';
        if( $code == 'BF' ) $country = 'Burkina Faso';
        if( $code == 'BI' ) $country = 'Burundi';
        if( $code == 'KH' ) $country = 'Cambodia';
        if( $code == 'CM' ) $country = 'Cameroon';
        if( $code == 'CA' ) $country = 'Canada';
        if( $code == 'CV' ) $country = 'Cape Verde';
        if( $code == 'KY' ) $country = 'Cayman Islands';
        if( $code == 'CF' ) $country = 'Central African Republic';
        if( $code == 'TD' ) $country = 'Chad';
        if( $code == 'CL' ) $country = 'Chile';
        if( $code == 'CN' ) $country = 'China';
        if( $code == 'CX' ) $country = 'Christmas Island';
        if( $code == 'CC' ) $country = 'Cocos (Keeling) Islands';
        if( $code == 'CO' ) $country = 'Colombia';
        if( $code == 'KM' ) $country = 'Comoros the';
        if( $code == 'CD' ) $country = 'Congo';
        if( $code == 'CG' ) $country = 'Congo the';
        if( $code == 'CK' ) $country = 'Cook Islands';
        if( $code == 'CR' ) $country = 'Costa Rica';
        if( $code == 'CI' ) $country = 'Cote d\'Ivoire';
        if( $code == 'HR' ) $country = 'Croatia';
        if( $code == 'CU' ) $country = 'Cuba';
        if( $code == 'CY' ) $country = 'Cyprus';
        if( $code == 'CZ' ) $country = 'Czech Republic';
        if( $code == 'DK' ) $country = 'Denmark';
        if( $code == 'DJ' ) $country = 'Djibouti';
        if( $code == 'DM' ) $country = 'Dominica';
        if( $code == 'DO' ) $country = 'Dominican Republic';
        if( $code == 'EC' ) $country = 'Ecuador';
        if( $code == 'EG' ) $country = 'Egypt';
        if( $code == 'SV' ) $country = 'El Salvador';
        if( $code == 'GQ' ) $country = 'Equatorial Guinea';
        if( $code == 'ER' ) $country = 'Eritrea';
        if( $code == 'EE' ) $country = 'Estonia';
        if( $code == 'ET' ) $country = 'Ethiopia';
        if( $code == 'FO' ) $country = 'Faroe Islands';
        if( $code == 'FK' ) $country = 'Falkland Islands (Malvinas)';
        if( $code == 'FJ' ) $country = 'Fiji the Fiji Islands';
        if( $code == 'FI' ) $country = 'Finland';
        if( $code == 'FR' ) $country = 'France, French Republic';
        if( $code == 'GF' ) $country = 'French Guiana';
        if( $code == 'PF' ) $country = 'French Polynesia';
        ----------------------------------------------------------------
        if( $code == 'VE' ) $country = 'Venezuela';
        if( $code == 'VN' ) $country = 'Vietnam';
        if( $code == 'WF' ) $country = 'Wallis and Futuna';
        if( $code == 'EH' ) $country = 'Western Sahara';
        if( $code == 'YE' ) $country = 'Yemen';
        if( $code == 'ZM' ) $country = 'Zambia';
        if( $code == 'ZW' ) $country = 'Zimbabwe';
        if( $country == '') $country = $code;
        return $country;
    }

    Кто-то очень много старался

    win32, 08 Октября 2014

    Комментарии (3)
  3. PHP / Говнокод #16807

    +162

    1. 1
    var_dump(0 == 'true'); // bool(true)

    PHP, ты чего в этот курил раз?

    Может кто нибудь объяснит мне как PHP получает bool(true)?
    По отдельности они как bool(false) (0) и bool(true) ('true').
    Тем более true == false // bool(false)


    Ответ: PHP конвертирует 'true' в число (int) получается int(0), тем более 0 == 0.

    volter9, 06 Октября 2014

    Комментарии (11)
  4. PHP / Говнокод #16805

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if ( !empty($vendor) and strtolower(substr($record_title, 0, strlen($vendor)+1)) == strtolower("$vendor ")
    ) {
    $record_title = substr($record_title, strlen($vendor)+1);
    }

    Вырзаем из названия товара, компанию производителя.

    0r10n, 06 Октября 2014

    Комментарии (0)
  5. PHP / Говнокод #16804

    +156

    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
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    $masterContacts = $masterClient->getContacts();
        for ($i=0; $i < count($masterContacts); $i++) {
          for ($j=$i+1; $j < count($masterContacts); $j++) { 
            if(!(strcmp($masterContacts[$i]->getFirstName(), $masterContacts[$j]->getFirstName()) && strcmp($masterContacts[$i]->getLastName(), $masterContacts[$j]->getLastName()))){
              echo $masterContacts[$i]->getFirstName() . ", " . $masterContacts[$i]->getLastName() . "==" . $masterContacts[$i]->getFirstName() . ", " . $masterContacts[$i]->getLastName() . "\n";
              foreach ($masterContacts[$i]->getFields() as $contact_i) {
                $contact_i->setContact($masterContacts[$j]);
                // $masterContacts[$i]->removeField($contact_i);
                // $masterContacts[$j]->addField($contact_i);
              }
              $em->remove($masterContacts[$i]);
              // $masterClient->removeContact($masterContacts[$i]);
              break;
            }
          }
        }
    
        foreach ($masterContacts as $masterContact) {
          for ($i=0; $i < count($masterContact->getFields()); $i++) { 
            $field_i = $masterContact->getFields()[$i];
            foreach ($masterContacts as $masterContact) {
              for ($j=$i+1; $j < count($masterContact->getFields()); $j++) { 
                $field_j = $masterContact->getFields()[$j];
                // if(!strcmp($masterContact->getFields()[$i]->getInn(), $masterContact->getFields()[$j]->getInn())){
                if(!strcmp($field_i->getXValue(), $field_j->getXValue())) {
                  // echo "compare :" . $field_i->getXValue() . " == " . $field_j->getXValue();
                  $em->remove($field_i);
                  break;
                }
              }
            }
          }
        }
    
        // echo $masterClient->getId();
    
        $mOrganizations = $masterClient->getOrganization();
        for ($i=0; $i < count($mOrganizations); $i++) { 
          for ($j=$i+1; $j < count($mOrganizations); $j++) { 
            if(!strcmp($mOrganizations[$i]->getInn(), $mOrganizations[$j]->getInn())){
              echo "compare :" . $mOrganizations[$i]->getInn() . " == " . $mOrganizations[$j]->getInn();
              $em->remove($mOrganizations[$i]);
              break;
            }
          }
        }

    mogafk, 06 Октября 2014

    Комментарии (0)
  6. PHP / Говнокод #16800

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    mysql_query('select UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(Event.Time) - DATE_FORMAT(Event.Time,"%w") * 60 * 60 * 24), "%Y-%m-%d 00:00:00")) as GroupDate from ...');
    
    // и контрольный:
    $dateFormated = strftime($format, $GroupDate);
    
    // расшифровка (SPOILER):
    // автор пытался найти воскресенье предшествующее дате из Event.Time
    // и вывести его в формате YYYY-MM-DD

    нашел в процессе code review

    pronin, 06 Октября 2014

    Комментарии (0)
  7. PHP / Говнокод #16795

    +157

    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
    22. 22
    23. 23
    24. 24
    // экшен произвольного контроллера, они там все такие
    
    $data['heading_title'] = $this->language->get('heading_title');
    
    $data['text_my_account'] = $this->language->get('text_my_account');
    $data['text_my_orders'] = $this->language->get('text_my_orders');
    $data['text_my_newsletter'] = $this->language->get('text_my_newsletter');
    $data['text_edit'] = $this->language->get('text_edit');
    $data['text_password'] = $this->language->get('text_password');
    
    // еще 20-30 аналогичных строчек
    
    $data['column_left'] = $this->load->controller('common/column_left');
    $data['column_right'] = $this->load->controller('common/column_right');
    $data['content_top'] = $this->load->controller('common/content_top');
    $data['content_bottom'] = $this->load->controller('common/content_bottom');
    $data['footer'] = $this->load->controller('common/footer');
    $data['header'] = $this->load->controller('common/header');
    
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/account.tpl')) {
    	$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/account/account.tpl', $data));
    } else {
    	$this->response->setOutput($this->load->view('default/template/account/account.tpl', $data));
    }

    теги: Опенкарт, вчера релизнули, модный паттерн MVC-L, тонкие контроллеры, классика, табы для того и сделаны, чтобы ими отбивать

    https://github.com/opencart/opencart/tree/master/upload/catalog/controller/account

    Fike, 03 Октября 2014

    Комментарии (8)
  8. PHP / Говнокод #16786

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    $logics = $elementORM->getLogics();
    					if (count($logics > 0)) {
    						foreach($logics as $kLogic => $logic) { // logic
    							foreach($logic["conditions"] as $kCondition => $condition) { // condition

    limitium, 02 Октября 2014

    Комментарии (0)
  9. PHP / Говнокод #16785

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    try {
     Transform_Excel::$zohoFilterEbanyKostyl2 = true;
     $importService->import($id);
     Helpers_Response::json([

    limitium, 02 Октября 2014

    Комментарии (13)
  10. PHP / Говнокод #16783

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    static public function dateDb2Human($dbDate) {
    
    	$date = strptime(explode('.', $dbDate)[0], '%Y-%m-%d %H:%M:%S');
    	return $date['tm_mday'].'.'.$date['tm_mon'].'.'.(1900+$date['tm_year']).' ('.($date['tm_hour'] < 10 ? '0' : '').$date['tm_hour'].':'.($date['tm_min'] < 10 ? '0' : '').$date['tm_min'].')';
    
    } //static public function dateDb2Human($dbDate)

    Это функция для преобразования даты из формата ГГГГ-ММ-ДД ЧЧ:ММ:CC в ДД.ММ.ГГГГ (ЧЧ:ММ)

    alxkolm, 01 Октября 2014

    Комментарии (0)