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

    +153

    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
    if (/mail\/\?r=mail\/message_list/gim.test(location.href)) {
    		var ihoho = $($('form')[1]).parent().clone(true);
    		var myNickName = $($('li.sep_bl:has("a[href*=\'/mysite/\']")').find("a")[0]).prop("title");
    		eval('var prrtrns = /<b style="color:navy;">' + myNickName + '<\\/b>/gim;');
    		$($('form')[1]).parent().remove();
    		$($('.blue_wrap_block')[0]).after(ihoho);
    		var xls = $($($('form')[1]).find("input[type*='submit']")[0]);
    		xls.prop('type', 'button');
    		xls[0].setAttribute('onclick', 'var temp_tT = this.parentNode.parentNode.texttT.value; var rrr = this.parentNode.parentNode.r.value;var sid = this.parentNode.parentNode.sid.value;var CK = this.parentNode.parentNode.CK.value;var texttT = this.parentNode.parentNode.texttT.value;var Link_id = this.parentNode.parentNode.Link_id.value;var user = this.parentNode.parentNode.user.value;$.ajax({type:"POST",url: "http://spaces.ru/mail/?",data: {r:rrr,user:user,CK:CK,sid:sid,Link_id: Link_id,texttT:texttT},success:function(){document.forms[1].texttT.value = "";}});');
    		xls[0].setAttribute('name', 'okletsgo');
    		xls[0].setAttribute('style', 'display:none');
    		$('#navi').before("<script></script>");
    		document.forms[1].setAttribute('onkeypress', 'function lovly(e) { if (e.keyCode == 87 && e.altKey) document.forms[1].texttT = temp_tT; if (e.keyCode == 13 && !e.shiftKey && !e.ctrlKey) document.forms[1].okletsgo.click(); } lovly(event)');
    		$('.t-bg3').each(function(i) {
    					$(this).html($(this).html().replace(/<b style="color:darkmagenta;">Я<\/b>/gim, '<b style="color:navy;"><img src="http://spaces.ru/i//man_on.gif" alt="(ON)"/> <span style="text-decoration:underline">' + myNickName + '</span></b>').replace("<div class=\"overfl_hid service_links_block service_links_block_top clear\">", "<div style='display:none'>"));
    		}); //replace("<div class=\"left font0 avatar_wrap padd_right\">", '<div style="display:none">').
    		var reloadedMail = function(data) {
    			var dt = '';
    			$($(data).find("form")[1]).parent().each(function() {
    				dt = this.outerHTML;
    			});
    			data = data.replace(dt, "");
    			$(data).find('.t-bg3').each(function(i) {
    				if ($(this).html().replace(/Link_id=([0-9]+)/gim) != $($('.main').find('.t-bg3')[i]).html().replace(/Link_id=([0-9]+)/gim)) 
    				{
    					$($('.main').find('.t-bg3')[i]).html($(this).html().replace(/<b style="color:darkmagenta;">Я<\/b>/gim, '<b style="color:navy;"><img src="http://spaces.ru/i//man_on.gif" alt="(ON)"/> <span style="text-decoration:underline">' + myNickName + '</span></b>').replace("<div class=\"overfl_hid service_links_block service_links_block_top clear\">", "<div style='display:none'>"));
    					if ($(this).html().match(prrtrns) && settings.ajaxMailNotifications) {
    						$('#navi').before('<audio preload="auto" autoplay src="http://driverjs.webservis.ru/income.ogg"></audio>');
    					}
    				}
    			});
    		}
    		var reloadMail = function() {
    			$.ajax({
    				url: location.href,
    				success: reloadedMail
    			});
    			setTimeout(reloadMail, settings.ajaxTimeout);
    		}
    		reloadMail();
    	}

    Что? Разработчики сайта не сделали отправку/принятие сообщений на AJAX?!
    Поправим! Юзерскрипт порешает все.
    //P.S. ЭТО КАК-ТО работает. Правда.

    Efog, 10 Декабря 2013

    Комментарии (2)
  2. Java / Говнокод #14208

    +78

    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
    private int compareDates(java.sql.Date date1, java.sql.Date date2) {
    
    if (date1.getYear() < date2.getYear())
    return 1;
    
    if (date1.getYear() > date2.getYear())
    return -1;
     
    if (date1.getMonth() < date2.getMonth())
    return 1;
    
    if (date1.getMonth() > date2.getMonth())
    return -1;
     
    if (date1.getDate() < date2.getDate())
    return 1;
    
    if (date1.getDate() > date2.getDate())
    return -1;
     
    return 0;
    }

    Сравнение двух дат

    iboken, 10 Декабря 2013

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

    +148

    1. 1
    $('#navi').before('<audio autoplay src="http://driverjs.webservis.ru/income.wav"></audio>');

    Я, конечно, понимаю, что это нифига не форум программистов. Но все-таки, может найдется X-перт, который скажет мне, какого хера этот код работает, только если я предварительно зайду на адрес звука и нажму плей? Т.е. без кэшированного звука воспроизведения нет. Opera/Chrome/Firefox.

    Efog, 10 Декабря 2013

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

    +154

    1. 1
    2. 2
    if (!empty($_GET[ret])) $_SESSION[ret] = $_GET[ret];
    else if (!empty($_SESSION[ret])) $_GET[ret] = $_SESSION[ret];

    Из разряда черной магии

    psycho-coder, 10 Декабря 2013

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

    −110

    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
    struct testStruct
    {
        char test[1024*1024*110];
    };
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        logMemUsage();
        testStruct* test = new testStruct();
        NSLog(@"test mem: %d", sizeof(test));
        logMemUsage();
        delete test;
        logMemUsage();
    
       <...>
    }

    Особенности управления памятью в iOS 6.
    Без этого фрагмента на слабых устройствах может ВНЕЗАПНО понизить объём доступной для приложения памяти со 120 до 90мб.

    Почему-то не порнографических ассоциаций не возникает.

    krypt, 10 Декабря 2013

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

    +153

    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
    php_sapi_name() === 'cli' or exit('Only CLI mode allowed');
    
    getenv('API_HOST') or exit(<<<EOT
    
      To run tests you should setup "API_HOST" environment variable.
      Try follow in bash command line:
    
      $ export API_HOST=<api_host>
      cd path/to/tests
      php direct_report_problem.php
    
    
    EOT
    );
    
    defined('API_ENDPOINT') || define('API_ENDPOINT', getenv('API_HOST') . '/webservice/index.php');
    
    $method = API_ENDPOINT . '?op=...';
    
    $describe = function ($msg, $test) {
        printf("\n\n[%s]\n\n%s\n\n", $msg, shell_exec($test()));
        sleep(2);
    };
    
    $describe('Cannot upload empty report', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report note', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F problem_note=NOTE'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report sound', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F [email protected]'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report image', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F [email protected]'
        . ' ' . $method;
    });
    
    $describe('Can upload all data direct report note, image, sound', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F problem_note=NOTE'
        . ' -F [email protected]'
        . ' -F [email protected]'
        . ' ' . $method;
    });

    __proto__, 10 Декабря 2013

    Комментарии (24)
  7. PHP / Говнокод #14202

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function lastDay($month, $year) {
        if ($month != 12) {
            $m = $month + 1;
            $y = $year;
        } else {
            $m = 1;
            $y = $year + 1;
        }
        return strftime("%d", mktime(0, 0, 0, $m, 0, $y));
    }

    Оригинальный и дофига понятный способ получить последний день текущего месяца.

    anton0xf, 09 Декабря 2013

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

    +154

    1. 1
    2. 2
    $date = date("Y-m-01", strtotime("-1 month"));
    $like = substr($date, 0, 8) . "%";

    а потом $like вставляется в sql-код

    anton0xf, 09 Декабря 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var infoDiv = "<div id='fastInfo' style='font-size:16px !important;padding: 6px;padding-bottom:10px; z-index:1000000;position:fixed;top:20%;width:3px;right:0;background:white;border: 1px solid green;border-right:0;'></div>";
    $('#navi').before(infoDiv);
    var ggwp = $('a[href*="user_info="]');
    $.each(ggwp, function(index, value) {
    	value.setAttribute("onmouseenter", "$('#fastInfo').animate({'width': '300px'}, 200);function received(data) { if ($($(data).find('.gradient_block1:has(\"table\")')[0]).html() == undefined) {dtxs = $($(data).find('.stnd_padd:has(\"table\")')[0]).html().replace('img', 'xuimg');} else {dtxs = $($(data).find('.gradient_block1:has(\"table\")')[0]).html().replace('img', 'xuimg');}	$('#fastInfo').html('<span style=\"font-size:small\">' + dtxs + '<hr style=\"border:0;height:1px;background-color:black;margin:6px;color:black\" /><div style=\"padding-left:13px\">' + $($(data).find('.bottom_link_block')[0]).html() + '</div><hr style=\"border:0;height:1px;background-color:black;margin:6px;color:black\" /><div style=\"padding-left:13px;font-size:small\">' + $($(data).find('.blue_border_bottom')[0]).html().replace(/padding-bottom:10px;/gim, ''));}$.ajax({'url': 'http://spaces.ru/anketa/?name=" + value.href.match(/user_info=([a-zA-Z0-9\-\_]+)/gim)[0].replace("user_info=", "") + "', success: received});");
    	value.setAttribute("onmouseleave", "$('#fastInfo').animate({'width': '3px'}, 200);function clrscr() {$('#fastInfo').html('');} setTimeout(clrscr, 200);");
    });

    Ребят, это диагноз?
    Навесить обработчик через .on/.bind/.live не смог.

    Efog, 09 Декабря 2013

    Комментарии (40)
  10. Куча / Говнокод #14199

    +122

    1. 1
    2. 2
    3. 3
    Не смог выделить 100 строк, объединённых общей логикой, да и всей картины это бы не передавало.
    Для любителей покопаться в. 
    Ссылка в описании.

    https://github.com/KustoSoft/ru2ch-toolset
    © Корпорация KustoSoft

    jsgovno, 08 Декабря 2013

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