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

    +142

    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
    function GetDiscountGroupId($discount)
    {
        //TODO: create a parameter "Discount groups" and use an array from it
        $discount = $discount * 1;
        if ($discount == 3)
            return 8;
        elseif ($discount == 5)
            return 9;
        elseif ($discount == 7)
            return 10;
        elseif ($discount == 10)
            return 11;
        elseif ($discount == 12)
            return 12;
        elseif ($discount == 15)
            return 13;
        elseif ($discount == 18)
            return 14;
        else
            return 15;
    }

    Функция определения ID скидки по значению.. Ппц.. Теллур снова жжет.

    lscin, 02 Июня 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    else{
    	// тот случай когда будет сразу нажата кнопка
    	// однако это будет перехватывать валидация на отправку
    	// в итоге сюда мы никогда не попадем
    }

    sevenflash, 02 Июня 2015

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

    +143

    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
    if ($fuck) {
      foreach ($objects as $obj) {
        if (!$obj['CAT_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        if (!$obj['DESCR_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        if (!$obj['DESCR_VALUE']) {
          die('У объекта ' . $obj['NAME'] . ' ошибка');
        }
        else {
          die('Какая-то ошибка');
        }
      }
    }

    Кусок самописного компонента под Битрикс от предыдущего разработчика (тот еще затейник!). Просто выпилил это, т.к. не понял как это отрефакторить, т.к. $fuck нигде никак не объявлена. Да и вообще ценность этого блока кода и так сильно пахнет.

    Franchesko, 01 Июня 2015

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($review) {
    	# даем возможность исполнителю оставить свой отзыв
    }else{
    	# заморозила именно администрация
    	echo json_encode(array(
    		'status' => 'error',
    		'message' => 'Задание заморожено Администрацией.',
    	));
    }

    Нам важно ваше мнение

    VokaMut, 01 Июня 2015

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

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function json2array($json_data)
    {
        $json_array = false;
        $json = substr($json, 1, -1);
        $json = str_replace(array(":", "{", "[", "}", "]"), array("=>", "array(", "array(", ")", ")"), $json_data);
        @eval("\$json_array = array({$json});");
        return $json_array;
    }

    Парсим json

    acer_paser, 01 Июня 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?$last_update = filemtime('../b/z.zip');
    $formatter = new IntlDateFormatter('ru_RU', IntlDateFormatter::FULL, IntlDateFormatter::FULL);
    $formatter->setPattern(' d MMMM y года ');
    $dateOstap = $formatter->format(new DateTime(date('Y-m-d H:i:s', $last_update)));
    echo $dateOstap;?>//30 мая 2015 года

    масло масленное

    igorkrets, 30 Мая 2015

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private function toZeroIfNotSet($param) {
            if (isset($param)) {
                return $param;
            } else {
                return 0;
            }
        }

    на старом проекте)

    progsmile, 30 Мая 2015

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

    +143

    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
    /**
         * Returns the first line of docblock.
         *
         * @param \Reflector $reflection
         * @return string
         */
        protected function parseDocCommentSummary($reflection)
        {
            $docLines = preg_split('~\R~u', $reflection->getDocComment());
            if (isset($docLines[1])) {
                return trim($docLines[1], "\t *");
            }
            return '';
        }
        /**
         * Returns full description from the docblock.
         *
         * @param \Reflector $reflection
         * @return string
         */
        protected function parseDocCommentDetail($reflection)
        {
            $comment = strtr(trim(preg_replace('/^\s*\**( |\t)?/m', '', trim($reflection->getDocComment(), '/'))), "\r", '');
            if (preg_match('/^\s*@\w+/m', $comment, $matches, PREG_OFFSET_CAPTURE)) {
                $comment = trim(substr($comment, 0, $matches[0][1]));
            }
            if ($comment !== '') {
                return rtrim(Console::renderColoredString(Console::markdownToAnsi($comment)));
            }
            return '';
        }

    Yii2, SOLID, очередной класс консольного приложения, который делает все подряд и хуево

    https://github.com/yiisoft/yii2/blob/47bcd020fff582395db8fe9e00598acad0257922/framework/console/Controller.php#L481-L512

    Fike, 29 Мая 2015

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

    +143

    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
    class Security{
        
        private $workFactor, $salt;
        
        public function __construct(){
            $this->setWorkFactor();
            $salt = $this->getSaltBytes();
            $this->setSalt($salt);
        }
        
        public function hash($password, $workFactor = 6){
            $options = [
                'cost' => (int)$workFactor,
                'salt' => $this->getSalt()
            ];
            $hash = password_hash($password, PASSWORD_BCRYPT, $options);
            return $hash;
        }
    
        public function checkHash($password, $passwordHash, $options = []){
            if( isset($options['salt'])){
                $this->setSalt($options['salt']);
            }
            $workFactor = isset($options['workFactor']) ? 
                    $options['workFactor'] : $this->getWorkFactor();
            return $passwordHash === $this->hash($password, $workFactor);
        }
        
        public function isLegacyHash($passwordHash){
            return strlen($passwordHash) === 60;
        }
        
        public function getSalt(){
            return $this->salt;
        }
        
        public function setSalt($salt){
            $this->salt = $salt;
        }
        
        public function getSaltBytes($lenght = 24){
            return $this->getRandomBytes($lenght);
        }
    
        public function getRandomBytes($lenght = 24){
            $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
            $charactersLength = strlen($characters);
            $randomString = '';
            for ($i = 0; $i < $lenght; $i++){
                $randomString .= $characters[rand(0, $charactersLength - 1)];
            }
            return $randomString;
        }
        
        public function setWorkFactor($workFactor = 6){
            $this->workFactor = (int)$workFactor;
        }
        
        public function getWorkFactor(){
            return $this->workFactor;
        }
        
    }

    Besmer, 28 Мая 2015

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

    +144

    1. 1
    if ((int)$qty && ((int)$qty > 0)) {

    OpenCart

    OverOverMind, 28 Мая 2015

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