rubish #1041 22 февраля 2013 или в пхп свойства == поля?да Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
ISyaQ #1042 22 февраля 2013 недавно лазил по сайту на жумлетак там в шаблоны вставлены закодированные рекламные ссылки, которые появляются на странице в теге h2 а потом цсской съезжают за 9к пикселейв друпале такого не встречалч с каких пор это вошло в моду у жумлистов-шаблонистов? шаблон вроде гк_еспорт Поделиться сообщением Ссылка на сообщение
SPYHunter #1043 22 февраля 2013 причем тут джумла? https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
Hed-kun #1044 22 февраля 2013 (изменено) чтобы разрядить обстановку и отвлечь вас от метания какашек, наверн)Исяк как спасательто веселые картинки спасает, теперь вот тут Изменено 22 февраля 2013 пользователем Hed-kun Скрытый текст Цитата посоны я джуса забанил мне пиздос? Цитата Поделиться сообщением Ссылка на сообщение
SPYHunter #1045 22 февраля 2013 метнул в тебя какашку) https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
Fierce-_- #1046 23 февраля 2013 (изменено) СРОЧНО!!! ПаскальНаписать программу, которая будет из двух слов новое слово (например, "пар" "ход" "воз" "тепло" "электро") Написать программу, которая будет из двух слов новое слово (например, "пар" "ход" "воз" "тепло" "электро") Изменено 23 февраля 2013 пользователем Fierce-_- Поделиться сообщением Ссылка на сообщение
SPYHunter #1047 23 февраля 2013 function foo() { var words = ["пар" ,"ход" ,"воз", "тепло", "электро"]; return words[ Math.floor(Math.random() * words.length) ] + words[ Math.floor(Math.random() * words.length) ]; } >>> foo() "электротепло" >>> foo() "теплоход" >>> foo() "парход" >>> foo() "возход" >>> foo() "возвоз" >>> foo() "парход" >>> foo() "электроэлектро" https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
TycoooN #1048 23 февраля 2013 Написал программу, которая будет из двух слов новое слово (например, "пар" "ход" "воз" "тепло" "электро") Поделиться сообщением Ссылка на сообщение
Fierce-_- #1049 23 февраля 2013 function foo() { var words = ["пар" ,"ход" ,"воз", "тепло", "электро"]; return words[ Math.floor(Math.random() * words.length) ] + words[ Math.floor(Math.random() * words.length) ]; } >>> foo() "электротепло" >>> foo() "теплоход" >>> foo() "парход" >>> foo() "возход" >>> foo() "возвоз" >>> foo() "парход" >>> foo() "электроэлектро"Это паскаль? Нужен паскаль Поделиться сообщением Ссылка на сообщение
SPYHunter #1050 23 февраля 2013 Пшел нахуй с паскалем из темы, уебок https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
Fierce-_- #1051 23 февраля 2013 Пшел нахуй с паскалем из темы, уебокНу пожалуйста Поделиться сообщением Ссылка на сообщение
SPYHunter #1052 23 февраля 2013 Ну пожалуйста, уходи https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
Fierce-_- #1053 23 февраля 2013 Ну пожалуйста, уходиТут рейтинг брат, реши, ты ласт хоуп. Помоги олдфагу неучу Поделиться сообщением Ссылка на сообщение
SPYHunter #1054 23 февраля 2013 Не брат ты мне, паскалеблядь. https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
Fierce-_- #1055 23 февраля 2013 Не брат ты мне, паскалеблядь.Ну прошу, 20 минут до конца, а я сижу на пд :D Поделиться сообщением Ссылка на сообщение
SPYHunter #1056 23 февраля 2013 Не брат ты мне, паскалеблядь.Ну прошу, 20 минут до конца, а я сижу на пд :DО эти замечательные 20 минут твоей жизни.За это время ты осознаешь свою никчемность, свою неспособность заставить выучить себя самые примитивные вещи. Успеешь осознать хуевость шараги в которой учишься, хуевость продоты, да и жизни в целом. Так что не серчай. https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
SPYHunter #1057 23 февраля 2013 (изменено) Приятно наблюдать за развитием себя как кодера код 7-8 месяцев назад function getRSS(feedUrl) { $("#rssContent").empty(); $.get('proxy.php?url=' + feedUrl, function(data) { $(data).find('item').each(function() { var title = $(this).find('title').text(); var view = $(this).find('misc').attr('viewers'); var url = $(this).find('link').text(); url = url.substring(25); title = title.substring(27,0); var html; if(view > 3) { html = '<table class="lin" border="0"><tr><td class="name"><a href=\'javascript:stream("'+url+'", "own3d", "'+title+'")\'><span class="sbg">'+title+'</span></a></td>'; html += '<td class="view"><span class="sbg">'+view+' зрителей</span></td></tr></table>'; } $('#rssContent').append($(html)); }); }); } function getRSSQ(feedUrlq) { $("#rssContent").empty(); $.get('proxy.php?url=' + feedUrlq, function(data) { $(data).find('stream').each(function() { var title = $(this).find('channel title').text(); var view = $(this).find('channel_count').text(); var url = $(this).find('channel login').text(); var html; title = title.substring(0,27); if(view > 3) { html = '<table class="lin" border="0"><tr><td class="name"><a href=\'javascript:stream("'+url+'", "twitch", "'+title+'")\'><span class="sbg">'+title+'</span></a></td>'; html += '<td class="view"><span class="sbg">'+view+' зрителей</span></td></tr></table>'; } $('#rssContent2').append($(html)); }); }); } $(document).ready(function() { getRSS("http://api.own3d.tv/live?game=dota%2B2"); getRSSQ("http://api.justin.tv/api/stream/list.xml?meta_game=Dota%2B2"); }) /* function stream(x, y, z) { if (y == 'twitch') { $('#forstream').html('<br><object type="application/x-shockwave-flash" height="387" width="640" id="live_embed_player_flash" data="http://www.justin.tv/widgets/live_embed_player.swf?channel=' + x +'" bgcolor="#000000"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.justin.tv/widgets/live_embed_player.swf" /><param name="flashvars" value="auto_play=false&channel=' + x + '&start_volume=25" /></object>'); $('.main').addClass("hid"); } else if(y == 'own3d') { $('#forstream').html('<br><object width="640" height="361" align="middle" type="application/x-shockwave-flash" id="Own3dPlayer" name="Own3dPlayer" data="http://static.ec.own3d.tv/player/Own3dPlayerV2_86.swf"><param name="quality" value="high"><param name="bgcolor" value="#000000"><param name="wmode" value="opaque"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="true"><param name="flashvars" value="config=livecfg/' + x + '?autoPlay=false"></object>'); $('.main').addClass("hid"); } } */ var ch = 0; /* jQuery(document).ready(function(){ jQuery('.main').load('all.php'); jQuery('#upd1').click(function(){ jQuery('.main').html('<h4>Twitch.tv</h4><center><img src="load.gif"></center><h4>Own3d.tv</h4><center><img src="load.gif"></center>').load('all.php'); }) $(".test").html("<?php //echo $_GET['hash']; ?>"); });*/ function stream(x, y, z) { if(ch == 0) { ch = 1; } $("#admin").html(""); if (y == 'twitch') { $('#forstream').html('<br><object type="application/x-shockwave-flash" height="387" width="640" id="live_embed_player_flash" data="http://www.justin.tv/widgets/live_embed_player.swf?channel=' + x +'" bgcolor="#000000"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.justin.tv/widgets/live_embed_player.swf" /><param name="flashvars" value="auto_play=false&channel=' + x + '&start_volume=25" /></object>'); $('.main').addClass("hid"); } else if(y == 'own3d') { $('#forstream').html('<br><object width="640" height="361" align="middle" type="application/x-shockwave-flash" id="Own3dPlayer" name="Own3dPlayer" data="http://static.ec.own3d.tv/player/Own3dPlayerV2_86.swf"><param name="quality" value="high"><param name="bgcolor" value="#000000"><param name="wmode" value="opaque"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="true"><param name="flashvars" value="config=livecfg/' + x + '?autoPlay=false"></object>'); $('.main').addClass("hid"); } if (ch == 1) { $(".top a").removeClass("active"); $("#stream").removeClass("hid").html(z).addClass("active").attr("href", "javascript:streamtop('" + x + "', '" + y + "')"); $("#forgames").html("").addClass("hid"); $("#all").html("Все стримы"); ch = 2; } else if (ch == 2) { $(".top a").removeClass("active"); var hrfch = $("#stream").attr("href"); var txtch = $("#stream").text(); $("#stream").addClass("active").html(z).attr("href", "javascript:streamtop(\"" + x + "', '" + y + "')"); $("#stream2").html(txtch).attr("href", hrfch).removeClass("hid"); $("#forgames").html("").addClass("hid"); $("#all").html("Все стримы"); ch = 3; } else if (ch == 3) { $(".top a").removeClass("active"); var hrfch = $("#stream").attr("href"); var txtch = $("#stream").text(); $("#stream2").html(txtch).attr("href", hrfch); $("#stream").removeClass("hid").html(z).addClass("active").attr("href", "javascript:streamtop('" + x + "', '" + y + "')"); $("#forgames").html("").addClass("hid"); $("#all").html("Все стримы"); ch = 2; } } function goto(wat){ if (wat == 'all') { $('.main').removeClass("hid"); $(".top a").removeClass("active"); $("#all").addClass("active"); $("#forstream").html(""); $("#admin").html(""); $("#forgames").html("").addClass("hid"); $("#all").html("Обновить"); } else if (wat == 'game') { $('#forgames').removeClass("hid"); $("#forgames").load("/games.php"); $('.main').addClass("hid"); $("#admin").html(""); $(".top a").removeClass("active"); $("#game").addClass("active"); $("#forstream").html(""); $("#all").html("Все стримы"); } else if (wat == 'admin') { $("#admin").load("/admin.php"); $('.main').addClass("hid"); $(".top a").removeClass("active"); $("#forstream").html(""); $("#all").html("Все стримы"); } } function streamtop(q, w, r) { if (w == 'twitch') { $('#forstream').html('<br><object type="application/x-shockwave-flash" height="387" width="640" id="live_embed_player_flash" data="http://www.justin.tv/widgets/live_embed_player.swf?channel=' + q +'" bgcolor="#000000"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.justin.tv/widgets/live_embed_player.swf" /><param name="flashvars" value="auto_play=false&channel=' + q + '&start_volume=25" /></object>'); $('.main').addClass("hid"); } else if(w == 'own3d') { $('#forstream').html('<br><object width="640" height="361" align="middle" type="application/x-shockwave-flash" id="Own3dPlayer" name="Own3dPlayer" data="http://static.ec.own3d.tv/player/Own3dPlayerV2_86.swf"><param name="quality" value="high"><param name="bgcolor" value="#000000"><param name="wmode" value="opaque"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="true"><param name="flashvars" value="config=livecfg/' + q + '?autoPlay=false"></object>'); $('.main').addClass("hid"); } $("#all").html("Все стримы"); $(".top a").removeClass("active"); $('a[href*="javascript:streamtop(\''+q+'\', \''+w+'\'"]').addClass("active"); $("#forgames").html("").addClass("hid") $("#admin").html(""); } код месяц назадvar VKApi = (function(){ return { comments : function(url, id) { VK.Widgets.Comments((id ? id : 'vk_comments'), { limit: 10, mini: 0 }, url); }, location : function(arr) { VK.callMethod("setLocation", arr ? ('/' + arr.join('/')) : ""); }, autosize : function() { if (typeof VK.callMethod != 'undefined') { VK.callMethod('resizeWindow', 740, document.body.offsetHeight + 10); } else setTimeout(function(){ VKApi.autosize(); }, 300); }, } }()); var Template = (function(){ var _getTpl = function(_id) { return doT.template(document.getElementById(_id).innerHTML); }; var _tplList = {}, _list = ["tab_stream", "stream_twitch", "game_streams", "comments", "full_stream"]; for (var i = _list.length - 1; i >= 0; i--) { _tplList[_list[i]] = _getTpl("tpl_" + _list[i]); }; return function(tpl, data) { data = data || {}; if(!(tpl in _tplList)) { throw new Error('Template doesnt exist'); }; return { code : _tplList[tpl](data), appendTo : function(query) { var el = document.querySelector(query); el.innerHTML += this.code; return this; }, insertTo : function(query) { var el = document.querySelector(query); el.innerHTML = this.code; return this; }, prependTo : function(query) { var el = document.querySelector(query); el.innerHTML = this.code + el.innerHTML; return this; }, } }; })(); var Stream = (function(){ return function(el) { if(el.constructor == Array) var data = el; else var data = el.getAttribute('data-stream').split(','); Template('full_stream', { player : Template('stream_twitch', {login: data[0]}).code, comments : Template('comments', {login: data[0]}).code }).insertTo('#full_stream'); TabStream(data); VKApi.comments(data[0]); VKApi.location([data[4], data[0]]); } })(); var Game = (function(){ var _ajax = function(url, callback) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) callback(JSON.parse(xhr.responseText || {})); } xhr.send(null); } var __deactivate = function () { var el = document.querySelector('#games_list .active'); if(!!el) el.className = ''; } var _activate = function (game) { __deactivate(); document.querySelector('#games_list [data-game="'+game+'"]').className = 'active'; }; var _clearStream = function() { document.getElementById('full_stream').innerHTML = null; } return function(game) { if(game == 'yoba') { Stream([ 'yobachannel', 'Yoba Videogames', '14/88', 'http://cs305606.userapi.com/g18596193/d_9bce2e6d.jpg', 'yoba' ]); return; } _activate(game); _ajax('streams/'+game+'.json?r='+Math.random(), function(data) { var isset = false; if(typeof window._preload_ !== "undefined") { for(var i=0;i<data.length;i++) { if(data[i][0] === window._preload_) { data[i][4] = game; Stream(data[i]); isset = true; } } delete window._preload_; } if(!isset) Template('game_streams', {streams: data, game: game}).insertTo('#game_streams'); }); _clearStream(); TabMenu('games_list'); VKApi.location([game]); } })(); var TabStream = (function () { var _tab = function(login) { var el = document.querySelector('#tabs_stream [data-login="' + login + '"]'); return { exist : !!el, activate : function () { this.deactivateAll(); if(this.exist) el.className = 'active'; }, deactivateAll : function () { var elActive = document.querySelector('#tabs_stream .active'); if(!!elActive) elActive.className = ''; }, } } var _calculateWidth = function() { var allTabs = document.querySelectorAll('#tabs_stream > div'); if(allTabs.length) { var el = document.getElementById('tabs_empty'); if(!!el) el.parentNode.removeChild(el); document.getElementById('tabs_stream').style.width = 166 * allTabs.length + 'px'; } } var _clearStreams = function() { document.getElementById('game_streams').innerHTML = null; } return function(data) { var tab = _tab(data[0]); if(tab.exist) { tab.activate(); } else { tab.deactivateAll(); Template('tab_stream', data).prependTo('#tabs_stream'); _calculateWidth(); } _clearStreams(); TabMenu('overtabs'); } })(); var TabMenu = (function(){ var _activateButton = function (button) { document.querySelector('#menu_buttons .active').className = ''; document.querySelector('#menu_buttons [data-button="'+button+'"]').className = 'active'; } var _activateTab = function (id) { document.querySelector('#menu_tabs > .active').className = ''; document.getElementById(id).className = 'active'; }; return function (id) { _activateTab(id); _activateButton(id); }; })(); (function(){ window.onload = function() { var preload = window.location.search.match(/\&hash\=(.*)\&?/); if(preload) { preload = decodeURIComponent(preload[1]).split('/'); console.log(preload) if(preload.length == 3) { Game(preload[1]); window._preload_ = preload[2]; } else if(preload.length == 2) { Game(preload[1]); } else Game('all'); } else Game('all'); setInterval(function(){ VKApi.autosize(); }, 300); } })(); код 4 месяца назад var _ = { games : { //TWITCH, OWN3D, FULL NAME all : ['all', 'all', 'Самые популярные'], dota2 : ['Dota+2', 'dota2', 'DotA2'], lol : ['League+of+Legends', 'League+of+Legends', 'League of Legends'], hon : ['Heroes+of+Newerth','Heroes+of+Newerth','Heroes of Newerth'], starcraft2 : ['StarCraft+II:+Wings+of+Liberty', 'sc2', 'StarCraft II'], diablo3 : ['Diablo+III', 'Diablo+3', 'Diablo III'], wow : ['World+of+Warcraft:+Mists+of+Pandaria', 'wow', 'World of Warcraft'], minecraft : ['Minecraft', 'minecraft', 'Minecraft'], csgo : ['Counter-Strike:+Global+Offensive','csgo', 'Counter-Strike: GO'], pointblank : ['Point+Blank','Point+Blank', 'Point Blank'], bf3 : ['Battlefield+3', 'battlefield+3', 'Battlefield 3'], cod_bo : ['Call of Duty: Black Ops II', 'Call+of+Duty+4', 'Call of Duty: BO II'], wot : ['World+of+Tanks','world+of+tanks','World of Tanks'], dota1 : [ null, 'dota', 'DotA (one)'], guildwars2 : ['Guild+Wars+2', 'Guild+Wars+2', 'Guild Wars 2'], isaac : ['The+Binding+of+Isaac', null, 'The Binding of Isaac'], tf2 : ['Team+Fortress+2', null, 'Team Fortress 2'], dayz : ['DayZ', 'DayZ', ' DayZ '], //fallout3 : ['Fallout+3', 'Fallout+3', 'Fallout 3'], fifa : ['FIFA+12', 'FIFA+12', 'FIFA 12'], yoba : [null, null, 'Yoba Videogames', 'yobavideogames'], }, options : { //otions for select autoplay : ['Автовоспроизведение стримов'], comments : ['Комментарии в стримах'], isclick : ['Переключение панелей кликом <br>(иначе наведением курсора)'] }, sites : { //sites own3d : ['http://api.own3d.tv/rest/live/list.json', '?gamename='], twitch : ['http://api.justin.tv/api/stream/list.json', '?meta_game='] }, current : { game : '', //last loaded game stream : '', //last opened stream onload : false, //load game on start? height : (function() { return $('#main').height(); })(), }, stream : { array : [], //array of streams [viewers, name] data : {}, //obj - list of streams {name : [site, title, url, thumb, lang, desc, view]} history : {}, //history opened stream {name : [site, title, url, thumb, lang, desc, view, game]} loaded : { //which game was loaded? twitch : 0, own3d : 0 }, }, //russin users in own3d rus : [345906,45971,61699,95006,5351,306912,21803,175128,106735,119020,29848,346,306546,100962], } var clear = function() { //clear _ for reload & load list streams _.stream.data = {}; _.stream.array = []; _.stream.loaded.twitch = 0; _.stream.loaded.own3d = 0; $('#streamlist').empty(); } /** * view * here some templates **/ var view = { twitch : function (ch, auto) { return '<div class="tw-stream">' +'<object type="application/x-shockwave-flash" height="462" width="770" ' +'data="http://www.justin.tv/widgets/live_embed_player.swf?channel=' + ch + '" bgcolor="#000000">' +'<param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" />' +'<param name="movie" value="http://www.justin.tv/widgets/live_embed_player.swf" />' +'<param value="opaque" name="wmode"><param name="bgcolor" value="#000000">' +'<param name="flashvars" value="auto_play=' + auto + '&channel=' + ch + '&start_volume=25" /></object></div>'; }, own3d : function (ch, auto) { return '<div class="ow-stream">' +'<object width="770" height="434">' +'<param name="movie" value="http://www.own3d.tv/livestream/' + ch + ';autoplay=' + auto + '" />' +'<param name="allowscriptaccess" value="always" />' +'<param name="allowfullscreen" value="true" />' +'<param name="bgcolor" value="#000000"><param name="wmode" value="opaque">' +'<embed src="http://www.own3d.tv/livestream/' + ch + ';autoplay=' + auto + '" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="770" height="434" wmode="transparent">' +'</embed></object></div>'; }, preview : function(d, t) { var o = 'onclick="Open.stream(\'' + d[2] + '\')"', id = (t =="tab") ? 'id="tab-'+d[2]+'"' : '', c = (t =="tab") ? 'onmousedown="tab.close(\''+d[2]+'\');return false;"' : '', cl = (t =="tab") ? '<b title="close stream" class="cls" '+c+'></b>' : '', code = '<div '+ id +' ' + o + '>' + cl + '<div class="tl"><b>' + d[6] + '</b> ' + d[1] + '</div>' + '<img src="' + d[3] + '">' + '<i class="flag-' + d[4].toUpperCase() + '"></i></div>'; return code; }, comments : function(u) { //code for commentaries var k = '$(\'#commstabs a\').removeClass(\'active\');$(this).addClass(\'active\')', stream = '<div id="commstabs"><a class="active" onclick="$(\'.sitecomms\').hide();$(\'.comments\').show();'+k+'">vk.com</a> | ' + '<a onclick="$(\'.sitecomms\').show().html(view.comms.' + u[0] + '(\'' + u[2] + '\'));' + '$(\'.comments\').hide();' + k + '">' + u[0] + '.tv</a></div>' + '<div class="comments"><div id="vk_comments"></div></div>' + '<div class="sitecomms" style="display:none"></div>'; return stream; }, comms : { //code for commentaries some sites twitch : function (channel) { return '<iframe src="http://twitch.tv/chat/embed?channel=' + channel + '&popout_chat=true" width="770px" ' + 'height="320px" scrolling="no" frameborder="0"></iframe>'; }, own3d : function (channel) { return '<iframe src="http://www.own3d.tv/chatpopout/live_' + channel + '" width="770px" ' + 'height="320px" scrolling="no" frameborder="0"></iframe>' } } } /** * Cookie * get -> return bool * get + set -> set val for cookie (name = get) **/ var Cookie = function(get, set) { if(set) { $.cookie(get, set, {expires: 300}); return; } var val = $.cookie(get); if(val === null || val == 'true') { return true; } else if(val == 'false') { return false; } else { return val; } } /** * api * some vk.com methods **/ var api = { comments : function(url, id) { VK.Widgets.Comments((id ? id : 'vk_comments'), { limit: 10, mini: 0, autoPublish: 0, attach: '*' }, url); }, location : function(arr) { VK.callMethod("setLocation", '/' + arr.join('/')); }, url : function(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.href); if(results == null) return null; return results[1]; }, autosize : function() { if (typeof VK.callMethod != 'undefined') { hn = $('#main').height(); if(hn != _.current.height) { VK.callMethod('resizeWindow', 780, hn + 1); _.current.height = hn; } } else setTimeout(function(){ api.autosize(); }, 300); }, share : function() { var a = _.stream.history[_.current.stream], img = { dota2 : 'photo154697087_283251183', lol : 'photo154697087_283251186', diablo3 : 'photo154697087_283251185', starcraft2: 'photo154697087_283251184', minecraft : 'photo154697087_283251241', }; VK.api('wall.post',{ owner_id: api.url('viewer_id'), message: 'Stream by '+a[1]+', прямо сейчас!\n'+a[5], attachment: img[a[7]] + ',' + 'http://vk.com/app2859789#/'+a[7]+'/'+a[0]+'/'+a[2], }); }, } /** * parse * for editing loaded data into other data :) **/ var parse = { own3d : function(data) { _.stream.loaded.own3d = 1; rending.game(); }, twitch : function(data) { if(!data) { _.stream.loaded.twitch = 1; rending.game(); return; } $.each(data, function(i, val) { var lang = val.language || 'en'; lang = lang.replace(/[a-z]+\-([a-z]+)/g, '$1') var title = val.channel.title || 'notitle'; // var desc = val.title; var view = val.channel_count; var url = val.channel.login; var thumb = val.channel.screen_cap_url_large; _.stream.array.push([url, +view]); _.stream.data[url] = ['twitch', title, url, thumb, lang, desc, view]; }); _.stream.loaded.twitch = 1; rending.game(); }, } /** * rending * for rending some data and templates into html **/ var rending = { menu : (function() { var code = '', total = (function(){ var k = 0; $.each(_.games,function(i,v){k++}) return Math.ceil(k / 5); //5 - кол-во столбиков })(), i = 1; $.each(_.games, function(k, val) { var o = 'onmousedown="Open.game(\'' + k + '\')" ' + 'id="' + k + '"'; if(i % total == 1) { code += i == 1 ? '<ul class="first"><div>' : '<ul><div>'; } code += '<li ' + o + '>' + val[2] + '</li>'; if(i++ % total == 0) { code += '</div></ul>'; } }) return code; })(), settings : (function() { var code = ''; $.each(_.options, function(k, val) { var c = Cookie(k), o = 'onclick="settings(\'' + k + '\')"'; code += '<div class="option" ' + o + ' id="'+k+'">' code += '<i class="chb ' + (c ? 'on' : '') + '" ></i>'; code += val[0] + '</div>'; }); return code; })(), game : function() { if(_.stream.loaded.twitch && _.stream.loaded.own3d) { /*TIMER*/var t0 = new Date(); var data = _.stream.data, arr = _.stream.array, code = ''; $.each(arr, function(i, v) { var d = data[v[0]]; code += view.preview(d); }) $('#streamlist').html(code); $('#loader').hide(); $('#reload').show(); if(_.current.onload) { Open.stream(_.current.onload); _.current.onload = false; } /*TIMER*/console.log(new Date() - t0 + ' rend game') } }, stream : function(user) { var u = _.stream.history[user], code = view[u[0]](u[2], Cookie('autoplay').toString()); if(Cookie('comments')) code += view.comments(u); return code; }, tab : function(user) { var d = _.stream.history[user]; return view.preview(d, 'tab'); }, } /** * load * for load some jsonp **/ var load = { game : function(site, game) { var num = (site == 'twitch') ? 0 : 1; //num in games array if(_.games[game][num] == null) { _.stream.loaded[site] = 1; return; } if(site == 'own3d') { _.stream.loaded[site] = 1; return; } var url = (game != 'all') ? (_.sites[site].join('') + _.games[game][num] + '&limit=24') : _.sites[site][0]+ '?limit=24'; $.ajax({ type: 'GET', url : url, dataType : 'jsonp', success : function(data) { parse[site](data); }, error : function(data) { load.game(site, game); }} ); } } /** * tab * object with some methods for tabs **/ var tab = { create : function(user) { var code = rending.tab(user); $('#tabslist').prepend(code); tab.check(); }, active : function(user) { tab.switch($('#alltabs')); $('#tabslist > div').removeClass('active'); $('#tab-' + user).addClass('active'); }, switch : function(el) { var tab = $(el).data('tab'); $('#topmenu > div').removeClass('active'); $(el).addClass('active'); $('#bottommenu > div').hide(); $(tab).show(); }, scroll : function(h, total) { var left = $('#tabslist').css('left').replace(/([0-9\-]+)px/, '$1'), newlft = total + 25 || +left + h; $('#tabslist').animate({'left': newlft + 'px'}, 300, function(){ tab.check(); }); }, check : function(left) { var l = 0, left = +$('#tabslist').css('left').replace(/([0-9\-]+)px/, '$1'); $.each(_.stream.history, function(){l++}); if(left != 25) { $('#scleft').removeClass('locked'); } else { $('#scleft').addClass('locked'); } if(l >= 5) { if(left == (25 - (l - 4) * 182)) { $('#scright').addClass('locked'); } else { $('#scright').removeClass('locked'); } } else { $('#scright').addClass('locked'); } $('#alltabs i').show().html(l); }, close : function(user) { delete _.stream.history[user]; if($('#tab-' + user).hasClass('active')) { $('#tab-' + user).remove(); Open.game(_.current.game); } else { $('#tab-' + user).remove(); } tab.check(); return false; } } /** * settings * function witch change checkbox **/ var settings = function(name) { var val = Cookie(name); if(val) { Cookie(name, 'false'); $('#' + name + ' i').removeClass('on'); } else { Cookie(name, 'true'); $('#' + name + ' i').addClass('on'); } } /** * Open * обработка some methods like open game or open stream **/ var Open = { game : function(game) { clear(); if(game) _.current.game = game; else game = _.current.game; $('#tabslist > div, #gamesmenu li').removeClass('active'); $('#gamesmenu #' + game).addClass('active'); $('#streamlist, #loader').show(); $('#stream').hide().empty(); $('#streamname, #reload').hide(); $('#gamename').show().find('#gametitle').html(_.games[game][2]) tab.switch($('#allgame')); if(game == 'yoba') { $('#loader').hide(); _.current.onload = false; Open.stream('yobavideogames'); } else { load.game('own3d', game); load.game('twitch', game); } api.location([game]); }, stream : function(user) { if(!_.stream.history[user]) { if(user == 'yobavideogames') { _.stream.history.yobavideogames = ['twitch', 'Yoba Videogames', 'yobavideogames', 'http://cs305606.userapi.com/g18596193/d_9bce2e6d.jpg', 'ru', '', 'OVER 9000', 'yoba']; } else { _.stream.history[user] = _.stream.data[user]; _.stream.history[user].push(_.current.game); } tab.create(user); } _.current.stream = user; var code = rending.stream(user); $('#streamlist, #noopenstream, #gamename').hide(); $('#stream').show().html(code); $('#streamname').show().find('#streamtitle').html(_.stream.history[user][1]); $('#gamesmenu li').removeClass('active'); tab.active(user); if(Cookie('comments')) api.comments(user); api.location([_.stream.history[user][7],_.stream.history[user][0],user]) } } $(function(){ //paste menu and other things when onload setInterval(function(){ api.autosize(); },300); $('#gamesmenu').html(rending.menu); $('#insert').html(rending.settings); }) /***************** Binds *****************/ $(function(){ $('#topmenu > .tb').bind('mouseover', function () { if(!Cookie('isclick')) tab.switch(this); }) $('#topmenu > .tb').bind('mousedown', function () { if(Cookie('isclick')) tab.switch(this); }) $('#scleft').bind('click', function () { if(!$(this).hasClass('locked')) tab.scroll(182); }) $('#scright').bind('click', function () { if(!$(this).hasClass('locked')) tab.scroll(-182); }) }) /***************** load game *****************/ $(function(){ var hash = api.url('hash'); if(hash != null) { var a = decodeURIComponent(hash).match(/\/(\w+)(\/(own3d|twitch)\/(\w+))?/); if(a == null || a[1] == null) { //if not match Open.game('all'); //all return; } if(a[3] == null || a[4] == null) { //if match only game Open.game(a[1]); return; } //if full math with some stream _.current.onload = a[4]; //make onload Open.game(a[1]); return; } else { Open.game('all'); } }); /***************** Save user *****************/ $(function(){ VK.init(function() { var viewer_id = api.url('viewer_id'), auth_key = api.url('auth_key'), appi_set = api.url('api_settings'); if(appi_set !== null && appi_set != 0) { $.ajax({ type : 'POST', url : '/users.php', data : { "viewer_id": viewer_id, "auth_key": auth_key }, success : function(data) { console.log(data == "true" ? "Юзер добавлен" : "Ошибка записи"); }, error : function(d) { console.log('error: ' + d) } }); } else { console.log('Пользователь запретил оповещения.'); } }); }) Изменено 23 февраля 2013 пользователем SPYHunter https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
TycoooN #1058 23 февраля 2013 Раньше лучше было же А жаваскрипт пиздец убогий язык конечно. Поделиться сообщением Ссылка на сообщение
SPYHunter #1059 23 февраля 2013 Может и убогий, но писать на нем удовольствие. Код не хуже. Код который написан месяц назад без жквери, что местами уменьшает его читаемость. НО В нем реализована инкапсуляция. Поэтому в глобальной зоне всего 6 функций и ни одной переменной. Нет ни куска html, все селекторы инкапсулированы. Код быстрый. Все шаблоны кешируются. собсно вот http://stream.rankedgaming.ru/new/ (приложение для контактика) Код написанный позже комментировать смысла нет. https://insave.hostinghttps://horhul.me Поделиться сообщением Ссылка на сообщение
mos-tal #1060 23 февраля 2013 Господи нахуй ты это все написал. Заведи друзей Поделиться сообщением Ссылка на сообщение