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

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Dialog_view extends Controller {
    
        var $LutskZakarpatyeId = array('1225', '1233');
        var $respublicaKrim = '1229';
    
    ...
    
    }

    красота.

    shmaltorhbooks, 12 Февраля 2011

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

    +164

    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
    <?php
    function anti_hacker($txt){
    $txt=str_replace("|","I",$txt); 
    $txt=str_replace("../",",,/",$txt);
    $txt=str_replace("||","I",$txt);               
    $txt=str_replace("\"","",$txt);
    $txt=str_replace("\""," ",$txt);
    $txt=str_replace("/\\\$/","",$txt);
    $txt=str_replace("$","",$txt);          
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("@","",$txt);
    $txt=str_replace("`","",$txt);  
    $txt=str_replace("^","",$txt);
    $txt=str_replace("%","",$txt);
    $txt=htmlspecialchars($txt);  
    $txt=stripslashes(trim($txt));
    return $txt;}
    
    if(isset($_GET)){foreach($_GET as $key=>$value){$_GET[$key]=anti_hacker($value);}}
    if(isset($_POST)){foreach($_POST as $key=>$value){$_POST[$key]=anti_hacker($value);}}
    if(isset($_SESSION)){foreach($_SESSION as $key=>$value){$_SESSION[$key]=anti_hacker($value);}}
    if(isset($_COOKIE)){foreach($_COOKIE as $key=>$value){$_COOKIE[$key]=anti_hacker($value);}}

    Еще одну, не могу удержаться))) Тормоза - для трусов, array_map() для лохов!

    twin, 12 Февраля 2011

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

    +164

    1. 1
    2. 2
    RewriteRule ^tn_([0-9]*)x([0-9]*)_([a-z]+)_([0-9]*)_([0-9]+)_(.*)_([c]*)_([f]*)_([0-9]*).[a-z]*$ перенос
    /index.php?exception=imageModification&width=$1&height=$2&module=$3&id=$4&time=$5&name=$6&crop=$7&force=$8&query=$9&file_name=%{REQUEST_URI} [L]

    В .htaccess:
    Победа над ресайзом картинок. Чуваки еще не успели ощутить на себе всю мощь ананимуса

    ifeya, 10 Февраля 2011

    Комментарии (3)
  5. JavaScript / Говнокод #5613

    +164

    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
    aLength = V_Array.length;
    if(aLength == 1) { 
     if(V_Array[0][0]=='true'){
      document.MainListForm.list_DV[0].checked = true;
      document.MainListForm.list_NE[0].checked = true;
     }else{
      document.MainListForm.list_DV[0].checked = false;
      document.MainListForm.list_NE[0].checked = false;
     }
     if(V_Array[0][1]=='true'){
      document.MainListForm.list_DV[1].checked = true;
      document.MainListForm.list_NE[1].checked = true;
     }else{
      document.MainListForm.list_DV[1].checked = false;
      document.MainListForm.list_NE[1].checked = false;
     }
     if(V_Array[0][2]=='true'){
      document.MainListForm.list_DV[2].checked = true;
      document.MainListForm.list_NE[2].checked = true;
     }else{
      document.MainListForm.list_DV[2].checked = false;
      document.MainListForm.list_NE[2].checked = false;
     }
     if(V_Array[0][3]=='true'){
      document.MainListForm.list_DV[3].checked = true;
      document.MainListForm.list_NE[3].checked = true;
     }else{
      document.MainListForm.list_DV[3].checked = false;
      document.MainListForm.list_NE[3].checked = false;
     }
     return;
    }
    
    for (i = 0; i < aLength ; i++) {
     if(V_Array[i][0]=='true'){
      document.MainListForm[i].list_DV[0].checked = true;
      document.MainListForm[i].list_NE[0].checked = true;
     }else{
      document.MainListForm[i].list_DV[0].checked = false;
      document.MainListForm[i].list_NE[0].checked = false;
     }
     if(V_Array[i][1]=='true'){
      document.MainListForm[i].list_DV[1].checked = true;
      document.MainListForm[i].list_NE[1].checked = true;
     }else{
      document.MainListForm[i].list_DV[1].checked = false;
      document.MainListForm[i].list_NE[1].checked = false;
     }
     if(V_Array[i][2]=='true'){
      document.MainListForm[i].list_DV[2].checked = true;
      document.MainListForm[i].list_NE[2].checked = true;
     }else{
      document.MainListForm[i].list_DV[2].checked = false;
      document.MainListForm[i].list_NE[2].checked = false;
     }
     if(V_Array[i][3]=='true'){
      document.MainListForm[i].list_DV[3].checked = true;
      document.MainListForm[i].list_NE[3].checked = true;
     }else{
      document.MainListForm[i].list_DV[3].checked = false;
      document.MainListForm[i].list_NE[3].checked = false;
     }
    }

    типично китайский привет из реал лайф проект

    kuku, 09 Февраля 2011

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

    +164

    1. 1
    $update = !empty($id) and $id > 0;

    Вопреки ожиданиям автора, выражение $id > 0 вообще никогда не принимается во внимание.
    /* Ознакомьтесь с приоритетом операций */
    Сначала отработает $update = !empty($id)
    потом значение из $update будет сравниваться с $id > 0 и результат сравнения никуда не попадёт.

    Рекомендация: используйте && вместо оператора "and".

    zabuhailo, 09 Февраля 2011

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

    +164

    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
    function price($cost)
    {
       if($cost > 0)
       {
          $tmp = explode('.', $cost);
          $cost = $tmp[0];
    
          if($cost >= 1000 && $cost <= 9999)
          {
             $cost = substr($cost, 0, 1)." ".substr($cost, 1);
          }
          elseif($cost >= 10000 && $cost <= 99999)
          {
             $cost = substr($cost, 0, 2)." ".substr($cost, 2);
          }
          elseif($cost >= 100000 && $cost <= 999999)
          {
             $cost = substr($cost, 0, 3)." ".substr($cost, 3);
          }
          $cost .= ' руб.';
       }
       else $cost = '';
    
       return $cost;
    }

    Вывод цены в форматированном виде) Ну да, зачем использовать автоформат по локализации, лучше поговнокодить)

    greevex, 08 Февраля 2011

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

    +164

    1. 1
    i = j ? k : l = m;

    опять же с форума wasm.ru... пол дня объяснял почему с++ компилятор трактует это выражение как i = j ? k : (l = m), а никак по-другому... не пишите такую чушь никогда)

    ReL, 07 Февраля 2011

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

    +164

    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($i=0;$i<count($ads_garage);$i++){
    switch($ads_garage[$i]['adv_type']){
      case "buy":
        $adv_type='покупка';
      break;
      case "sell":
        $adv_type='продажа';  
      break;
      case "exchange":
        $adv_type='обмен';
      break;
      case "lease":
        $adv_type='аренда';  
      break;
      case "rent":
        $adv_type='прокат';  
      break;
      case "candidate":
        $adv_type='кандидатура';  
      break;
      case "vacancy":
        $adv_type='вакансия';  
      break;
      case "":
        $adv_type='-';
      break;
    }

    тут такого ещё наверно не было

    DrFreez, 06 Февраля 2011

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

    +164

    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
    if ((AnalysisType == 0) || (!m_UseExtraInfo)) {
    	o1 = o2 = -1;
    	do {
    		fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    		if ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0))) {
    			o2 = o1; o1--; FFcnt = 1;
    			do {
    				fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    				if ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0)))
    					FFcnt++;
    				o1--;
    			}
    			while ((Buf[0] == 0xFF) || ((Buf[0] == 0x7F) && (AnalysisType == 0)));
    			if ((FFcnt == 71) || (FFcnt == 73)) PosTavern = o2;
    			if ((PosCheater == -1) && (FFcnt > 50)) {
    				PosCheater = o2; fseek(F, o2, SEEK_END);
    				do {
    					Buf[0] = fgetc(F);
    					if (Buf[0] != 0x00) PosCheater++;
    				}
    				while (Buf[0] != 0x00);
    			}
    		}
    		else o1--;
    	}	
    	while ((o1 > -sz) &&
    		   (((AnalysisType == 1) && (PosTavern ==  -1)) ||
    		    ((AnalysisType == 0) && (PosCheater == -1))));
    }
    else {
    	o1 = o2 = -200;
    	oFFcnt = -1;
    	do {
    		fseek(F, o1, SEEK_END);
    		Buf[0] = fgetc(F); Buf[1] = fgetc(F);
    		if ((Buf[0] == HL) && (Buf[1] == HR)) {
    			o2 = o1 + 86;
    			FFcnt = 0;
    			do {
    				fseek(F, o2, SEEK_END);
    				Buf[0] = fgetc(F);
    				if (Buf[0] == 0xFF) {
    					FFcnt++; o2--;
    				}
    			}
    			while (Buf[0] == 0xFF);
    			if ((oFFcnt == -1) || (abs(72 - FFcnt) < abs(72 - oFFcnt))) {
    				PosTavern = o1; oFFcnt = FFcnt;
    			}
    		}
    		o1--;
    	}
    	while (o1 > -sz);
    	if (PosTavern != -1)
    		PosTavern = PosTavern + 86 + 0x91 * (7 - PN);
    
    	if (m_ChangeHeroes && ((HL_new >= 0) || (HR_new >= 0))) {
    		o1 = o2 = -1;
    		do {
    			fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    			if ((Buf[0] == 0xFF) || (Buf[0] == 0x7F)) {
    				o2 = o1; o1--; FFcnt = 1;
    				do {
    					fseek(F, o1, SEEK_END); Buf[0] = fgetc(F);
    					if ((Buf[0] == 0xFF) || (Buf[0] == 0x7F)) FFcnt++;
    					o1--;
    				}
    				while ((Buf[0] == 0xFF) || (Buf[0] == 0x7F));
    				if (FFcnt > 50) {
    					PosCheater = o2; fseek(F, o2, SEEK_END);
    					do {
    						Buf[0] = fgetc(F);
    						if (Buf[0] != 0x00) PosCheater++;
    					}
    					while (Buf[0] != 0x00);
    				}
    			}
    			else o1--;
    		}	
    		while ((o1 > -sz) && (PosCheater == -1));
    	}
    }

    Кустарно-мистический анализатор сейвов для Героев 3.
    Так я писал пять с половиной лет назад...

    Kirinyale, 05 Февраля 2011

    Комментарии (12)
  11. C++ / Говнокод #5530

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Parent{
      int class_id;
      union Children{
         ClassA   classA;
         ClassB   classB;
         .....
      }
    }

    Найдено на просторах Интернета.

    Говногость, 04 Февраля 2011

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