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

    +168

    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
    function getCurrentDate(){
            $vDate = '';
            $vFullDate = getdate();	
        //print_r($vFullDate);
            if ($vFullDate['mon']<10) $vFullDate['mon']='0'.$vFullDate['mon'];
            $vDay = $vFullDate['mday'];
            $vMon = $vFullDate['mon'];
            $vYear = $vFullDate['year']; 
            $vWDay = $vFullDate['wday'];
            $vVYear = (date("L"));		
            if (($vDay == 30) && ($vMon == 4)) {
                $vDate = '04.05.'.$vYear; 
                return $vDate;
            }
            if (($vDay == 8) && ($vMon == 5)) {
                $vDate = '11.05.'.$vYear; 
                return $vDate;
            }
    
    if (($vDay==30) && (in_array($vMon,$this->mTMon))) {
                $vMon++;
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vDay = 1;
            }
            elseif ($vDay==31) {
                $vDay =1;
                $vMon ++;
                if ($vMon<10) {
                    $vMon = '0'.$vMon;
                }
            }
            elseif (($vDay==31)&& ($vMon==12)){
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vMon = 1;
                $vYear ++;
            }
            elseif ($vWDay == 5) {
                $vDay=$vDay+3;
            }
            else {
                $vDay++;
            }
            if ($vDay < 10) {
                $vDay = '0'.$vDay;
            }
            if ($vMon < 10) {
                $vMon = '0'.$vMon;
            }
            
    $vDate = $vDay.'.'.$vMon.'.'.$vYear; 
    	if ($vDate == '12.06.2009') {
    	    $vDate = '15.06.2009';
    	}
            
            return $vDate;
        }

    Так получилось, что мне приходится часто смотреть на чужой код. В этом случае сотрудники одного отдела, выдающего справки (число в справке должно быть на 3 дня больше текущего) пожаловались мне, что форма выдает справки обычно нормально и они даже смирились, когда у месяца появляется 31-е число, но тут появилось вдруг 32-е и они забеспокоились.
    Полез - увидел - поржал - заменил одной строчкой date('d.m.Y',strtotime("+3 days"));

    g00d, 20 Февраля 2011

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

    +146

    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
    using System;
    
    class Popovkin
    {
        static void Main()
        {
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.BackgroundColor = ConsoleColor.Gray;
            Console.WriteLine("Привет, баребухи! Я Ромик Будин!");
            Console.WriteLine("Уже " + DateTime.Now);
            Console.WriteLine("Нажмите Ентер!");
            Console.ReadLine();
            Console.ForegroundColor = ConsoleColor.Green;
            Console.BackgroundColor = ConsoleColor.Black;
            Console.Clear();
            for (int e = 1; e < 1200000; e++)
            {
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.BackgroundColor = ConsoleColor.White;
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                for (int i = 0; i < 2; i++)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    for (int q = 0; q < 2; q++)
                    {
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.WriteLine("Hello Popovkin!!!");
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.BackgroundColor = ConsoleColor.Red;
                    }
                }
            }
            Console.ReadLine();
        }
    }

    111111, 19 Февраля 2011

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

    +136

    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
    static int getDns(int eid, webs_t wp, int argc, char_t **argv)
    {
            //....тут были еще переменные...
            int type, idx = 0, req = 0;
    
            if (ejArgs(argc, argv, T("%d"), &type) == 1) {
                    if (1 == type)
                            req = 1;
                    else if (2 == type)
                            req = 2;
                    else
                            return websWrite(wp, T(""));
            }
            //...дальше операции с req...
    }

    Такой вот китайский код демона goahead, пользуемого в embedded железяках...

    NiTr0man, 19 Февраля 2011

    Комментарии (10)
  4. Си / Говнокод #5721

    +141

    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
    #define N2(n)   #n"0",#n"1",#n"2",#n"3",#n"4",#n"5",#n"6",#n"7",#n"8",#n"9"
    #define N30(n)  #n N2(),#n N2(1),#n N2(2),#n N2(3),#n N2(4),#n N2(5),#n N2(6),#n N2(7),#n N2(8),#n N2(9)
    #define N3(n,k) #n#k"0",#n#k"1",#n#k"2",#n#k"3",#n#k"4",#n#k"5",#n#k"6",#n#k"7",#n#k"8",#n#k"9"
    #define N4(k)   N3(k,0),N3(k,1),N3(k,2),N3(k,3),N3(k,4),N3(k,5),N3(k,6),N3(k,7),N3(k,8),N3(k,9)
    #define N5      N30(),N4(1),N4(2),N4(3),N4(4),N4(5),N4(6),N4(7),N4(8),N4(9)
    
    const char s[][4]={N5};
    const int s_size = sizeof(s)/sizeof(s[0]);
    void print_number(int n) {
        if (n<s_size) {
            printf("!%s\n",s[n]);
        }
        else {
            printf("?%d\n",n);
        }
    }

    Отсылка к #3376 http://govnokod.ru/3376
    Вопрос к общественности: что бОльший говнокод, >100 строк строковых констант или 5-строчный пассаж на макросах?

    xredor, 19 Февраля 2011

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

    +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
    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
    if ($_GET[action] == "avatar") {
    
    
    	if ($info = $_GET[info]) {
    
    			if ($info[avatar]) {
    				echo $info[avatar];
    			} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);
    			}
    	} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);	
    	}
    
    }

    Вот такое говнецо встретилось))

    Sulik78, 19 Февраля 2011

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

    −260

    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:int = 0; i < _clubWidth; i++){
    		for (var j:int = 0; j < _clubLength; j++){
    			if (_matrix[i][j] != null && _matrix[i][j].isDanceFloor)
    			val.push(new Point(2 * i, 2 * j), new Point(2 * i + 1, 2 * j), 
    								new Point(2 * i + 2, 2 * j), new Point(2 * i + 3, 2 * j), 
    								new Point(2 * i, 2 * j + 1), new Point(2 * i + 1, 2 * j + 1), 
    								new Point(2 * i + 2, 2 * j + 1), new Point(2 * i + 3, 2 * j + 1), 
    								new Point(2 * i, 2 * j + 2), new Point(2 * i + 1, 2 * j + 2), 
    								new Point(2 * i + 2, 2 * j + 2), new Point(2 * i + 3, 2 * j + 2), 
    								new Point(2 * i, 2 * j + 3), new Point(2 * i + 1, 2 * j + 3), 
    								new Point(2 * i + 2, 2 * j + 3), new Point(2 * i + 3, 2 * j + 3));
    		}
    	}

    satansdeer, 19 Февраля 2011

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

    +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
    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
    <?
        $id = isset($_GET['id']) ? (int)$_GET['id']: false;
        if(!isset($_GET['id'])){echo "Right";}
        elseif(!(int)($_GET['id'])){echo "The id does not exist";}else{
        $id = mysql_real_escape_string($_GET['id']);      }
        $sql = "SELECT * FROM `users` WHERE `id` = '$id'";
        $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
        
        while ($row = mysql_fetch_assoc($result)){
            Echo $row['name'];
            Echo $row['surname'];
        }
        
        # вывод рейтинга <<<
        
         // в этот запрос передаем id пользователя, полученный на предыдущем этапе
        $query = mysql_query("SELECT * FROM test WHERE id={$row['id']}");
     
        $info = mysql_fetch_assoc($query); // $info содержит рейтинг *одного* пользователя
        $rating = (int)$info[rating];
    ?>
    
    <table border="0" width="135" cellspacing="0" cellpadding="0" height="21">
        <tr>
            <td id="rating_<?php echo $info[id]; ?>" style="width: 88px; height: 21px">
                <span class="star_1"><img src="star_blank.png" alt="" <?php if($rating > 0) { echo"class='hover'"; } ?> /></span>
                <span class="star_2"><img src="star_blank.png" alt="" <?php if($rating > 1.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_3"><img src="star_blank.png" alt="" <?php if($rating > 2.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_4"><img src="star_blank.png" alt="" <?php if($rating > 3.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_5"><img src="star_blank.png" alt="" <?php if($rating > 4.5) { echo"class='hover'"; } ?> /></span>
            </td>
            <td class="floatleft" width="46" align="left">
                (<?php echo $info[rating]; ?>)
            </td>
        </tr>
    </table>

    qbasic, 19 Февраля 2011

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $query = "SELECT id, idTovar FROM $table";
     $res = mysql_query_assoc($query) or die(mysql_error());
     foreach ($res as $id => $idTovar) 
      {
       $idTovar_array = explode(",", $idTovar);
       if($key = array_search($delete, $idTovar_array))
         unset($idTovar_array[$key]);
       $idTovar1 = implode(",", $idTovar_array);
       if ($idTovar==$idTovar1);
       else
       mysql_query("UPDATE $table SET idTovar = '$idTovar' WHERE id = '$id'");
      }

    qbasic, 19 Февраля 2011

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

    +167

    1. 1
    $new = preg_replace("/((\[{1}[^\[\]]+\]{1})|(\[{1}\]{1}))/", "", $a);

    метод тыка.... зато работеат

    Sulik78, 18 Февраля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    } elseif ($go == 4) {
    	include("function/no-cache.php");
    	include("config/config_uploads.php");
    	switch($go) {
    		default:
    		$con = explode("|", $confup[$mod]);
    		upload(2, "uploads/".$mod."", $con[0], $con[2], $mod, $con[3], $con[4]);
    		break;
    	}
    }

    http://www.slaed.net/files-view-1103.html

    111111, 18 Февраля 2011

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