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

    +144

    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
    98. 98
    (function() {
    	var appBase = function( appId ) {
     		appId = appId || Math.floor( Math.random() * ( 1000 - 1 ) + 1 );
     		this.stack = {
     			methods: [ ],  extends: { },
     			init: function( cfg ) {
     				this.creator( cfg );
    				this.bootstrap();
     			},
    			bootstrap: function() {
    				this.methods.init = null;
    				var param = new Object();
     				param.app = this.methods, 
    				param.opt = this.setup;
    				param.__proto__ = null;
    				for( var i in this.setup.inits ) {
    					this.methods[ this.setup.inits[i] ].apply( param );
    				};	
    			},
    			creator: function( cfg ) {
    				for( var mtd in cfg ) {
     					var flag = cfg[ mtd ].options[ 1 ] || null,
    						name = cfg[ mtd ].options[ 0 ] + "",
    						func = cfg[ mtd ].func;
    					this.methods[ name ] = func;
    					this.methods[ name ].name = name;
    					if( flag ) {
     					flag = flag.split('|');
    						if( flag[0] ) {
    							switch( flag[0] ) {
    								case 'init': this.setup.inits.push( name ); break;
    								case 'defer': 
    									this.setup.defer.push( name );
    									this.setupTimer( [ flag[ 1 ], name, flag[ 2 ] - 0 ] );
    								break;
    							};
    						};
    					};
    				};
    			},
    			setupTimer: function( opt ) {
     				var tf = this.setup.timer[ opt[1] ],
    					tt = this.methods[ opt[1] ],
    					tm = opt[ 2 ] || 500;
     				switch( opt[0] ) {
    					case 'interval': tf = setInterval( tt, tm ); break; 
    					case 'timeout':  tf = setTimeout( tt, tm ); break;
    				};
     
    			},
    			flushTimer: function( id ) {
    				clearInterval( this.setup.defer[ id ] );
    				console.log( 'Interval '+ id +' Stoped!');
    			},
    			setup: {
    				appId: 'BiO Kernel' + appId, param: [ ], inits: [ ], defer: [ ],timer: [ ], flags: { }
    			}
    		};
    		this.stack.__proto__ = null; this.__proto__ = null;
    	};
    		var application = new appBase();
    		var	app = application.stack;
    		var cfg = [
    			{ 
    				func: function() {
    					console.log( 'RUN [mtd_1] AT [init stage] => force [mtd_3]' );
    					this.app['mtd_3'].apply(this);
    				},
    				options: [ 'mtd_1' , 'init' ]
    			},
    			{ 
    				func: function() {
    					console.log( 'RUN [mtd_2] AT [init stage]' );
    				},
    				options: [ 'mtd_2' , 'init' ]
    			},
    			{ 
    				func: function() {
     
    					console.log( 'RUN [mtd_3] BY [mtd_1] FROM [init stage]' );
    				},
    				options: [ 'mtd_3' ]
    			},
    			{ 
    				func: function() {
    					console.log( 'run defered method #1 in timeout' );
    				},
    				options: [ 'deferedMethod_1', 'defer|timeout|8500' ]
    			},
    			{ 
    				func: function( ) {
    					console.log( 'run defered method #2 in interval' );
    				},
    				options: [ 'deferedMethod_2', 'defer|interval|500' ]
    			},
    		];
    		app.init( cfg, true ); 
    })();

    Съебаться из страны не получилось ): Оно не взламывалось вообще ... лимон так и не дали, а в жопу выебали через кого-то.

    Запостил: Stealth, 09 Августа 2013

    Комментарии (4) RSS

    • Стертор, ты бросил свои паскали и сменил имя?
      Ответить
      • меня круглосуточно пытаются выпилилть, а количество виртуальных имено роли не играет.

        С Drupal.ru чтоле? Тут вроде еще можно нормально поговорить, хотя, по всей видимости у кого-то просто админки нету. Пидорги -- они такие. Злобные, но сделать уже никуя кроме как на бан нажать не могут.
        Ответить
        • > С Drupal.ru чтоле
          Тут, кстати, свой экземпляр Стертора есть.

          А зачем Вам админы понадобились? Пофигистичное отношение к школотроллям, возможность минуснуть и тематика сайта работают лучше админов.
          Ответить
          • > А зачем Вам админы понадобились?

            Не админы они ... Они идеологи того, чего не до конца понимают сами ...
            Оказался потом около этих же админов, которые в наглую вговнокоживали в Друпу линукс. Не понравилось отношение : отказался с ними работать.

            А потом нечаянно написал ядро и меня въбеало со всего размаху. Поправляюсь помаленьку
            Ответить

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