1. Список говнокодов пользователя gorky

    Всего: 19

  2. 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)
  3. PHP / Говнокод #1888

    +155.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function strtolowerex($str)
    {
    	$str = strtr($str, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "абвгдеёжзийклмнопрстуфхцчшщъыьэюя");
    	return strtolower($str);
    }

    я может чего-то не понимаю? 0_о

    gorky, 23 Сентября 2009

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

    +158.8

    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
    $fStr = fgets($fp);
    if ($k==0 && $IsFirst)
    continue;
    $arLine = explode(";", $fStr);
    $type = intval($arLine[0]);
    $articul = trim($arLine[1]);
    $section_id = intval($arLine[2]);
    $model = trim($arLine[3]);
    $name = trim($arLine[4]);
    $brand = trim($arLine[5]);
    $width = trim($arLine[6]);
    $radius = trim($arLine[7]);
    $pcd = trim($arLine[8]);
    $et = trim($arLine[9]);
    $dia = trim($arLine[10]);
    $dop = trim($arLine[11]);
    $color = trim($arLine[12]);
    
    //и чуть позже
    
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 38, 'S', '".$articul."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 25, 'L', '', ".$type.", '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 17, 'S', '".$width."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 18, 'S', '".$radius."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 19, 'S', '".$pcd."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 20, 'S', '".$et."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 45, 'S', '".$dia."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 21, 'S', '".$color."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 22, 'S', '0', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 23, 'S', '', null, '')";
    $res = SQLResult($query);

    gorky, 23 Сентября 2009

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

    +156.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
    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
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    function CompletesGetTableOld($clist, $mid =0)
    {
      if(strlen($clist) or $mid > 0)
      {
        $com = CatalogComplsCostsGet(0, 0, $clist, $mid);
        $csz = sizeof($com['id']);
        if($csz > 0)
        {
            $param = CatalogComplParamsGet();
            $psz = sizeof($param);
            $tds = '';
            
            $cVals = CatalogComplParamValsGet(implode(",", $com['cid']));
            
            echo '
    		<table cellpadding="4" cellspacing="0" border="0" width="700" class="table-comp">
    		 <tr><td width="50%" class="first"></td>
           	';
            for($i = 0; $i < $csz; $i++)
     	    {
     	        echo '<td align="center">'.$com['name'][$i].'</td>';
     	        $tds .= '<td> &nbsp; </td>';
     	    }
            echo '</tr>';
            
            $prgrnm = '';
            for($i = 0; $i < $psz; $i++)
     	    {
     	        $data = false;
     	        $html = '';
     	        if($i==0||$param[$i]['gr_name']!=$prgrnm)
     	        {
    				$html='
    				<tr>
    					<td class="first"><br><b>'.$param[$i]['gr_name'].'</b></td>';for($ii = 0; $ii < $csz; $ii++)$html.='<td class="second" > &nbsp; </td>';
    					$html.= $tds.'
    				</tr>';
     	        }
     	        $html.= '
     	        <tr>
     	          <td class="first">'.$param[$i]['name'].'</td>';
     	        
     	        for($ii = 0; $ii < $csz; $ii++)
         	    {
         	        @$val = $cVals[$com['cid'][$ii]][$param[$i]['id']];
         	        if(isset($val) and strlen($val))
         	        {
         	            if($param[$i]['type'] == 'CH') 
         	            {
         	                if($val == 1)
         	                {
         	                    $html.= '<td class="second" align="center"><img src="/images/tochka.gif" ></td>'; 
         	                    $data = true;
         	                }
         	                else $html.= '<td class="second"> &nbsp; </td>';
         	                
         	            }
         	            else 
         	            {
         	                $html.= '<td class="second" align="center">'.$val.'</td>';
         	                $data = true;
         	            }
         	        }
         	        else $html.= '<td class="second"> &nbsp; </td>';
         	    }
         	    $html.= '</tr>';
         	    
         	    if($data) 
         	    {
         	        $prgrnm = $param[$i]['gr_name'];
         	        echo $html;
         	    }
     	    }
     	    
     	    echo '
     	     <tr><td width="50%" class="first"><b>????</b></td>';
     	    for($i = 0; $i < $csz; $i++)
     	    {
     	    	$cost = intval($com['cost'][$i]);
     	        if($cost > 1000000) $cost = '<nobr>'.substr($cost, 0, -6)." ".substr($cost, 1, -3).". ".substr($cost, 4).'</nobr> ???';
     	        elseif($cost > 100) $cost = '<nobr>'.substr($cost, 0, -3)." ".substr($cost, strlen($cost)-3).'</nobr> ???';
     	        else $cost = '';
         	        
     	        echo '<td class="second" align="center" height="30">'.$cost.'</td>';
     	    }
                   
            echo '</tr>
            </table>';
             
            return true;
        }
      }
       
      return false;
    }

    обратите внимание на переменную $data. долго и упорно собираем из кусочков $html, и только если $data истинно тогда выводим $html (примерно 5-10% случаев)

    gorky, 18 Сентября 2009

    Комментарии (5)
  6. Pascal / Говнокод #1844

    +112.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
    procedure TForm1.Button2Click(Sender: TObject);
    var
    result  : Tdatetime;
    begin
    Result := EncodeDate(1970, 1, 1) + ((strtofloat(edit26.Text)+(strtofloat(edit2.Text)*3600)) / 86400); {86400=No. of secs. per day}
    
    edit23.Text := formatdatetime('d', Result);
    edit24.Text := formatdatetime('m', Result);
    edit25.Text := formatdatetime('yyyy', Result);
    edit27.Text := formatdatetime('h', Result);
    edit28.Text := formatdatetime('n', Result);
    edit29.Text := formatdatetime('s', Result);
    edit30.text := datetimetostr(result);
    form1.ActiveControl := edit30;
    end;
    
    
    procedure TForm1.Button3Click(Sender: TObject);
    var
      x,y      : extended;
    begin
    edit12.Text := formatdatetime('d', datetimepicker2.date);
    edit17.Text := formatdatetime('m', datetimepicker2.date);
    edit18.Text := formatdatetime('yyyy', datetimepicker2.date);
    x := (EncodeDate(strtoint(edit18.text), strtoint(edit17.text), strtoint(edit12.text)) - EncodeDate(1970, 1, 1)) * 86400 ;
    y := (strtoint(edit20.text)*3600) + (strtoint(edit21.text)*60) + strtoint(edit22.text);
    x := x+y-(strtofloat(edit1.Text)*3600);
    edit19.Text := floattostr(x);
    form1.ActiveControl := edit19;
    end;

    Особенно старательный ковнокодер, умудрился растянуть на 30 строк то, что реально заняло у меня 8.
    ну я не говорю еще про большую описательную часть его кода.

    gorky, 15 Сентября 2009

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

    +91.8

    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
    /*Items text color & size */
    #horizontal-multilevel-menu li a,
    #horizontal-multilevel-menu li:hover li a,
    #horizontal-multilevel-menu li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li a
    {
    	color: black;
    }
    
    /*Items text color & size selected item*/
    #horizontal-multilevel-menu li.item-selected a,
    #horizontal-multilevel-menu li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.item-selected a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li.item-selected a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li.item-selected a
    {
    	color: #ffffff;
    }
    
    /*Items text color & size: hover*/
    #horizontal-multilevel-menu li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover a,
    #horizontal-multilevel-menu li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover a,
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover a
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover a
    #horizontal-multilevel-menu li:hover li:hover li:hover li:hover li:hover li:hover a,
    #horizontal-multilevel-menu li.jshover li.jshover li.jshover li.jshover li.jshover li.jshover a
    {
    	color: #ffffff;
    }

    во. супер. битрикс. css многоуровневого, рекурсивно формируемого меню (во всяком случае я так надеюсь). я его у них честно спиздил... и почти все переписал. ахтунг.

    gorky, 11 Сентября 2009

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

    +158.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (!isset($_GET["productID"]))
    {
    	if (isset($_POST["productID"]))
    	{
    		$productID = (int)$_POST["productID"];
    	}
    }
    else
    {
    	$productID = (int)$_GET["productID"];
    }

    Оттуда же

    gorky, 09 Сентября 2009

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

    +150.9

    1. 1
    2. 2
    3. 3
    4. 4
    function get_current_time() //get current date and time as a string
    {
    	return strftime("%Y-%m-%d %H:%M:%S", time());
    }

    апстену... про функцию date() люди не знали...
    старая версия WebAsyst Shop-Script

    gorky, 09 Сентября 2009

    Комментарии (16)
  10. JavaScript / Говнокод #1795

    +156.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
    function ChangeDisc(n, size, l_x, l_y, r_x, r_y)//а-а-а-а-а-а убейте меня
    {
        var disc_left = document.getElementById('sDisc1');
        var disc_right = document.getElementById('sDisc2');
        var disc_left_div = document.getElementById('sDisc1_div');
        var disc_right_div = document.getElementById('sDisc2_div');
        switch (size)
        {
            case 13:
                disc_left_div.style.paddingLeft = (l_x+3)+'px';
                disc_left_div.style.paddingTop = (l_y+2)+'px';
                disc_right_div.style.paddingLeft = (r_x+6)+'px';
                disc_right_div.style.paddingTop = (r_y+2)+'px';
                break;
            case 14:
                disc_left_div.style.paddingLeft = (l_x+1)+'px';
                disc_left_div.style.paddingTop = (l_y+1)+'px';
                disc_right_div.style.paddingLeft = (r_x+1)+'px';
                disc_right_div.style.paddingTop = (r_y+1)+'px';
                break;
            case 15:
                disc_left_div.style.paddingLeft = l_x+'px';
                disc_left_div.style.paddingTop = l_y+'px';
                disc_right_div.style.paddingLeft = r_x+'px';
                disc_right_div.style.paddingTop = r_y+'px';
                break;
            case 16:
                disc_left_div.style.paddingLeft = (l_x-2)+'px';
                disc_left_div.style.paddingTop = (l_y-2)+'px';
                disc_right_div.style.paddingLeft = (r_x-2)+'px';
                disc_right_div.style.paddingTop = (r_y-2)+'px';
                break;
            case 17:
                disc_left_div.style.paddingLeft = (l_x-3)+'px';
                disc_left_div.style.paddingTop = (l_y-4)+'px';
                disc_right_div.style.paddingLeft = (r_x-5)+'px';
                disc_right_div.style.paddingTop = (r_y-4)+'px';
                break;
            case 18:
                disc_left_div.style.paddingLeft = (l_x-5)+'px';
                disc_left_div.style.paddingTop = (l_y-5)+'px';
                disc_right_div.style.paddingLeft = (r_x-8)+'px';
                disc_right_div.style.paddingTop = (r_y-6)+'px';
                break;
            case 19:
                disc_left_div.style.paddingLeft = (l_x-8)+'px';
                disc_left_div.style.paddingTop = (l_y-8)+'px';
                disc_right_div.style.paddingLeft = (r_x-8)+'px';
                disc_right_div.style.paddingTop = (r_y-8)+'px';
                break;
            case 20:
                disc_left_div.style.paddingLeft = (l_x-10)+'px';
                disc_left_div.style.paddingTop = (l_y-10)+'px';
                disc_right_div.style.paddingLeft = (r_x-10)+'px';
                disc_right_div.style.paddingTop = (r_y-10)+'px';
                break;
        }
        disc_left.src = Images[n].src;
        disc_right.src = Images[n].src;
        scroll(0,0);
    }

    копипаста процветает... правильно, зачем структурировать код? проще так.

    gorky, 09 Сентября 2009

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