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

    0

    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
    // Функция определения мобильных браузеров
      public static function is_mobile(){
        $user_agent=strtolower(getenv('HTTP_USER_AGENT'));
        $accept=strtolower(getenv('HTTP_ACCEPT'));
       
        if ((strpos($accept,'text/vnd.wap.wml')!==false) || (strpos($accept,'application/vnd.wap.xhtml+xml')!==false)){
          return 1; // Мобильный браузер обнаружен по HTTP-заголовкам
        }
       
        if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])){
          return 2; // Мобильный браузер обнаружен по установкам сервера
        }
       
        if (preg_match('/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|'.
        'wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|'.
        'lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|'.
        'mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|'.
        'm881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|'.
        'r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|'.
        'i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|'.
        'htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|'.
        'sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|'.
        'p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|'.
        '_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|'.
        's800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|'.
        'd736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |'.
        'sonyericsson|samsung|240x|x320vx10|nokia|sony cmd|motorola|'.
        'up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|'.
        'pocket|kindle|mobile|psp|treo)/', $user_agent)){
          return 3; // Мобильный браузер обнаружен по сигнатуре User Agent
        }
       
        if (in_array(substr($user_agent,0,4),
          Array("1207", "3gso", "4thp", "501i", "502i", "503i", "504i", "505i", "506i",
          "6310", "6590", "770s", "802s", "a wa", "abac", "acer", "acoo", "acs-",
          "aiko", "airn", "alav", "alca", "alco", "amoi", "anex", "anny", "anyw",
          "aptu", "arch", "argo", "aste", "asus", "attw", "au-m", "audi", "aur ",
          "aus ", "avan", "beck", "bell", "benq", "bilb", "bird", "blac", "blaz",
          "brew", "brvw", "bumb", "bw-n", "bw-u", "c55/", "capi", "ccwa", "cdm-",
          "cell", "chtm", "cldc", "cmd-", "cond", "craw", "dait", "dall", "dang",
          "dbte", "dc-s", "devi", "dica", "dmob", "doco", "dopo", "ds-d", "ds12",
          "el49", "elai", "eml2", "emul", "eric", "erk0", "esl8", "ez40", "ez60",
          "ez70", "ezos", "ezwa", "ezze", "fake", "fetc", "fly-", "fly_", "g-mo",
          "g1 u", "g560", "gene", "gf-5", "go.w", "good", "grad", "grun", "haie",
          "hcit", "hd-m", "hd-p", "hd-t", "hei-", "hiba", "hipt", "hita", "hp i",
          "hpip", "hs-c", "htc ", "htc-", "htc_", "htca", "htcg", "htcp", "htcs",
          "htct", "http", "huaw", "hutc", "i-20", "i-go", "i-ma", "i230", "iac",
          "iac-", "iac/", "ibro", "idea", "ig01", "ikom", "im1k", "inno", "ipaq",
          "iris", "jata", "java", "jbro", "jemu", "jigs", "kddi", "keji", "kgt",
          "kgt/", "klon", "kpt ", "kwc-", "kyoc", "kyok", "leno", "lexi", "lg g",
          "lg-a", "lg-b", "lg-c", "lg-d", "lg-f", "lg-g", "lg-k", "lg-l", "lg-m",
          "lg-o", "lg-p", "lg-s", "lg-t", "lg-u", "lg-w", "lg/k", "lg/l", "lg/u",
          "lg50", "lg54", "lge-", "lge/", "libw", "lynx", "m-cr", "m1-w", "m3ga",
          "m50/", "mate", "maui", "maxo", "mc01", "mc21", "mcca", "medi", "merc",
          "meri", "midp", "mio8", "mioa", "mits", "mmef", "mo01", "mo02", "mobi",
          "mode", "modo", "mot ", "mot-", "moto", "motv", "mozz", "mt50", "mtp1",
          "mtv ", "mwbp", "mywa", "n100", "n101", "n102", "n202", "n203", "n300",
          "n302", "n500", "n502", "n505", "n700", "n701", "n710", "nec-", "nem-",
          "neon", "netf", "newg", "newt", "nok6", "noki", "nzph", "o2 x", "o2-x",
          "o2im", "opti", "opwv", "oran", "owg1", "p800", "palm", "pana", "pand",
          "pant", "pdxg", "pg-1", "pg-2", "pg-3", "pg-6", "pg-8", "pg-c", "pg13",
          "phil", "pire", "play", "pluc", "pn-2", "pock", "port", "pose", "prox",
          "psio", "pt-g", "qa-a", "qc-2", "qc-3", "qc-5", "qc-7", "qc07", "qc12",
          "qc21", "qc32", "qc60", "qci-", "qtek", "qwap", "r380", "r600", "raks",
          "rim9", "rove", "rozo", "s55/", "sage", "sama", "samm", "sams", "sany",
          "sava", "sc01", "sch-", "scoo", "scp-", "sdk/", "se47", "sec-", "sec0",
          "sec1", "semc", "send", "seri", "sgh-", "shar", "sie-", "siem", "sk-0",
          "sl45", "slid", "smal", "smar", "smb3", "smit", "smt5", "soft", "sony",
          "sp01", "sph-", "spv ", "spv-", "sy01", "symb", "t-mo", "t218", "t250",
          "t600", "t610", "t618", "tagt", "talk", "tcl-", "tdg-", "teli", "telm",
          "tim-", "topl", "tosh", "treo", "ts70", "tsm-", "tsm3", "tsm5", "tx-9",
          "up.b", "upg1", "upsi", "utst", "v400", "v750", "veri", "virg", "vite",
          "vk-v", "vk40", "vk50", "vk52", "vk53", "vm40", "voda", "vulc", "vx52",
          "vx53", "vx60", "vx61", "vx70", "vx80", "vx81", "vx83", "vx85", "vx98",
          "w3c ", "w3c-", "wap-", "wapa", "wapi", "wapj", "wapm", "wapp", "wapr",
          "waps", "wapt", "wapu", "wapv", "wapy", "webc", "whit", "wig ", "winc",
          "winw", "wmlb", "wonu", "x700", "xda-", "xda2", "xdag", "yas-", "your",
          "zeto", "zte-"))) {
            return 4; // Мобильный браузер обнаружен по сигнатуре User Agent
        }
       
        return false; // Мобильный браузер не обнаружен
      }

    Все те же адепты битрикса. Наслаждайтесь https://github.com/raVidok/bitrix/blob/master/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0% B8%2C%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D 1%8B/%D0%9E%D0%B1%D1%89%D0%B8%D0%B9%20%D0%BA% D0%BB%D0%B0%D1%81%D1%81%20%D1%81%20%D0%B F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D1 %81%D1%82%D1%8F%D0%BC%D0%B8/func.php

    P.S. С нетерпением ждем кодов 5, 6 и 7 :)

    Keeper, 03 Мая 2016

    Комментарии (46)
  2. PHP / Говнокод #19918

    0

    1. 1
    https://github.com/Londeren/Bitrix/blob/master/1C/bx_1c_import.php

    Копался в недраг гитхаба и наткнулся на простыня для импорта 1с для битрикса

    Keeper, 03 Мая 2016

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

    +7

    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
    using System;
    
    public class Test
    {
    	 private static void Main(string[] args)
            {
                int d = 2147483647;
    
                Console.WriteLine(d);
    
                long g = 2147483647+d;
    
                Console.WriteLine(g);
    
                long k = new MyClass() + new MyClass();
    
                Console.WriteLine(k);
            }
    
            public class MyClass
            {
                public static implicit operator int(MyClass m)
                {
                    return 5;
                }
    
                public static implicit operator long(MyClass m)
                {
                    return 100;
                }
            }
    }

    Типушня

    kegdan, 30 Апреля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(;++i <= n && std::cin >> a;)
    		if(a >= 1.0 && ++bigger && std::cout << i << ' ');
    		else
    			if(mx < a)
    				mx = a,
    				maxi = i;

    Решил сдать задачи на cf, в итоге выдавил из себя вот такой вот цикл.
    Очень лень было ставить скобочки.

    hoholok, 30 Апреля 2016

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

    +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
    public static long NormalizeIp(this long ip)
            {
                var ipAddress = new IPAddress(Math.Abs(ip)).ToString();
                return ipAddress.IpToLong();
            }
    
    
            static long IpToLong(this string ip)
            {
                double num = 0;
                if (!string.IsNullOrEmpty(ip))
                {
                    var ipBytes = ip.Split('.');
                    for (var i = ipBytes.Length - 1; i >= 0; i--)
                    {
                        num += ((int.Parse(ipBytes[i]) % 256) * Math.Pow(256, (3 - i)));
                    }
                }
    
                return (long)num;
    
            }

    Получаем IP вот таким вот методом - BitConverter.ToInt32(IPAddress.Parse(ip) .GetAddressBytes(), 0)
    Приводим к типу long (неявным методом, т.е. long a = ip_address) и в таком виде сохраняем в базу как bigint (int64)
    Затем берем его из базы и пытаемся провернуть с ним вот такой NormalizeIp
    Печаль (

    bopoh, 30 Апреля 2016

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

    −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
    Немного о пропертях
    
    "Лично мне свойства не нравятся и я был бы рад, если бы в Microsoft решили убрать
    их поддержку из .NET Framework и сопутствующих языков программирования."
    
    "Я считаю, что разработчики используют свойства намного чаще, чем следовало
    бы. Достаточно внимательно изучить список различий между свойствами и поля-
    ми, чтобы понять: есть очень немного ситуаций, в которых определение свойства
    действительно полезно, удобно и не запутывает разработчика. Единственная при-
    влекательная черта свойств — упрощенный синтаксис, все остальное — недостатки,
    в числе которых потеря в производительности и читабельности кода. Если бы я
    участвовал в разработке .NET Framework и компиляторов, я бы вообще отказался от
    свойств, вместо этого я предоставил бы разработчикам полную свободу реализации
    методов GetXxx и SetXxx. Позже создатели компиляторов могли бы предоставить
    особый упрощенный синтаксис вызова этих методов, но только при условии его
    отличия от синтаксиса обращения к полям, чтобы программист четко понимал, что
    выполняется вызов метода!"
    
    Джефри Рихтер

    Срач объявляется открытым

    kegdan, 29 Апреля 2016

    Комментарии (356)
  7. JavaScript / Говнокод #19902

    +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
    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
    if (aKeqboard[i][j] == 'Пробел') {
                            var sLang = storage.get("language");
                            sContent += '<td width="770" height="78" align="center"><div id="search_btn_' + (id++) + '" class="k_s_' + sLang + ' k_f k_c_b" style="color: transparent;" onclick=\"opacit(' + id + ');\"></div></td>';
                        }
                        else
    
                            if (aKeqboard[i][j] == 'ПробелENG') {
                                var sLang = storage.get("language");
                                sContent += '<td width="703" height="78" align="center"><div id="search_btn_' + (id++) + '" class="k_s_eng_' + sLang + ' k_f k_c_b" style="color: transparent;" onclick=\"opacit_ALE(' + id + ');\"></div></td>';
                            }
                            else
    
                                if (aKeqboard[i][j] == 'Shiftrus' || aKeqboard[i][j] == 'Shiftrusm' || aKeqboard[i][j] == 'Shifteng' || aKeqboard[i][j] == 'Shiftengm')
    
                                    sContent += '<td width="167" height="78" align="center"><div id="search_btn_' + (id++) + '" class="shift_' + sLang + '" style="color: transparent;" onclick=\"opacit(' + id + ');\"></div></td>';
    
                                else
    
                                    if (aKeqboard[i][j] == 'mShiftrus' || aKeqboard[i][j] == 'mShiftrusm' || aKeqboard[i][j] == 'mShifteng' || aKeqboard[i][j] == 'mShiftengm')
    
                                        sContent += '<td width="77" height="78" align="center"><div id="search_btn_' + (id++) + '" class="mshift" style="color: transparent;" onclick=\"opacit(' + id + ');\"></div></td>';
    
                                    else
    
                                        if (aKeqboard[i][j] == 'Eng')
    
                                            sContent += '<td width="123" height="78" align="center"><div id="search_btn_' + (id++) + '" class="eng_button" onclick=\"opacit(' + id + ');\"></div></td>';
    
                                        else
    
                                            if (aKeqboard[i][j] == 'Рус')
    
                                                sContent += '<td width="212" height="78" align="center"><div id="search_btn_' + (id++) + '" class="rus_button" onclick=\"opacit_ALR(' + id + ');\"></div></td>';
    
                                            else
    
                                                if (aKeqboard[i][j] == 'Рус2') {
                                                    if (this._statusEng == true) { sContent += '<td width="167" height="78" align="center"><div id="search_btn_' + (id++) + '" class="rus_button2_eng" onclick=\"opacit_ALABC(' + id + ');\"></div></td>'; }
                                                    else if (this._statusEng == false) { sContent += '<td width="167" height="78" align="center"><div id="search_btn_' + (id++) + '" class="rus_button2" onclick=\"opacit_ALR(' + id + ');\"></div></td>'; }
    
                                                }
    
                                                else
    
                                                    if (aKeqboard[i][j] == '.,?123') {
    
                                                        if (this._statusEng == true) { sContent += '<td width="167" height="78" align="center"><div id="search_btn_' + (id++) + '" class="digit123" onclick=\"opacit_ALDABC(' + id + ');\"></div></td>'; }
                                                        else if (this._statusEng == false) { sContent += '<td width="167" height="78" align="center"><div id="search_btn_' + (id++) + '" class="digit123" onclick=\"opacit_ALD(' + id + ');\"></div></td>'; }
                                                    }
    
                                                    else
    
    
                                                        if (aKeqboard[i][j] == ' ')
                                                            sContent += '<td width="0" height="78" align="center"><div id="search_btn_' + (id++) + '" class="k_s_' + sLang + ' k_f k_c_b" onclick=\"opacit(' + id + ');\" style="display: none;"></div></td>';
    
                                                        else
    
                                                            if (aKeqboard[i][j] == '...')
                                                                sContent += '<td width="75" height="78" align="center"><div id="search_btn_' + (id++) + '" class="k_s_' + sLang + ' k_f k_c_b" onclick=\"opacit(' + id + ');\" style="display: none;"></div></td>';
    
                                                            else
    
                                                                if (aKeqboard[i][j] == 'Стереть') {
                                                                    var sLang = storage.get("language");
                                                                    sContent += '<td width="120" height="78" align="center"><div id="search_btn_' + (id++) + '" class="k_b_' + sLang + ' k_f_del k_c_w" onclick=\"opacit(' + id + ' );\"></div></td>';
                                                                }
                                                                else
    
                                                                    if (aKeqboard[i][j].length > 1) {
                                                                        sContent += '<td width="167" height="70" align="center"><div id="search_btn_' + (id++) + '" class="k_b_green k_f k_c_w" onclick=\"opacit(' + id + ');\"></div></td>';
    
                                                                    }
                                                                    else {
                                                                        sContent += '<td width="80" height="70" align="center"><div id="search_btn_' + (id++) + '" class="k_v k_f k_c_b" onclick=\"opacit(' + id + ');\"></div></td>';
                                                                    }
                    }

    lorines, 29 Апреля 2016

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

    −10

    1. 1
    ХАБР ПОМЕР!

    d_fomenok, 29 Апреля 2016

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

    −2

    1. 1
    https://toster.ru/q/315470

    Деанон пидара без СМС.

    Vasiliy, 28 Апреля 2016

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

    +7

    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
    #include <iostream>
    
    using namespace std;
    
    class Foo {
    public:
        operator int() const {
            cout<<"1";
            return *this;
        }
    };
    
    int main() {
        Foo foo;
        int i = foo;
    
        cout<<i<<endl;
        return 0;
    }

    govnokod3r, 28 Апреля 2016

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