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

    +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
    16. 16
    /**
         * Конвертирует шестнадцатеричное число в десятичное
         *
         * @param string $hex шестнадцатиричное число
         * @return string десятичное число
         */
        private static function convertHexToBase10(string $hex): string
        {
            $base10result = 0;
            foreach (str_split(trim($hex)) as $hexPart) {
                $base10 = base_convert($hexPart, 16, 10);
                $base10result = gmp_add(gmp_mul($base10result, 16), $base10);
            }
    
            return $base10result;
        }

    Задания для самопроверки:
    1. Найдите ошибку в phpdoc.
    2. Укажите функцию из стандартной поставки PHP, которая делает то же самое.
    3. Дана строка, представляющая md5-хеш, то есть строковое представление 128-битного шестнадцатиричного числа. Напишите пример вызова функции из стандартной поставки PHP, возвращающую остаток от деления этого числа на 3, не используя функцию из предыдущего задания.

    anei, 23 Марта 2017

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

    −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
    public static function __callStatic($method, $args)
    {
    	$instance = static::getFacadeRoot();
    	switch (count($args))
    	{
    		case 0:
    			return $instance->$method();
    		case 1:
    			return $instance->$method($args[0]);
    		case 2:
    			return $instance->$method($args[0], $args[1]);
    		case 3:
    			return $instance->$method($args[0], $args[1], $args[2]);
    		case 4:
    			return $instance->$method($args[0], $args[1], $args[2], $args[3]);
    		default:
    			return call_user_func_array(array($instance, $method), $args);
    	}
    }

    классическая блевня и ссанина в очередном модном фреймворке

    https://github.com/illuminate/support/blob/4.2/Facades/Facade.php#L198-L222

    Fike, 22 Марта 2017

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

    +1395

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Вот СТЕРТОР утырок, согласитесь 
    Написал с аккаунта ХЕР - он исправил мой коммент на какую-то ЁБАНУЮ ХУЙНЮ
    И начал с него срать дальше. Тоже самое происходит и с другими (не обязательно моими) акками 
    Вот смотрите как он сейчас высрет на говнокод своим спамом
    Он же шизик.
    
    Давай так: ты сливаешь свой основной акк (с пруфами, естессно), а я сливаю свой.
    Если зассал - сри дальше

    TOHKuU_XEP, 27 Октября 2016

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function setBasePath($basePath = '')
    {
        $this->basePath = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__))))));
        if(!empty($basePath)) {
             $this->basePath = $basePath;
        }
    }

    https://github.com/alverated/laravel-error-mailer/blob/master/src/Alverated/LaravelErrorMailer/Mailer.php#L64

    ничерта мы не смыслим в хелперах фреймворка...

    weboed, 09 Сентября 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (!(strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') === false))
    {
    	...
    }
    else if (!(strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') === false))
    {
    	...
    }

    Проверка на браузер

    mainglot, 08 Сентября 2016

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class User extends \yii\db\ActiveRecord implements IdentityInterface
    {
        // какие-то методы ...
    
        public static function getTopManagerPositionIdList()
        {
            return [1, 2, 3, 4, self::ADMIN];
        }
    
         // какие-то данные ...
    }

    Считалочка

    akanit, 06 Сентября 2016

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

    +4

    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
    //Функция возвращает упорядоченную строку значений параметров POST-запроса
    function getReqParams(){
        $reqparams = "";
        ksort($_POST);
        foreach ($_POST as $param => $valuep) {
            $reqparams = "$reqparams|$valuep";
        }
        return substr($reqparams,1);
    }
    
    //Извлечение цифровой подписи из заголовков запроса
    function getSign(){
        $HEADERS = getallheaders();
        foreach ($HEADERS as $header => $value) {
            if ($header == 'X-Api-Signature') {
                $SIGN_REQ = $value;
            }
        }
        return $SIGN_REQ;
    }

    QIWI Official Documentation

    Псс… посоны, у нас тут есть кусок из оф. документации QIWI. Зацените ))

    maxyc, 02 Сентября 2016

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

    +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
    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
    public static function getTree($version, $lang = 'en')
        {
            $pt_root = KbTree::findOne(($version == 'pt2') ?
                KbTree::NODE_PT2 : KbTree::NODE_PT3);
    
            $list = $pt_root
                ->children()
                ->andWhere(['root' => ($version == 'pt2') ? KbTree::NODE_PT2 : KbTree::NODE_PT3])
                ->andWhere(['visible' => 1, 'pub' => 1])
                ->orderBy('lft ASC')
                ->all();
    
            $tree = [$pt_root->id => []];
            $currentLevel = 1;
            $levelsIds[$currentLevel] = $pt_root->id;
            $dic = [];
    
            foreach($list as $key => $_node)
            {
                if(isset($_node->level, $_node->id))
                {
                    $dic[$_node->id][] = $_node->getTranslateMessage($lang);
    
                    $dic[$_node->id][] = $_node->getFullAlias();
    
                    $currentLevel = $_node->level;
    
                    switch($_node->level) {
                        case 2:
                            $tree[$levelsIds[1]][$_node->id] = [];
                            break;
                        case 3:
                            $tree[$levelsIds[1]][$levelsIds[2]][$_node->id] = [];
                            break;
                        case 4:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$_node->id] = [];
                            break;
                        case 5:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$_node->id] = [];
                            break;
                        case 6:
                            $tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$levelsIds[5]][$_node->id] = [];
                            break;
                    }
    
                    $levelsIds[$currentLevel] = $_node->id;
    
                }
    
            }
    
            return [$tree[$pt_root->id], $dic];
    
        }

    Получение дерева каталогов от PHP middle developer

    Kilimangaro, 29 Августа 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (isset($response['initialize'])) {
    	$initialize = $response['initialize'];
    	unset($response['initialize']);
    	$response['initialize'] = $initialize;
    }

    cometchat
    (Как говорится, шаг вперед и два назад)

    slavavitrenko, 29 Августа 2016

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

    −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
    if (COption::GetOptionString("vote", "VOTE_COMPATIBLE_OLD_TEMPLATE", "Y") == "N")
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    		unset($arDisplayOptions[6]);
    	}
    	elseif ($old_module_version=="Y")
    	{
    		unset($arDisplayOptions[6]);
    	}
    	else
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    	}

    bitrix/modules/vote/options.php:44

    maxyc, 29 Августа 2016

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