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

    +164.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
    function Parser($html,$safelevel=1,$censored=false,$typo=true,$crop=0)
    {
    /* v2
        # 17/10/01
        
        html        обезапасиваемая строка
        safelevel   указывает разрешенные теги:       0 = все разрешены
                                                      1 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR,INPUT,FORM,TEXTAREA,SCRIPT
                                                      2 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR
                                                      3 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN
                                                      4 = B,I,U,FONT,CENTER,IMG,A
                                                      5 = B,I,U,IMG,A
                                                      6 = B,I,U,IMG
                                                      7 = B,I,U,A
                                                      8 = IMG,A
                                                      9 = B,I,A
                                                     10 = I,A
                                                     11 = A
                                                     12 = никакие
                                               "STRING" = указать самому (в формате <a><b><c>)
        censored    пропускать-ли через цензор
        typo        пропускать-ли через сраный типограф
    */  
    
        # обезопасиваем
        switch ($safelevel)
        {
            case 0: $return =       $html; break;
            case 1: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr><input><form><textarea><script>"); break;
            case 2: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr>"); break;
            case 3: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span>"); break;
            case 4: $return =       strip_tags($html,"<b><i><u><font><center><img><a>"); break;
            case 5: $return =       strip_tags($html,"<b><i><u><img><a>"); break;
            case 6: $return =       strip_tags($html,"<b><i><u><img>"); break;
            case 7: $return =       strip_tags($html,"<b><i><u><a>"); break;
            case 8: $return =       strip_tags($html,"<img><a>"); break;
            case 9: $return =       strip_tags($html,"<b><i><a>"); break;
            case 10: $return =      strip_tags($html,"<i><a>"); break;
            case 11: $return =      strip_tags($html,"<a>"); break;
            case 12: $return =      strip_tags($html); break;
            default: $return=addslashes($return); break;
        }
        
        
        
        # если censored=true, то цензорим все, сносим хуи и пёзды.
         # upd: к сожалению, цензор, спизженый где-то в сети, оказался корявым и мы временно будем читать мат.
        if ($censored==false)
        {
            $return=str_replace("!!!!!!!!!!","! я идиот, убейте меня кто нибудь !",$return);
            $return=str_replace("))))))))))","! я идиот, убейте меня кто нибудь !",$return);
        }
        
        # если typo=true то обрабатываем сраным типографом
        if ($typo==true)
        {
            $typog = new Typographus();
            $return = $typog->process($return);
        }
    
         if ($crop!=0)
         {
              $return = CropString($crop,$return);
         }
    
        return $return;
    }

    getrix, 11 Ноября 2009

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

    +68.4

    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
    char rc;
    ...
    bool ResourceManager()
    {
    	static TResourceRC r;
    	...
    	delete r;
    	...
    	r=new TResourceRC(rc);
    	...
    	return true;
    	assert(false);
    };
    ...

    От предков проект достался. Я думал, чего он переодически необьяснимо глючит...
    ResourceManager() - вызываеться регулярно в цикле.

    Говногость, 11 Ноября 2009

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

    +73.7

    1. 1
    2. 2
    3. 3
    #include <math.h>
     ...
    result = (thisCos ? cos : sin)(3.140);

    Знакомый программист прислал из своего проекта.

    Говногость, 10 Ноября 2009

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

    +146.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?if (count($arResult["ERRORS"])):?>
    	<?=ShowError(implode("<br />", $arResult["ERRORS"]))?>
    <?endif?>
    
    <?if (strlen($arResult["MESSAGE"]) > 0):?>
    	<?=ShowNote($arResult["MESSAGE"])?>
    <?endif?>

    уже глаза разрывает от этого классного форматирования

    y6uTbIu_CMEXOM, 10 Ноября 2009

    Комментарии (20)
  5. C# / Говнокод #2119

    +95.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    static bool EqStr(string s)
    {
                Regex r = new Regex(@"STRING");
                Match m = r.Match(s);
                if (m.Success == true) return true;
                else return false;
    }

    Изощренный способ сравнивать строки :)

    psina-from-ua, 10 Ноября 2009

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    public string generateEMail()
    		{
    			string res;
    			int i = PersonName.IndexOf(" ");
    			char[] str1 = new char[i];
    			PersonName.CopyTo(0, str1, 0, i);
    			string str11 = new string(str1);
    			char[] str2 = new char[PersonName.Length - i - 1];
    			PersonName.CopyTo(i + 1, str2, 0, PersonName.Length - i - 1);
    			string str22 = new string(str2);
    			res = str11.ToString() + "." + str22.ToString();
    			if (res.Length > 20)
    			{
    				str1 = new char[20];
    				res.CopyTo(0, str1, 0, 20);
    				res = new string(str1);
    			}
    			res += "@domain.ua";
    			return res;
    		}

    Вот вам шаблон для получения емейла из имени и фамилии сотрудника.

    Woonder, 10 Ноября 2009

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

    −854.3

    1. 1
    2. 2
    -- I found table with 20 millions rows, that nobody read just add new rows again and again :(
    -- table size was 1 GB.

    Я описал в коде.

    bugotrep, 10 Ноября 2009

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

    +150.3

    1. 1
    echo $a < 10 ? "0{$a}" : $a;

    крутой способ форматирования чисел :D

    greevex, 09 Ноября 2009

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

    +123.7

    1. 1
    Request.QueryString["outer_email"] = null;

    Это я намерил на несколько места :)

    bugotrep, 09 Ноября 2009

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

    +148.3

    1. 1
    2. 2
    3. 3
    4. 4
    $cnt2 = $db->get_rows("select count(*) from `".TABLE_PRODUCTS."` where `id`='".intval($s_id)."'");
    if ($cnt2[0]['count(*)']) {
         //...
    }

    Это писец.

    aerowave, 09 Ноября 2009

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