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

    +160

    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
    var HS_ShareButton = new Object();
    
        HS_ShareButton.Info = "ShareButton";
        
        HS_ShareButton.ShareAction = new function(hURL, hTitle, hDescription, hImage, hParams)
           {
              var hResult = '';
              var hURL = this.hURL;
              var hTitle = this.hTitle;
              var hDescription = this.hDescription;
              var hImage = this.hImage;
              var hParams = this.hParams;
              var hSendData = new Object();
              var hSendData = {hURL, hTitle, hDescription, hImage, hParams};
              
              if(hURL == null && hTitle == null && hDescription == null && hImage == null && hParams == null)
                 {
                    return hResult = 'Initialization impossible #001'; 
                 }
              else
                 {
                    HS_ShareButton._DoShare(this.hSendData);
                 }
           } 
    .... еще over 100500 строчек =]

    Это кнопка расшаривает материалы для сайта...

    Govnisti_Diavol, 05 Апреля 2012

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

    +158

    1. 1
    var i = Math.pow(Math.abs(scrollTop-targetPoint), 1/(Math.E-0.97775)); // TODO: бля, это йобаный стыд...

    Из цикла "комменты холодной воды"
    ** Вычисление начального ускорения при анимации элемента

    bot, 02 Апреля 2012

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

    +153

    1. 1
    2. 2
    3. 3
    <script language="javascript">
    function setcookie(data['uid'])
    </script>

    SnikersSurgut, 01 Апреля 2012

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var url="/registration/reg.php?file_photo="+src_img+"&reg_email="+
    reg_email+"&last_name="+last_name+"&name="+encodeURIComponent(name)+
    "&reg_phone="+encodeURIComponent(reg_phone)+"&group_user="+group_user;
    				$('#ajax_result').load(url, function(response, status, xhr) {
    					document.location.href="success.php";
    				});

    Вот такая милая регистрация пользователя. Только вот группа пользователя указывается в запросе и не проверяется на стороне сервера.
    В результате можно зарегистрироваться администратором сайта, подставив не столь уж неизвестный id группы администраторов в параметр group_user

    twsdwf, 30 Марта 2012

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

    +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
    if (
            (_methodName == "invoke") ||
            (_methodName == "auth") ||
            (_methodName == "resetAuth") ||
            (_methodName == "registerMethod") ||
            (_methodName == "registerAllMethods")
           )
        {
           throw "Illegal method name " +_methodName +" - service method with this name already exist";
        }
        else
        {
            eval("ComponentClient.prototype."+_methodName+" = function (_parameters) {return this.invoke(\""+_methodName+"\", _parameters)}")
        }

    И там много ещё такого

    konsoletyper, 30 Марта 2012

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

    +153

    1. 1
    2. 2
    3. 3
    if (childMenus[oRow._index]) if (TransMenu.sub_indicator && oRow.lastChild.firstChild.src) {
    			oRow.lastChild.firstChild.src = TransMenu.dingbatOn
    		}

    zima, 28 Марта 2012

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

    +155

    1. 1
    2. 2
    var len = final_amount.length;
    var final_amount_formatted = (final_amount == "" ? "0" : final_amount.substring(0,len-2) + '.' + final_amount.substring(len-2, len));

    cancerogen, 26 Марта 2012

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

    +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
    attr_sel:function(tag,cn,at,vl,inv)
    {
    	if (typeof(inv)=='undefined'){
    		inv=0;
    	}
    	var allT=document.getElementsByTagName(tag), allCN={}, i=0,j=0,a;
    	while(a=allT[i++]){
    		if (cn!='' && this.hasClass(a,cn))
    		{
    			if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
    			{
    				allCN[j]=a;
    				j++;
    			}
    		}else{
    			if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
    			{
    				allCN[j]=a;
    				j++;
    			}
    		}
    	}
    	return allCN;
    }

    По следам полосатого слона #9757
    Выборка по классу и значению атрибута.

    roman-kashitsyn, 25 Марта 2012

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

    +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
    selector:function(tag,cn,pr,r)
    {
    	var allCN={}, i=0,j=0,a;
    	if (typeof(pr)=='undefined'){
    		var allT=document.getElementsByTagName(tag);
    	}else{
    		var allT=pr.getElementsByTagName(tag);
    	}
    	if (typeof(r)=='undefined'){
    		r=0;
    	}
    	while(a=allT[i++]){
    		
    		if (this.hasClass(a,cn))
    		{
    			allCN[j]=a;
    			j++;
    		}
    	}
    	return allCN;
    }

    я понимаю, что jquery использовать нельзя было, но зачем так всё запутывать...

    roman-kashitsyn, 25 Марта 2012

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

    +151

    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
    if(hS.reformal.val && !h.inFrame){ // добавление виджета reformal.ru для отправки багрепортов (можно то же из настроек)
    		addJs(function reformal_preload(){
    			reformal_wdg_w	= "713";
    			reformal_wdg_h	= "460";
    			reformal_wdg_domain	= "habrajax";
    			reformal_wdg_mode	= 0;
    			reformal_wdg_title   ='<a href="//userscripts.org/scripts/show/121690" target="_blank">HabrAjax</a> - чтобы сайт стал удобным';
    			reformal_wdg_ltitle  = "БАГИ";
    			reformal_wdg_lfont   = "";
    			reformal_wdg_lsize   = "";
    			reformal_wdg_color   = "#269bd1";
    			reformal_wdg_bcolor  = "#73859e";
    			reformal_wdg_tcolor  = "#FFFFFF";
    			reformal_wdg_align   = "right";
    			reformal_wdg_charset = "utf-8";
    			reformal_wdg_waction = 0;
    			reformal_wdg_vcolor  = "#559ecf";
    			reformal_wdg_cmline  = "#d3d8df";
    			reformal_wdg_glcolor  = "#105895";
    			reformal_wdg_tbcolor  = "#FFFFFF";
    			reformal_wdg_tcolor_aw4  = "#3F4543";
    			reformal_wdg_bimage = "cac7b640e87a20ba02df24d613d54a1d.png";
    			reformal_html ='';
    			document.write = function(a){reformal_html +=a;};//обход doc.write
    		});
    		addJs('http://reformal.ru/tabn2v4.js?charset=utf-8' //виджет reformal.ru и его постобработчик
    			, hS.versionNumb
    			, 'MyOtziv'
    			, function reformal_postload(){ //загрузка после doc.write и подгонка стилей, текстов
    			var elem = document.createElement('DIV');
    			elem.id ='reformal_holder';
    			elem.innerHTML = reformal_html;
    			document.body.insertBefore(elem, document.body.childNodes[0]);
    			document.getElementById('myotziv_box').style.zIndex = 3001;
    			var reformal_butt = document.querySelector('#reformal_holder .frgtd'); //кнопка открывания виджета, |.frby
    			reformal_butt.style.right='-4px';reformal_butt.style.width ='17px';
    			reformal_butt.querySelector('img').style.position='relative';
    			reformal_butt.querySelector('img').style.left='-4px';
    			reformal_butt.style.overflow ='hidden';
    			reformal_butt.querySelector('a').title ='Пожелания и баги HabrAjax';
    			reformal_butt.querySelector('a').style.marginBottom ='3em';
    			var reformal_closeButt = document.querySelector('#reformal_holder .pokusijy'); //кнопка закрытия
    			var reformal_goto = document.createElement('DIV');
    			reformal_goto.innerHTML ='<a href="http://habrajax.reformal.ru/" target="_blank">смотреть всё</a>';
    			reformal_closeButt.parentNode.insertBefore(reformal_goto, reformal_closeButt.nextSibling);
    			reformal_goto.style.cssFloat ='right';
    			reformal_goto.style.marginRight ='10px';
    			var reformal_foot1 = document.querySelector('#reformal_holder .drsdtf');
    			reformal_foot1.style.width ='auto';
    			var reformal_note1 = document.createElement('DIV');
    			reformal_note1.innerHTML ='<span title="скопируйте после клика" onclick="prompt(&quot;скопируйте для сообщения&quot;, &quot;Браузер: '+ navigator.userAgent +'; ОС: '+ navigator.platform +'; HabrAjax v. (@)&quot;)">При баге пишите <u title="'+navigator.userAgent+'">браузер</u>, <u>версию</u>, <u title="'+navigator.platform+'">ОС</u> и версию скрипта (@).</span>';
    			reformal_foot1.parentNode.appendChild(reformal_note1);
    			reformal_note1.style.padding ='3px 0 0 5px';
    			reformal_note1.style.cursor ='pointer';
    		});
    	}
    	if(hS.gPlus.val && !/\/sandbox/.test(location.href && !h.inFrame)){ // добавление скрипта Google+
    		addJs('https://apis.google.com/js/plusone.js','{"parsetags": "explicit"}', 'gapi', loadGPlus);
    	}

    =]

    Govnisti_Diavol, 25 Марта 2012

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