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

    0

    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
    То, что находится ниже - очередная розовобегемотная вакансия, предложенная "креативщиками" от IT-индустрии.
    Интересно, когда они осознают, что к ним идут зарабатывать земное, бренное бабло, а не "сворачивать горы", и что на их прожекты всем, кроме них самих, глубоко похуй?
    
    
    
    "Сейчас – тот самый момент, когда в нашу КОМАНДУ МЕЧТЫ ищется Full-stack PHP-разработчик, 
    творческий человек и высококлассный профессионал. 
    Тебя ждет яркий проект, безлимитный драйв и атмосфера настоящего большого стартапа!  
    То, что мы делаем – используют миллионы,  
    почувствуй себя создателем новой технологии, творцом новой жизни.  
    Мы здесь чтобы сворачивать горы, будь с нами и ты не пожалеешь! 
    
    Обязанности:  [радужное описание рутинной хуеты]"

    AnalPerOral, 20 Июля 2017

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

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function get_rand_word () {
        $list = explode(" ", file_get_contents('http://www.gnu.org/licenses/gpl-3.0.txt'));
            $cwords = rand (2,5);
            $string = '';
            $r = 0;
            while($r++<$cwords) {
                    $string .= preg_replace('~[^a-z]+~', '', strtolower($list[rand(0, (count($list)-1))]));
            }
            return $string;
    }

    Одним прекрасным утром поступила жалоба, что сервер ддосят. Канал на 100Mb был полностью забит входящим трафиком. Ддосили с www.gnu.org...

    deadmorose, 18 Июля 2017

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

    0

    1. 1
    <?php echo time();

    1.5 лярда секунд от начала эпохи линкусоидов

    CockaGuttaPerch, 14 Июля 2017

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

    +2

    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
    // Consumer
    $channel->run(
        new GracefulHandler(
            new LoggingHandler(
                new AcknowledgingHandler(
                    new JsonDecodingHandler(
                        new ValidatingHandler(
                            new DbalReconnectingHandler(
                                new AmqpPublishingHandler(
                                    new Mailman($channel, $exchangeName),
                                    new PrintNodePrinterPool(
                                        new PluginClient(
                                            new HttpClient(),
                                            [new AuthenticationPlugin(new BasicAuth($key, ''))]
                                        ),
                                        MessageFactoryDiscovery::find()
                                    ),
                                    new DbalBatchFactory(
                                        $connection,
                                        new S3BatchLabelFactory(
                                            new S3Client(
                                                [
                                                    'version' => 'latest',
                                                    'region' => $region,
                                                    'credentials' => [
                                                        'key' => $key,
                                                        'secret' => $secret,
                                                    ],
                                                ]
                                            ),
                                            $bucket,
                                            $logger
                                        ),
                                        new LabelFactory(
                                            new GuzzleClient(),
                                            new PickTicketFactory($template, $layouts)
                                        )
                                    )
                                ),
                                $connection
                            ),
                            __DIR__ . '/schema.json'
                        )
                    )
                ),
                $logger
            )
        ),
        $name
    );

    Пример consumer на PHP для RabbitMQ (Yegor OOP style)

    belka3000, 14 Июля 2017

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

    0

    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
    public function notLessThan($attribute_name, $params)
        {
            $attributes = [
                [
                    'error' => 0,
                    'name' => 'ingredient_1st',
                    'this' => $this->ingredient_1st
                ],
                [
                    'error' => 0,
                    'name' => 'ingredient_2nd',
                    'this' => $this->ingredient_2nd,
                ],
                [
                    'error' => 0,
                    'name' => 'ingredient_3rd',
                    'this' => $this->ingredient_3rd
                ],
                [
                    'error' => 0,
                    'name' => 'ingredient_4th',
                    'this' => $this->ingredient_4th
                ],
                [
                    'error' => 0,
                    'name' => 'ingredient_5th',
                    'this' => $this->ingredient_5th
                ],
            ];
            $this->counter = 0;
            foreach ($attributes as $key => &$attribute) { // change array element
                if (empty($attribute['this']) && $this->counter < 2) {
                    $attribute['error'] = 1;
                } else {
                    $this->counter++;
                }
            }
            if ($this->counter < 2) {
                foreach ($attributes as $key => $attribute) {
                    if ($attribute['error']) {
                        $this->addError($attribute['name'], 'Должно быть заполнено не менее двух полей.');
                    }
    
                }
                return false;
            }
            return true;
        }

    Валидатор проверки заполнения нужного количества полей

    qstd, 13 Июля 2017

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

    +1

    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
    if (!empty($tickets)) {
        if (count($tickets)) {
    
            $c_start = strtotime($convetion_details['start']);
            $c_end   = strtotime($convetion_details['end']);
    
            $i = 0;
    
            while ($c_start <= $c_end) {
                if (is_int($i / 4) && $i > 0) $convetion_days_html .= '</tr><tr>';
                $convetion_days_html .= '<td>' . date('d.m', $c_start) . ' ' . __t($days_of_week[date('w', $c_start)]) . ' &nbsp;&nbsp;&nbsp;&nbsp;<img src="' . str_replace('https', 'http', TEMPLATE_WWWPATH) . '/images/checkbox.png"/></td>';
                $c_start             = strtotime('+1 day', $c_start);
                $i++;
            }
    //...

    код из легаси 2007 года от индусов

    seyfer, 11 Июля 2017

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

    +2

    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
    /**
     * "Smart" Escape String
     *
     * Escapes data based on type
     * Sets boolean and null types
     */
    function escape($str)
    {
        if (is_string($str))
        {
            $str = "'".$this->escape_str($str)."'";
        }
        elseif (is_bool($str))
        {
            $str = ($str === FALSE) ? 0 : 1;
        }
        elseif (is_null($str))
        {
            $str = 'NULL';
        }
    
        return $str;
    }

    CodeIgniter 2, "Smart"

    Fike, 11 Июля 2017

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    $_POST['sum'] = (float)number_format(preg_replace('~[^0-9.,]~ui', '',$_POST['sum']), 2);
    
    ?>

    Получили float

    Caarlo, 10 Июля 2017

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

    0

    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
    /* сделать логику переводчика из 10 системы в 2, 8 и 16, что бы на вход было десятичное число, 
    а на выходе двоичное, восьмеричное и шеснадцатиричное представление */
    
    // для проверки, функциями php
    $i=378;
    echo "$i в двоичной системе = " . base_convert ($i, 10, 2) . PHP_EOL;
    echo "$i в восьмеричной системе = " . base_convert ($i, 10, 8) . PHP_EOL;
    echo "$i в шестнадцатиричной системе = " . base_convert ($i, 10, 16) . PHP_EOL;
    unset ($i);
    
    // десятичное в двоичное, используя алгоритм http://vestikinc.narod.ru/AB/dec_bin_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0) {
            $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
        }
    echo $b . PHP_EOL;
    
    unset ($a, $b);
    
    // десятичное в восьмеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_oct_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0 & $a % 8 < 8) {
            $b = ($a % 8) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 8); //принимаем целую часть частного за новое делимое
        }
    echo $b . PHP_EOL;
    unset ($a, $b);
    
    // десятичное в шестнадцатеричное, через двоичное
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0) {
            $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
    }
    $count = strlen($b);
        while(($count % 4) != 0) { // если количество символов не кратно 4
            $b='0'. $b;            // то добавляем в начало 0
            $count = strlen($b);   // снова вычисляем длину
    }
        $c = '';                                     // пустая строковая переменная
        for($d = 0; $d < $count; $d = $d + 4)        //пока счётчик меньше количества символов, прибавляем 4
        {
            $c = $c . strtr(substr($b, $d,4), //добавляем к $c замену 4-х символов $b с позиции $d
                array('0000'=>'0',
                      '0001'=>'1',
                      '0010'=>'2',
                      '0011'=>'3',
                      '0100'=>'4',
                      '0101'=>'5',
                      '0110'=>'6',
                      '0111'=>'7',
                      '1000'=>'8',
                      '1001'=>'9',
                      '1010'=>'A',
                      '1011'=>'B',
                      '1100'=>'C',
                      '1101'=>'D',
                      '1110'=>'E',
                      '1111'=>'F'));
        }
    echo $c . PHP_EOL;
    
    unset ($a, $b, $c, $d);
    
    // десятичное в шестнадцатеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_hex_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
    while ($a != 0) {
        if ($a % 16 > 0 & $a % 16 < 10):
            $b = ($a % 16) . $b;
        elseif ($a % 16 == 10):
            $b = 'A' . $b;
        elseif ($a % 16 == 11):
            $b = 'B' . $b;
        elseif ($a % 16 == 12):
            $b = 'C' . $b;
        elseif ($a % 16 == 13):
            $b = 'D' . $b;
        elseif ($a % 16 == 14):
            $b = 'E' . $b;
        elseif ($a % 16 == 15):
            $b = 'F' . $b;
        endif;
        $a = (int)($a / 16);     //принимаем целую часть частного за новое делимое
    }
    echo $b . PHP_EOL;

    логика переводчика из 10 системы исчисления в 2, 8 и 16, чтобы на входе было десятичное число, а на выходе двоичное, восьмеричное и шеснадцатиричное представление

    прошу сильно гавном не бросать - на старости лет, впервые в жизни учу программирование, месяц всего-то как заглянул за экран

    iconoclastov, 09 Июля 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function isDateGreaterOrEqualNow($d)
    {
        if (!$d) return false;
        $t = getdate();
        $t = mktime(0, 0, 0, $t['mon'], $t['mday'], $t['year']);
        return $d >= $t;
    }

    Космическое сравнение дат

    SeniorShaurman, 07 Июля 2017

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