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

    +163

    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
    <h4 class="red">Security</h4>
    <p>This is to stop automated scripts completing the form at random.</p>
    <div class="applysection">
    	<table>
    		<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td width="40%">&nbsp;</td>
    		</tr>
    		<tr>
    			<th>What is the total <br />
    		    of 4 plus 4?</th>
    			<td><input type="text" id="Human" name="Human" class="required" /></td>
    			<td class="helptext">please answer numerically. i.e.: 6 or 3 etc.</td>
    		</tr>
    		<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td width="40%">&nbsp;</td>
    		</tr>
    	</table>
    </div>
    
    ......... и где-то в недрах подключаемого JS проверяем.....
    
    function isValidHuman(sHuman) { return sHuman == 8 }

    КАПЧА!!!!
    сейчас мы это уже исправили так что без ссылки, но локально осталось это произведение.

    Alfred, 12 Августа 2010

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

    +143

    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
    function changeAlign() {
    try {
    		for(var i = 0; i < document.getElementById("tariff_content").getElementsByTagName("table").length; i++) {
    			if(document.getElementById("tariff_content").getElementsByTagName("table")[i].className == "common") {
    				document.getElementById("tariff_content").getElementsByTagName("table")[i].removeAttribute("cellPadding"); 
    				document.getElementById("tariff_content").getElementsByTagName("table")[i].removeAttribute("cellSpacing");
    				if(document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].cells[0].className != "header"){
    					var firstTDCount = 0;
    					for(var z = 0; z < document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].cells.length; z++) {
    						firstTDCount = firstTDCount + (document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].cells[z].colSpan);
    					}
    					document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].insertRow(0);
    					for(var j = 0; j < firstTDCount; j++) {
    						document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].insertCell(j);
    						document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].cells[j].className = "header";
    							document.getElementById("tariff_content").getElementsByTagName("table")[i].tBodies[0].rows[0].cells[j].innerText = " "; 
    					}
    				}				
    				for(var j = 0; j < document.getElementById("tariff_content").getElementsByTagName("table")[i].rows.length; j++) {
    					for(var k = 0; k < document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells.length; k++) {
    						if( 
    							 (document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells.length > 1) && (k != 0) 
    						   	 && (document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].className != "header")
    						   ) 
    						{
    							if(document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k - 1].rowSpan == 1) {
    								document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].style.textAlign = "right";
    								//document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].style.backgroundColor = "red";
    							}
    							if(document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].colSpan == 2) {
    								document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].style.textAlign = "center";
    							}
    							if(document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].style.width == "60px") {
    								//document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].style.backgroundColor = "red";
    								document.getElementById("tariff_content").getElementsByTagName("table")[i].deleteRow(j);
    								break;
    								//document.getElementById("tariff_content").getElementsByTagName("table")[i].rows[j].cells[k].style.width = "";
    							}
    						}
    					}
    				}
    			}
    		}				
    } catch(e) {}	
    return false;	
    }

    http://www.mts.ru/upload/images/script/js.js

    Lure Of Chaos, 12 Августа 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function insertOpenTable() {
    	return "<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\" class=\"footnote\">";
    }
    
    function insertCloseTable() {
    	return "</table>";
    }

    http://www.mts.ru/upload/images/script/js.js

    Lure Of Chaos, 12 Августа 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function hasclass(e,c){
    has=false
    for(i=0;i<e.className.split(' ').length;i=i+1)
    if( e.className.split(' ')[i]=== c) has= true;
    if(has==true){return true;}else{return false;}
    }

    В лучших традициях говнокода. Оригинальное форматирование сохранено.

    eval, 11 Августа 2010

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

    +114

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(id==1) {
    			voteCount1 = Number(vote);
    		} else if(id==2) {
    			voteCount2 = Number(vote);
    		} else if(id==3) {
    			voteCount3 = Number(vote);
    		} else if(id==4) {
    			voteCount4 = Number(vote);
    		} else if(id==5) {
    			voteCount5 = Number(vote);
    		}

    Vasiliy, 09 Августа 2010

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

    +158

    1. 1
    2. 2
    $('div.contain p ~ a[href$="jpg"]').attr('id', 'linker');
    document.getElementById('linker').style.color = 'green';

    eval, 07 Августа 2010

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

    +156

    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
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    [...]
        YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
    	if (ymap_canmark) {
    	var newtip = mapAddTip('Новая метка', '');
    	newtip.setGeoPoint(mEvent.getGeoPoint());
            newtip.openBalloon();
            newtip.closeBalloon();
    	}    
        }, map);
    [...]
    
    function mapAddTip(head, body) {
        var olay = new YMaps.Placemark(map.getCenter(), {draggable: true});
    	
        olay.isfirstlaunch = 1;
    	
        tip_links++;
        olay.edlink = tip_links;
    
        tip_dbids++;
        olay.dbid = tip_dbids;
    		
        olay.setBalloonContent("<div id='hdr-"+tip_links+"' style='font-weight:bold;'>"+head+"</div><div id='txt-"+tip_links+"'>"+
    	body+"</div><!--<div id='edit-link-"+tip_links+"'><br>[ <a href='#'>Редактировать</a> ]</div>-->");
    		
        olay.setIconContent(head);
    		
        YMaps.Events.observe(olay, olay.Events.BalloonOpen, function () {		
    	if (olay.isfirstlaunch > 0) {
        	    YMaps.jQuery('#edit-link-' + olay.edlink).bind('click', function() { EditTip(olay, this) });
    	    if (olay.isfirstlaunch == 1) { dbAddTip(olay); } 
    	    olay.isfirstlaunch = 0;
            }}, map);
    	
        YMaps.Events.observe(olay, olay.Events.BalloonClose, function () {		
    	olay.setIconContent(GetTipHead(olay));
        }, map);
    
        YMaps.Events.observe(olay, olay.Events.DragStart, function () {		
    	var ddiv = document.createElement('div');
            ddiv.style.position = 'absolute';
            var pel = document.getElementById('ui-view');
            ddiv.style.left = parseInt(pel.style.left) + parseInt(pel.style.width) - 235;
            ddiv.style.top = pel.offsetTop+5;
            ddiv.style.zIndex = '10000001';
            ddiv.style.padding = '0px';		
            ddiv.style.margin = '0px';
            ddiv.style.color = 'gray';
            ddiv.style.fontSize = '10px';
            ddiv.setAttribute('id', 'drag-coords');
            document.body.appendChild(ddiv);
        }, map);
    
        YMaps.Events.observe(olay, olay.Events.Drag, function () {		
            YMaps.jQuery('#drag-coords').html('x='+olay.getGeoPoint().getX()+'; y='+olay.getGeoPoint().getY());
        }, map);		
    
        YMaps.Events.observe(olay, olay.Events.DragEnd, function () {		
    	YMaps.jQuery('#drag-coords').remove();
            if (olay.isfirstlaunch != 1) { olay.openBalloon(); dbSaveTip(olay); olay.closeBalloon(); }
        }, map);
    
        map.addOverlay(olay);
        return olay;
    }
    
    function dbAddTip(tip) { /* [...] */
    try {
    var test = document.getElementById("m_id");
    test.setAttribute("test", "success");
    if (test.getAttribute("test") == "success") {
    
    try {
    var t_id = document.getElementById("m_id").value;
    var t_x = tip.getGeoPoint().getX();
    var t_y = tip.getGeoPoint().getY();
    var t_head = GetTipHead(tip);
    var t_body = GetTipBody(tip);
    
    var XmlHttp = newXmlHttp();
    XmlHttp.open("GET", maps_cgi+"?tip=new"+t_id+"&x="+t_x+"&y="+t_y+"&head="+t_head+"&body="+t_body, false);
    XmlHttp.send(null);
    test.parentNode.removeChild(test);
    } catch (e) {}
    
    }
    } catch (e) { }
    }
    
    function GetTipBody(tip) { return YMaps.jQuery('#txt-'+tip.edlink).html(); }
    function GetTipHead(tip) { return YMaps.jQuery('#hdr-'+tip.edlink).html(); }
    
    function dbSaveTip(tip) { 
    /*
    [...]
    */
    }

    Почти шедевральне :D http://www.virtual.donetsk.ua/serv/maps.js

    kainwinterheart, 07 Августа 2010

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

    +157

    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
    switch(resp.error_code)
    			{
    				case 0:
    				{
    					new URI('/account/success/').go();
    					return;
    				}
    				case BAD_CAPTCHA:
    				{					
    					var c = $('fRegistration').getElement(".captcha");
    					c.innerHTML = '<br />' + resp.error_message;
    					break;
    				}
    				case BAD_EMAIL:
    				{
    					var c = $('fRegistration').getElement(".email");
    					c.innerHTML = '<br />' + resp.error_message;
    					break;
    				}
    				case BAD_PASSWORD:
    				{
    					var c = $('fRegistration').getElement(".passwd");
    					c.innerHTML = resp.error_message + '<br />';
    					break;
    				}
    				case BAD_AGREEMENT:
    				{
    					var c = $('fRegistration').getElement(".agreement");
    					c.innerHTML = resp.error_message + '<br />';
    					break;
    				}
    				default:
    				{
    					var c = $('fRegistration').getElement(".other_errors");
    					c.innerHTML = resp.error_message + '<br />';
    					break;
    				}
    			}

    Классно, да?
    Особенно интересно то, что используется фреймворк mootools и не используются его функции :)

    $$('#fRegistration .other_errors")[0].set('html', resp.error_message + '<br />');

    Вообще считаю избыточным передавать и код и строку ошибки

    rudolff, 06 Августа 2010

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

    +149

    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
    //Server errors
    var BAD_REQUEST = 400; 			//Неверный запрос
    var UNAUTHORIZED = 401; 			//Authentication Required
    var METHOD_NOT_ALLOWED = 405; 		//Метод не поддерживается
    var SERVICE_UNAVAILABLE = 503; 	//Сервис недоступен
    
    //User errors
    var UNKNOWN_ERROR = 1000; 			//Неизвестная ошибка
    var BAD_PARAMETERS = 1001; 		//Неверные параметры запроса
    var BAD_LOGIN = 1002; 				//Неверный логин
    var BAD_VERSION = 1003; 			//Неверна задана версия
    var AUTHENTICATION_ERROR = 1004; 	//Ошибка аутентификации
    var NO_SUCH_RECORD = 1005; 		//Запись не найдена (например, при попытке удалить несуществующий контакт будет выдана данная ошибка)
    
    
    var BAD_CONTACT_ID = 2000; 		//Неверный ID контакта
    var REV_GET_FAILED = 2001; 		//Ошибка получения ревизии
    
    var BAD_CAPTCHA = 3000;
    var BAD_EMAIL = 3001;
    var BAD_PASSWORD = 3002;
    var BAD_AGREEMENT = 3003;
    var BAD_IPPORT_ID = 3004;
    var BAD_ACTIVATION_ID = 3005;

    Очень здорово и удобно объявлять константы(и др. объекты) в общей области видимости!

    rudolff, 05 Августа 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    var s = '';
    	s += (hours)  ? ( (hours>9)  ? hours  + ':' : '0' + hours  + ':') : '00:';
    	s += (minute) ? ( (minute>9) ? minute + ':' : '0' + minute + ':') : '00:';
    	s += (second) ? ( (second>9) ? second + '.' : '0' + second + '.') : '00.';

    почему бы не сделать так:
    var s = '';
    s += (hours<10) ? '0' + hours : hours) + ':';
    // и так далее...

    rudolff, 05 Августа 2010

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