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

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

    +11.6

    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
    function SetFileAccessPermission($path, $arPermissions, $bOverWrite=true)
    	{
    		CMain::InitPathVars($site, $path);
    		$DOC_ROOT = CSite::GetSiteDocRoot($site);
    
    		if(strlen($path) <= 0)
    			$path="/";
    		if(($p = bxstrrpos($path, "/"))!==false)
    		{
    			$path_file = substr($path, $p+1);
    			$path_dir = substr($path, 0, $p);
    		}
    		else
    			return false;
    
    		if($path_file=="" && $path_dir=="")
    			$path_file = "/";
    
    		$PERM = Array();
    		if(file_exists($DOC_ROOT.$path_dir."/.access.php"))
    			@include($DOC_ROOT.$path_dir."/.access.php");
    		
    		$FILE_PERM = $PERM[$path_file];
    		if(!is_array($FILE_PERM))
    			$FILE_PERM=Array();
    
    		if(!$bOverWrite && count($FILE_PERM)>0)
    			return true;
    
    		$bDiff = false;
    
    		$str="<?\n";
    		foreach($arPermissions as $group=>$perm)
    		{
    			if(strlen($perm) > 0)
    				$str.="\$PERM[\"".$path_file."\"][\"".$group."\"]=\"".str_replace("\"", "\\\"", $perm)."\";\n";
    			if(!$bDiff && $FILE_PERM[$group]!=$perm)
    				$bDiff=true;
    		}
    
    		foreach($PERM as $file=>$arPerm)
    		{
    			if(strval($file) !==$path_file)
    				foreach($arPerm as $group=>$perm)
    					$str.="\$PERM[\"".$file."\"][\"".$group."\"]=\"".str_replace("\"", "\\\"", $perm)."\";\n";
    		}
    
    		if(!$bDiff)
    		{
    			foreach($FILE_PERM as $group=>$perm)
    				if($arPermissions[$group]!=$perm)
    				{
    					$bDiff==true;
    					break;
    				}
    		}
    
    		$str.="?".">";
    		
    		$this->SaveFileContent($DOC_ROOT.$path_dir."/.access.php", $str);
    		$GLOBALS["CACHE_MANAGER"]->CleanDir("menu");
    		unset($this->FILE_PERMISSION_CACHE[$site."|".$path_dir."/.access.php"]);
    		
    		if($bDiff)
    		{
    			$db_events = GetModuleEvents("main", "OnChangePermissions");
    			while($arEvent = $db_events->Fetch())
    				ExecuteModuleEvent($arEvent, Array($site, $path), $arPermissions);
    		}
    		return true;
    	}

    MegaLolnii bitrix
    самое смешное с 32 строчки

    guest, 23 Января 2009

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

    −55.5

    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
    for (ComplectationItemTO complectation : previewFullTO.getItemComplectations()) {
                for (Map.Entry entry : complectation.getInstances().entrySet()) {
                    if (entry.getKey().equals(SoundData.SOUND_COMPLECTATION_NAME)) {
    
                        SoundData soundData = getComplectationSoundData(complectation.getId(), previewFullTO);
                        soundsMap.put(complectation.getId(), soundData);
                    }
                }
            }
    
    
     private SoundData getComplectationSoundData(Long complectatiomId, PreviewFullTO previewFullTO) {
            for (ComplectationItemTO complectationSound : previewFullTO.getItemComplectations()) {
                if (complectationSound.getId().equals(complectatiomId)) {
                    for (Map.Entry entrySound : complectationSound.getInstances().entrySet()) {
                        if (entrySound.getKey().equals(SoundData.SOUND_LENGTH)) {
                            String soundLength = complectationSound.getInstances().get(SoundData.SOUND_LENGTH);
                            String soundData = complectationSound.getInstances().get(SoundData.SOUND_COMPLECTATION_NAME);
                            String productNumber = previewFullTO.getItemTO().getFeatureInstances().get("Product number");
                            String productRewritedName = previewFullTO.getItemTO().getProductTypeRewrited();
                            return new SoundData(soundData, productRewritedName, Long.valueOf(productNumber), soundLength);
                        }
                    }
                }
            }
            return null;
        }

    цикл в цикле и циклом погоняет

    guest, 20 Января 2009

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

    +32.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
    if ($content->num_of_subscribers == 1)
    	{
    		$icon_num = getExternalThemeFile("media/babble1-blue.png");
    	}
    	if ($content->num_of_subscribers == 2)
    	{
    		$icon_num = getExternalThemeFile("media/babble2-blue.png");
    	}
    	if ($content->num_of_subscribers == 3)
    	{
    		$icon_num = getExternalThemeFile("media/babble3-blue.png");
    	}
    	if ($content->num_of_subscribers == 4)
    	{
    		$icon_num = getExternalThemeFile("media/babble4-blue.png");
    	}
    	if ($content->num_of_subscribers == 5)
    	{
    		$icon_num = getExternalThemeFile("media/babble5-blue.png");
    	}
    	if ($content->num_of_subscribers == 6)
    	{
    		$icon_num = getExternalThemeFile("media/babble6-blue.png");
    	}
    	if ($content->num_of_subscribers == 7)
    	{
    		$icon_num = getExternalThemeFile("media/babble7-blue.png");
    	}
    	if ($content->num_of_subscribers == 8)
    	{
    		$icon_num = getExternalThemeFile("media/babble8-blue.png");
    	}
    	if ($content->num_of_subscribers == 9)
    	{
    		$icon_num = getExternalThemeFile("media/babble9-blue.png");
    	}
    	if ($content->num_of_subscribers == 10)
    	{
    		$icon_num = getExternalThemeFile("media/babble10-blue.png");
    	}
    	if ($content->num_of_subscribers > 10)
    	{
    		$icon_num = getExternalThemeFile("media/babble11-blue.png");
    	}

    И ведь не лень было копи-пэстить, а потом и цифорки менять :)

    guest, 19 Января 2009

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

    +34.2

    1. 1
    2. 2
    3. 3
    4. 4
    $this->errorMessage .= str_replace("#CHAR#", $sourceString[$i], "Can not find maching char \"#CHAR#\" in destination encoding table.");
    <skip>
    if(substr($str, 0, 5)=="<?"."php")
    <skip>

    Встретилось тут в битриксе 6.какой-то версии.
    Мысли по первой строке: "а что такое конкатенация, мы не знаем 0_о"...
    По второй: "а, не, что это такое мы знаем, только вот зачем это надо, не знаем".
    А вы говорите, 1с...

    guest, 16 Января 2009

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

    +32.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function Approve($user_id) {
       (int) $user_id ; 
     
       $q="UPDATE `users` SET approved = 1 WHERE user_id = $user_id";
    
     }

    гениальность преобразования типов

    guest, 15 Января 2009

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

    +24

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <? if ($mode=="structure") echo
    "<td class=\"under_hdr1\" align=\"center\">СТРУКТУРА БИБЛИОТЕКИ
    <p>Руководство</p>
    <table border=\"0\" width=\"100%\" cellpadding=\"2\" cellspacing=\"5\" class=\"gude_structure\">
    <td>Директор<td>
    <tr>
    <td><td>Кондрашова Валентина Георгиевна<br>конт.тел.:<br>адрес: ул. Московская 2 \"А\", комн. 424<br>Время работы: 09:00-18:00
    </table>
    <p>
    <table border=\"0\" width=\"100%\" cellpadding=\"2\" cellspacing=\"5\" class=\"gude_structure\">

    Дальше огромная куча текста в таком стиле

    guest, 13 Января 2009

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

    −15.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    graphics.DrawString(i.ToString(),
        ScaleFont,
        brush,
        LeftField - _arrowHeight - ScaleFont.Size * (i.ToString().Length / 1.2F),
        (Height - BottomField) - i * ScaleY * _gridStep - ScaleFont.Height / 2);

    Вычисление размера строки, вместо Graphics.MeasureString

    guest, 13 Января 2009

    Комментарии (4)
  9. SQL / Говнокод #381

    −1105

    1. 1
    $refsql = @mysql_query("SELECT id,username FROM qref WHERE type='Bonus' ORDER BY last LIMIT 1");

    обратите внимание на часть "ORDER BY last LIMIT 1"

    guest, 13 Января 2009

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

    −421.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    CREATE TABLE `shop` (
      `id` text NOT NULL,
      `name` text NOT NULL,
      `ball` text NOT NULL,
      `post` text NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    id - номер пользователя
    name - имя пользователя
    ball - количество баллов
    post - количество сообщений

    Успешно наговнокодено nod'ом...

    guest, 10 Января 2009

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

    +10.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
    // собственно заполнение
    for (i = pdir ? old_end_y : old_end_x; i != pdir ? (sel_end_y + gstep) : (sel_end_x + gstep); i++)
    {
      if (cells[pdir ? sel_x : i][pdir ? i : sel_y])
        freemem(cells[pdir ? sel_x : i][pdir ? i : sel_y]);
      if (is_arith)
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = ftoa(arith_first);
        arith_first += arith_step;
      }
      else
      {
      if (cells[sel_x][sel_y])
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = (char*)allocmem(strlen(cells[sel_x][sel_y]) + 1);
        strcpy(cells[pdir ? sel_x : i][pdir ? i : sel_y], cells[sel_x][sel_y]);
      }
    }

    Индус помешался на тернарной операции.

    guest, 31 Декабря 2008

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