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

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

    +165.2

    1. 1
    2. 2
    3. 3
    function nik_slashes(&$value)     {
         return (stripslashes($value));
    }

    Коллега сделал свою функцию для удаления слэшей с блек джеком и всем прочим.

    Acid Beast, 13 Октября 2009

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

    +165.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
    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
    function cryptCCNumberDeCrypt( $cifer, $key )
    {
    	return base64_decode($cifer);
    /*
    	$res = "";
    	$strlen = (int)($cifer[0]);
    
    	$dWordArray = array();
    	for( $i=1; $i<=8; $i++ )
    	{
    		$dWordObject = DWord();
    		$dWordObject->SetValue(
    				$cifer[ ($i-1)*4 + 1 ],
    				$cifer[ ($i-1)*4 + 2 ],
    				$cifer[ ($i-1)*4 + 3 ],
    				$cifer[ ($i-1)*4 + 4 ] );
    		$dWordArray[] = $dWordObject;
    	}
    
    	$dWordArrayDeCifered = array();
    	for( $i=1; $i<=4; $i++ )
    	{
    		$deCiferedData = _gostDeCrypt( array( $dWordArray[($i-1)*2], $dWordArray[($i-1)*2 + 1]), $key );
    		$dWordArrayCifered[] = $deCiferedData[0];
    		$dWordArrayCifered[] = $deCiferedData[1];
    	}
    
    	foreach( $dWordArrayCifered as $dWordCifered )
    	{
    		$byte1 = 0;
    		$byte2 = 0;
    		$byte3 = 0;
    		$byte4 = 0;
    		$dWordCifered->GetValue( &$byte1, &$byte2, &$byte3, &$byte4 );
    		$res .= chr($byte1);
    		$res .= chr($byte2);
    		$res .= chr($byte3);
    		$res .= chr($byte4);
    	}
    
    	$temp = $res;
    	for( $i=1; $i<=$strlen; $i++ )
    		$res .= $temp[$i-1];
    		
    	return $res;
    */
    }
    
    // *****************************************************************************
    // Purpose	encrypts cc_expires field ( see ORDERS_TABLE in database_structure.xml )
    // Inputs   	
    // Remarks	
    // Returns	
    function cryptCCHoldernameCrypt( $cc_holdername, $key )
    {
    	return base64_encode( $cc_holdername );
    }	
    function cryptCCHoldernameDeCrypt( $cifer, $key )
    {
    	return base64_decode( $cifer );
    }
    function cryptCCExpiresCrypt( $cc_expires, $key )
    {
    	return base64_encode( $cc_expires );
    }
    function cryptCCExpiresDeCrypt( $cifer, $key )
    {
    	return base64_decode( $cifer );
    }
    function cryptPasswordCrypt( $password, $key )
    {
    	return base64_encode( $password );
    }
    function cryptPasswordDeCrypt( $cifer, $key )
    {
    	return base64_decode( $cifer );
    }
    function cryptFileParamCrypt( $getFileParam, $key )
    {
    	return base64_encode( $getFileParam );
    }	
    function cryptFileParamDeCrypt( $cifer, $key )
    {
    	return base64_decode( $cifer );
    }

    продолжает радовать Shop-Script PREMIUM от WebAsyst LLC.
    перед каждой функцией - комментарий как перед cryptCCHoldernameCrypt() (все просто не влезало)

    gorky, 01 Октября 2009

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

    +165.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
    <?php
    ...
    define ( "CSELECT", "select task.value as tvid, count(*) as cnt from ( " );
    define ( "CJOIN", " ) as s1
       				left join m_dict on s1.id_m_dict = m_dict.id " );
    define ( "CWHERE", " where task_attr.id_mf = 116
          			  			and task_attr.value <> 'Дело'
    					  group by task_attr.value" );
    
    ...
    
    $sqltext = CSELECT . "select id, id_dep, id_m_dict
    		from task
    		where task.state = 0 and
    			  task.startdate <= '" . $reportDate . " 23:59:59' and
    			  task.id_dep in (2,42) and
    			  task.id_m_dict = 29
    	   " . CJOIN . CWHERE;
    
    ...
    ?>

    Я может чего-то не понимаю и так писать круто, но когда этих $sqltext = ... больше 5, то извините, это капец.

    nechin, 29 Октября 2009

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

    +165.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public function setSomething($var) {
        if ($var === true or $var === false){
            $this->something = $var;
        }
    }

    Отечественный type hinting для bool.

    striker, 20 Августа 2009

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $claimAboutBlackout = false;
    foreach ($blackouts as $blackout) {
        if ($claimAboutBlackout = $claim->getType() === $blackout->getType() ? true : false) {
            break;
        }
    }
    return $claimAboutBlackout;

    Нашли в одном из проектов.

    bit0rez, 08 Июня 2015

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

    +165

    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
    // Whoever introduced xml to shipping companies should be flogged
    $xml  = '<?xml version="1.0"?>';
    $xml .= '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/rate/v10">';
    $xml .= '	<SOAP-ENV:Body>';
    $xml .= '		<ns1:RateRequest>';
    $xml .= '			<ns1:WebAuthenticationDetail>';
    
    // почти сотня строк
    
    $xml .= '</SOAP-ENV:Envelope>';
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

    Смотри-ка, оно еще и ругается

    https://github.com/opencart/opencart/blob/58eeb544e2eddbe18b00224e10d2761259e8ce7b/upload/catalog/model/shipping/fedex.php#L48

    Fike, 12 Мая 2015

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

    +165

    1. 1
    2. 2
    3. 3
    <% var telString = data.phone.toString(); %>
    <p class="mb0">Phone: <a class="mb0" itemprop="telephone" rel="dofollow"><%= "("+telString[0]+telString[1]+telString[2]+") "+telString[3]+telString[4]+telString[5]+"-"+telString[6]+telString[7]+telString[8]+telString[9] %></a></p>
    <% } %>

    data.phone - телефон в виде "0951112222".
    Нужно привести к виду (095)111-2222.

    vetal, 15 Апреля 2015

    Комментарии (48)
  9. JavaScript / Говнокод #17825

    +165

    1. 1
    2. 2
    3. 3
    function print(){
        window.print() ;
    }

    Lure Of Chaos, 20 Марта 2015

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

    +165

    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
    public static function isOwner()
    {
            $user = app::getSession();
            if ($user->isAuth()){
    
                switch (true){
                    case ($_GET('action') == 'upload'):
                    case ($_GET('login') == $user->getUserLogin()):
                        return true;
                        break;
                    default:
                        return false;
                        break;
                }
    
            }
            return false;
        }

    Проверка является ли пользователь владельцем фотогалереи)))

    Gkoder_, 15 Января 2015

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach ($user as $field => $value) {
        if ($field == 'username') {
            $user[$field] = md5($value);
        }
    }

    Обучаю стажера, который целый год кодил на битрикс, частенько у него проскользает такой подход для обновления значений в ассоциативном массиве.

    mr-lekafe, 18 Ноября 2014

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