MCPcopy Create free account
hub / github.com/SimHacker/micropolis / c

Function c

turbogears/micropolis/htdocs/static/javascript/all.js:11–11  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9FB.provide('JSON',{stringify:function(a){if(window.Prototype&&Object.toJSON){return Object.toJSON(a);}else return JSON.stringify(a);},parse:function(a){return JSON.parse(a);},flatten:function(c){var a={};for(var b in c)if(c.hasOwnProperty(b)){var d=c[b];if(null===d||undefined===d){continue;}else if(typeof d=='string'){a[b]=d;}else a[b]=FB.JSON.stringify(d);}return a;}});
10FB.provide('',{api:function(){if(typeof arguments[0]==='string'){FB.ApiServer.graph.apply(FB.ApiServer,arguments);}else FB.ApiServer.rest.apply(FB.ApiServer,arguments);}});FB.provide('ApiServer',{METHODS:['get','post','delete','put'],_callbacks:{},_readOnlyCalls:{fql_query:true,fql_multiquery:true,friends_get:true,notifications_get:true,stream_get:true,users_getinfo:true},graph:function(){var a=Array.prototype.slice.call(arguments),f=a.shift(),d=a.shift(),c,e,b;while(d){var g=typeof d;if(g==='string'&&!c){c=d.toLowerCase();}else if(g==='function'&&!b){b=d;}else if(g==='object'&&!e){e=d;}else{FB.log('Invalid argument passed to FB.api(): '+d);return;}d=a.shift();}c=c||'get';e=e||{};if(f[0]==='/')f=f.substr(1);if(FB.Array.indexOf(FB.ApiServer.METHODS,c)<0){FB.log('Invalid method passed to FB.api(): '+c);return;}FB.ApiServer.oauthRequest('graph',f,c,e,b);},rest:function(e,a){var c=e.method.toLowerCase().replace('.','_');if(FB.Auth&&c==='auth_revokeauthorization'){var d=a;a=function(f){if(f===true)FB.Auth.setSession(null,'notConnected');d&&d(f);};}e.format='json-strings';e.api_key=FB._apiKey;var b=FB.ApiServer._readOnlyCalls[c]?'api_read':'api';FB.ApiServer.oauthRequest(b,'restserver.php','get',e,a);},oauthRequest:function(b,f,c,e,a){if(FB._session&&FB._session.access_token&&!e.access_token)e.access_token=FB._session.access_token;e.sdk='joey';e.pretty=0;var d=a;a=function(h){if(FB.Auth&&h&&FB._session&&FB._session.access_token==e.access_token&&(h.error_code==='190'||(h.error&&(h.error==='invalid_token'||h.error.type==='OAuthException'))))FB.getLoginStatus(null,true);d&&d(h);};try{FB.ApiServer.jsonp(b,f,c,FB.JSON.flatten(e),a);}catch(g){if(FB.Flash.hasMinVersion()){FB.ApiServer.flash(b,f,c,FB.JSON.flatten(e),a);}else throw new Error('Flash is required for this API call.');}},jsonp:function(b,f,d,e,a){var c=FB.guid(),g=document.createElement('script');if(b==='graph'&&d!=='get')e.method=d;e.callback='FB.ApiServer._callbacks.'+c;var h=(FB.getDomain(b)+f+(f.indexOf('?')>-1?'&':'?')+FB.QS.encode(e));if(h.length>2000)throw new Error('JSONP only support a maximum of 2000 bytes of input.');FB.ApiServer._callbacks[c]=function(i){a&&a(i);delete FB.ApiServer._callbacks[c];g.parentNode.removeChild(g);};g.src=h;document.getElementsByTagName('head')[0].appendChild(g);},flash:function(b,e,c,d,a){if(!window.FB_OnXdHttpResult)window.FB_OnXdHttpResult=function(g,f){FB.ApiServer._callbacks[g](decodeURIComponent(f));};FB.Flash.onReady(function(){var h=FB.getDomain(b)+e,f=FB.QS.encode(d);if(c==='get'){if(h.length+f.length>2000){if(b==='graph')d.method='get';c='post';f=FB.QS.encode(d);}else{h+=(h.indexOf('?')>-1?'&':'?')+f;f='';}}else if(c!=='post'){if(b==='graph')d.method=c;c='post';f=FB.QS.encode(d);}var g=document.XdComm.sendXdHttpRequest(c.toUpperCase(),h,f,null);FB.ApiServer._callbacks[g]=function(i){a&&a(FB.JSON.parse(i));delete FB.ApiServer._callbacks[g];};});}});
11FB.provide('EventProvider',{subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap;},subscribe:function(b,a){var c=this.subscribers();if(!c[b]){c[b]=[a];}else c[b].push(a);},unsubscribe:function(b,a){var c=this.subscribers()[b];FB.Array.forEach(c,function(e,d){if(e==a)c[d]=null;});},monitor:function(d,a){if(!a()){var b=this,c=function(){if(a.apply(a,arguments))b.unsubscribe(d,c);};this.subscribe(d,c);}},clear:function(a){delete this.subscribers()[a];},fire:function(){var a=Array.prototype.slice.call(arguments),b=a.shift();FB.Array.forEach(this.subscribers()[b],function(c){if(c)c.apply(this,a);});}});FB.provide('Event',FB.EventProvider);
12FB.provide('XD',{_origin:null,_transport:null,_callbacks:{},_forever:{},init:function(a){if(FB.XD._origin)return;if(window.addEventListener&&!window.attachEvent&&window.postMessage){FB.XD._origin=(window.location.protocol+'//'+window.location.host+'/'+FB.guid());FB.XD.PostMessage.init();FB.XD._transport='postmessage';}else if(!a&&FB.Flash.hasMinVersion()){FB.XD._origin=(window.location.protocol+'//'+document.domain+'/'+FB.guid());FB.XD.Flash.init();FB.XD._transport='flash';}else{FB.XD._transport='fragment';FB.XD.Fragment._channelUrl=a||window.location.toString();}},resolveRelation:function(b){var g,d,f=b.split('.'),e=window;for(var a=0,c=f.length;a<c;a++){g=f[a];if(g==='opener'||g==='parent'||g==='top'){e=e[g];}else if(d=/^frames\[['"]?([a-zA-Z0-9-_]+)['"]?\]$/.exec(g)){e=e.frames[d[1]];}else throw new SyntaxError('Malformed id to resolve: '+b+', pt: '+g);}return e;},handler:function(a,e,b){if(window.location.toString().indexOf(FB.XD.Fragment._magic)>0)return 'javascript:false;//';var f=FB.getDomain('cdn')+'connect/xd_proxy.php#',c=FB.guid();if(FB.XD._transport=='fragment'){f=FB.XD.Fragment._channelUrl;var d=f.indexOf('#');if(d>0)f=f.substr(0,d);f+=((f.indexOf('?')<0?'?':'&')+FB.XD.Fragment._magic+'#?=&');}if(b)FB.XD._forever[c]=true;FB.XD._callbacks[c]=a;return f+FB.QS.encode({cb:c,origin:FB.XD._origin,relation:e||'opener',transport:FB.XD._transport});},recv:function(b){if(typeof b=='string')b=FB.QS.decode(b);var a=FB.XD._callbacks[b.cb];if(!FB.XD._forever[b.cb])delete FB.XD._callbacks[b.cb];a&&a(b);},PostMessage:{init:function(){var a=FB.XD.PostMessage.onMessage;window.addEventListener?window.addEventListener('message',a,false):window.attachEvent('onmessage',a);},onMessage:function(event){FB.XD.recv(event.data);}},Flash:{init:function(){FB.Flash.onReady(function(){document.XdComm.postMessage_init('FB.XD.Flash.onMessage',FB.XD._origin);});},onMessage:function(a){FB.XD.recv(decodeURIComponent(a));}},Fragment:{_magic:'fb_xd_fragment',checkAndDispatch:function(){var b=window.location.toString(),a=b.substr(b.indexOf('#')+1),c=b.indexOf(FB.XD.Fragment._magic);if(c>0){FB.init=FB.getLoginStatus=FB.api=function(){};document.documentElement.style.display='none';FB.XD.resolveRelation(FB.QS.decode(a).relation).FB.XD.recv(a);}}}});FB.XD.Fragment.checkAndDispatch();
13FB.provide('Arbiter',{inform:function(c,e,f,b){if(FB.Canvas.isTabIframe()){var d=FB.JSON.stringify({method:c,params:e});if(window.postMessage){FB.XD.resolveRelation(f||'parent').postMessage(d,'*');return;}else try{window.opener.postMessage(d);return;}catch(a){}}var h=(FB.getDomain((b?'https_':'')+'staticfb')+'connect/canvas_proxy.php#'+FB.QS.encode({method:c,params:FB.JSON.stringify(e||{}),relation:f}));var g=FB.Content.appendHidden('');FB.Content.insertIframe({url:h,root:g,width:1,height:1,onload:function(){setTimeout(function(){g.parentNode.removeChild(g);},10);}});}});
14FB.provide('Canvas',{_timer:null,_lastSize:{},setSize:function(b){if(typeof b!="object")b={};b=FB.copy(b||{},FB.Canvas._computeContentSize());b=FB.copy(b,{frame:window.name||'iframe_canvas'});if(FB.Canvas._lastSize[b.frame]){var a=FB.Canvas._lastSize[b.frame].height;if(FB.Canvas._lastSize[b.frame].width==b.width&&(b.height<=a&&(a-b.height<=16)))return false;}FB.Canvas._lastSize[b.frame]=b;FB.Arbiter.inform('setSize',b);return true;},setAutoResize:function(b,a){if(a===undefined&&typeof b=="number"){a=b;b=true;}if(b===undefined||b){if(FB.Canvas._timer===null)FB.Canvas._timer=window.setInterval(FB.Canvas.setSize,a||100);FB.Canvas.setSize();}else if(FB.Canvas._timer!==null){window.clearInterval(FB.Canvas._timer);FB.Canvas._timer=null;}},isTabIframe:function(){return (window.name.indexOf('app_runner_')===0);},_computeContentSize:function(){var a=document.body,c=document.documentElement,d=0,b=Math.max(Math.max(a.offsetHeight,a.scrollHeight)+a.offsetTop,Math.max(c.offsetHeight,c.scrollHeight)+c.offsetTop);if(a.offsetWidth<a.scrollWidth){d=a.scrollWidth+a.offsetLeft;}else FB.Array.forEach(a.childNodes,function(e){var f=e.offsetWidth+e.offsetLeft;if(f>d)d=f;});if(c.clientLeft>0)d+=(c.clientLeft*2);if(c.clientTop>0)b+=(c.clientTop*2);return {height:b,width:d};}});

Callers 1

all.jsFile · 0.70

Calls 2

applyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected