1. 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) RSS

    • Да, вложенные try выглядят странно
      Ответить
    • как много буков...
      Ответить
    • а что вы хотите от говносайта?
      Ответить
    • лень вникать. Кэп, приди на помощь! ))
      Ответить
    • API Яндекс.карты - это то ещё говно. Один ответ метода map.getBounds() чего стоит. Это блять как нужно набухаться и написать код чтобы отдавать такой ответ
      Ответить
      • ну блядь, на жабьем шкрипте невозможно написать не говно

        блядь, языку 20 лет, а никто еше не придумал как на нем писать
        что ни код -- то калл
        Ответить
        • язык за пару месяцев на коленке написали. че ты от него вообще хочешь?
          Ответить
          • хочу чтобы его запретили, обоссали и сожгли вместе со всеми, кто его использует
            Ответить
            • Ну ты прикинь сколько веба придется переписывать?
              Ответить

    Добавить комментарий