1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #16462

    +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
    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
    function UsersDefineParameters(&$db_parameters, &$cookie_parameters, $key = '', $is_check_db = false)
    {
    	global $CONFIG, $USER, $SCRIPT;
    	
    	if (!$key) $key = array();
    	$SCRIPT[ttt] = $is_check_db ? 1 : 0;
    	$default_val = tieArrayValue($CONFIG[defaults], $key);
    	$SCRIPT[ttt] = 0;
    	$user_val = tieArrayValue($USER[parameters], $key);
    	$db_val = tieArrayValue($db_parameters, $key);
    	$cookie_val = tieArrayValue($cookie_parameters, $key);
    	
    	if ($is_check_db)
    	{
    		if (!is_array($db_val) || (isListArray($db_val) && count($db_val) == 2 && is_int($db_val[1])))
    			{if (!isset($default_val)) tieArrayValue($USER[parameters], $key, is_array($db_val) ? $db_val[0] : $db_val);}
    		else foreach ($db_val as $k=>$v) UsersDefineParameters($db_parameters, $cookie_parameters, array_merge($key, array($k)), 1);
    	}
    	else
    		if (!is_array($default_val) || (isListArray($default_val) && count($default_val) == 2 && is_int($default_val[1])))
    		{
    			$use_cookie = !is_array($default_val) || $default_val[1];
    			$keys = array(db, cookie);
    			foreach ($keys as $k)
    				if (isset(${$k._val}))
    				{${$k._time} = is_array(${$k._val}) ? (int)${$k._val}[1] : 0; if (is_array(${$k._val})) ${$k._val} = ${$k._val}[0];}
    			
    			if (isset($db_val) && (!$use_cookie || !isset($cookie_val) || $db_time >= $cookie_time)) {$val = $db_val; $time = $db_time;}
    			elseif ($use_cookie && isset($cookie_val)) {$val = $cookie_val; $time = $cookie_time;}
    			else {$val = is_array($default_val) ? $default_val[0] : $default_val; unset($time);}
    			
    			if (isset($time))
    			{
    				if ($val != $db_val) {tieArrayValue($SCRIPT[write_db_parameters], $key, array($val,$time)); $SCRIPT[is_write_db_parameters] = true;}
    				if ($use_cookie) tieArrayValue($SCRIPT[write_cookie_parameters], $key, array($val, $time));
    			}
    			tieArrayValue($USER[parameters], $key, $val);
    		}
    		else foreach ($default_val as $k=>$v) UsersDefineParameters($db_parameters, $cookie_parameters, array_merge($key, array($k)));
    	
    	if (!$is_check_db && !$key) UsersDefineParameters($db_parameters, $cookie_parameters, '', 1);
    }
    
    function tieArrayValue(&$arr, $key, $value = '')
    {
    	if (is_string($key)) $key = explode('][',substr($key,1,-1));
    	$element = &$arr;
        $count=count($key);
    	for ($i=0;$i<$count;$i++) $element = &$element[$key[$i]];
    	if (func_num_args() == 3) {$element = $value; unset($arr);}
    	else return $element;
    }
    
    function isListArray($arr)
    {
    	if (!is_array($arr)) return false;
    	@reset($arr); $i = 0;
    	while (list($key) = @each($arr)) if ((string)$key != (string)$i++) return false;
    	return true;
    }

    Крайне "эффективное" склеивание массивов с настройками из разных источников

    proff, 03 Августа 2014

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

    +153

    1. 1
    2. 2
    3. 3
    if($servid>0){
        $servid=$servid;
    }

    А если $servid == 0?

    Khvorostin, 30 Июля 2014

    Комментарии (2)
  4. C# / Говнокод #16431

    +130

    1. 1
    bool b1 = listForm != null ? listForm.AllowAddOther : false;

    zxxc, 27 Июля 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $dbhost = DB_HOSTNAME;
     $dbuser = DB_USERNAME;
     $dbpass = DB_PASSWORD;
     $dbdatabase = DB_DATABASE;
     $dbprefix = DB_PREFIX;

    Из платного модуля для опенкарта.

    SOKOJI, 25 Июля 2014

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

    +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
    function commandLineArgsToGet() {
        global $argv;
    
        foreach ($argv as $arg) {
            $param = explode('=', $arg);
            if (count($param) == 2) {
                $_GET[$param[0]] = $param[1];
            }
            else {
                $_GET[$param[0]] = null;
            }
        }
    }

    Встретил функцию для перевода аргументов командной строки в $_GET-массив.

    vgoodvin, 22 Июля 2014

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

    +153

    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
    <?
    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
    
    class CBPTask2Activity
        extends CBPActivity
    {
        public function __construct($name)
        {
            parent::__construct($name);
            $this->arProperties = array(
                "Title" => "", //название действия
                "TaskGroupId" => "", //личная или группа
                "TaskOwnerId" => "", //
                "TaskCreatedBy" => "", //автор
                "TaskActiveFrom" => "", //РѕС‚
                "TaskActiveTo" => "", //РґРѕ
                "TaskName" => "", //название таски
                "TaskDetailText" => "", //описание
                "TaskPriority" => "", //приоритет
                "TaskAssignedTo" => "", //ответственный
                "TaskTrackers" => "", //следящие
                            "TaskCheckResult" => "", //
                "TaskReport" => "", //
                            "TaskChangeDeadline" => "",
            );
        }

    Копия кода из официальной документации битрикса:
    http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=57&TYPE=Y (внизу)

    #bitrix #black chi

    waspar, 17 Июля 2014

    Комментарии (2)
  8. JavaScript / Говнокод #16301

    +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
    for ( var i in data){
                flat_data.push(data[i]);       
                if (data[i].children){
                    for (var j in data[i].children){
                        flat_data.push(data[i].children[j]);
                        if (data[i].children[j].children){
                            for (var z in data[i].children[j].children){
                                flat_data.push(data[i].children[j].children[z]);
                            }
                        }
                    }
                }
            }

    Вот с таким кодом приходится работать...

    monstrodev, 10 Июля 2014

    Комментарии (2)
  9. Куча / Говнокод #16246

    +128

    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
    @keyframes shadow{
        from {
            -webkit-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
    	     
    	     
    	     .......
    	     
    	     
            -webkit-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
           }
        to{
            -webkit-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
    
          	.......
          	
            -webkit-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
    
        }
    }
    
    #progressShadow{
        height:25px;
        margin:-28px 0 0 30px;
        border-radius: 10px;
        position: absolute;
        -webkit-animation: shadow 1s linear infinite;
        -moz-animation: shadow 1s linear infinite;
        animation: shadow 1s linear infinite;
    }

    Чувак хотел создать эффект пульсацию с CSS и расчет сделал от 55px до 1px и от 1px до 55px )))

    asus-ns55, 27 Июня 2014

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

    +10

    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
    int getNextCode(int &currentByte, int codeLen)
    {
        int nextCode = 0, mask;
        mask = (int)pow(2, codeLen) - 1;
        if (rest >= codeLen) {
            nextCode = currentByte & mask;
            currentByte >>= codeLen;
            rest -= codeLen;
        } else {
            int nextByte, temp;
            encoded >> std::hex >> nextByte;
            if (codeLen <= rest + 8) {
                temp = nextByte;
                temp <<= rest;
                temp += currentByte;
                rest = 8 + rest - codeLen;
                currentByte = nextByte >> (8 - rest);
            } else {
                int secondByte;
                encoded >> std::hex >> secondByte;
                temp = secondByte << (rest + 8);
                temp += nextByte + currentByte;
                rest = 16 + rest - codeLen;
                currentByte = secondByte >> (8 - rest);
            }
            nextCode = temp & mask;
        }
        return nextCode;
    }

    Функция, для декодера *gif . Считывает несколько бит из файла.

    Juksare, 26 Июня 2014

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

    +155

    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
    /* $res = array ('res_count' => 15,   кол-во результатов
                               '...' => прочее,
    )*/
    
    {if ($res) && (($res['res_count']%10) == 1)&& ((($res['res_count']/10)%10) != 1)}  
    	нашёлся <b>{$res['res_count']}</b> результат
    {else} 
    	нашлось <b>{$res['res_count']}</b> 
    	{if ($res) && ((($res['res_count']/10)%10) != 1) && (($res['res_count']%10)>1) && (($res['res_count']%10)<5)}
    		результата
    	{else}
    		результатов
    	{/if}
    {/if}

    нашёл функцию под SMARTY для склонения слов, которая используется при выводе результатов поиска... она была записана в 1-у строчку для "лучшего понимания" (напишу в комменте )

    govnokoder2, 25 Июня 2014

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