// @name Ponyhoof
// @namespace http://www.facebook.com/ponyhoof
// @run-at document-start
-// @version 1.651
+// @version 1.711
// @installURL https://hoof.little.my/files/ponyhoof.user.js
// @updateURL https://hoof.little.my/files/ponyhoof.meta.js
// @icon https://hoof.little.my/files/app32.png
var USERAGENT = w.navigator.userAgent.toLowerCase();
var ISOPERABLINK = /OPR\//.test(w.navigator.userAgent);
-var ISOPERA = !ISOPERABLINK && (typeof opera != 'undefined' || /opera/i.test(USERAGENT));
-var ISCHROME = !ISOPERABLINK && (typeof chrome != 'undefined' || /chrome/i.test(USERAGENT));
-var ISFIREFOX = /firefox/i.test(USERAGENT);
-var ISSAFARI = !ISOPERABLINK && !ISCHROME && /safari/i.test(USERAGENT);
+var ISOPERA = !ISOPERABLINK && (typeof opera !== 'undefined' || /opera/.test(USERAGENT));
+var ISMAXTHON = /maxthon/i.test(USERAGENT);
+var ISMSIE = !ISMAXTHON && !ISOPERA && typeof opera === 'undefined' && /trident/.test(USERAGENT);
var ISMOBILE = /iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(USERAGENT);
+var ISCHROME = !ISMAXTHON && !ISOPERABLINK && /chrome/i.test(USERAGENT) && typeof chrome !== 'undefined' && typeof chrome.webstore !== 'undefined' && typeof chrome.webstore.install !== 'undefined' && chrome.webstore.install;
+var ISFIREFOX = /firefox/i.test(USERAGENT);
+var ISSAFARI = !ISOPERABLINK && !ISCHROME && !/chrome/i.test(USERAGENT) && /safari/i.test(USERAGENT);
+var ISAVANT = /avant/i.test(USERAGENT);
// R.I.P. unsafeWindow in Chrome 27+ http://crbug.com/222652
if (typeof unsafeWindow == 'undefined') {
function dir(msg) {
if (CANLOG) {
- if (typeof console !== 'undefined' && console.dir) {
- console.dir(SIG + ' ' + msg);
+ if (typeof console !== 'undefined' && console.log && console.dir) {
+ console.log(SIG);
+ console.dir(msg);
}
}
}
k.content = null; // .uiScrollableAreaContent
k.button = null;
k.wrap = null; // ponyhoof_menu_wrap, used to separate button and menu
+ k._scrollTop = 0; // fix a bug on old safari where menu jumps back to top
k.menuSearch = null; // .ponyhoof_menu_search
k.menuSearchInput = null;
k.alwaysOverflow = false;
k.rightFaced = false;
k.buttonTextClipped = 0;
+ k.searchNoResultsMessage = "No results";
k.createButton = function(startText) {
if (!startText) {
k.menuSearchNoResults = d.createElement('div');
k.menuSearchNoResults.className = 'ponyhoof_menu_search_noResults';
- k.menuSearchNoResults.textContent = "No results";
+ k.menuSearchNoResults.textContent = k.searchNoResultsMessage;
k.menuSearch.appendChild(k.menuSearchNoResults);
k.menuSearchInput.addEventListener('keydown', k.searchEscapeKey, false);
k.injectStyle = function() {
var css = '';
- css += 'html .ponyhoof_dialog .ponyhoof_button_menu, .ponyhoof_menuitem_checked {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADdCAYAAABNAoDAAAADbElEQVR42u3Xv06aARTG4XN93oYm7eDgakw7OXsD3oBpByevBhRKVVSooIDrKR9TGxOhSRM5n8+T/MKf8C1neUMkAFBeLF5eUpIk1S4W80VKkqTaxXw+T0mSVLuYzeYpSZJqF7PnWUqSpNrF0/NTSpKk2sX0aZqSJKl2MZ0u30iSpHdtZ+90bW89H5PJJCVJ0vu3e3iWRycXr2q+X/dsPD7+SkmStB19/vr9rzFvPm/yXIzH45QkSdvTwfH5asyb102fifFo+UaSJG1VqzH/h9/HaPSQkiSpdvFwf5+SJKl2cXd3l5IkqXYxHA5TkiTVLm5vb1OSJNUurm9uUpIk1S6ur3+mJEmqXQwGg5QkSbWLH/1+SpKk2kW/30tJklS76F31UpIk1S6uLi9TkiTVLrrdbkqSpNpFp9NJSZJUO4MuSZJBlyRJBl2SJBl0SZJk0CVJMuiSJMmgS5Ikgy5Jkgy6JEkGXZIkGXRJkmTQJUmSQZckyaBLkiSDLkmSDLokSTLokiQZdEmSZNAlSZJBlyRJBl2SpPYPOgAAAAAAAAAAAAAAAAAAAAAAAAD/WW7AlQCg+Ki7DgAUH3VXAYDio+4aAFB81F0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4cHb2TnNdrgQABewenuXRycWrmu9dBwAK+fTl2+TPMW8+uwoAFHRwfL4a8+bVNQCg+Ki7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW29/fz9dAQCKj7lBB4AWjLlBB4BC423MAaAl/8aNOQC0YNCNOQC0aNRdAwCKj7orAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBq55AoAUHzMDToAtGDMDToAFBpvYw4ALfk3bswBoAWDbswBoEWj7hoAUHzUXQEAAAAAAN7yG6s7d/s7eB9vAAAAAElFTkSuQmCC") !important;background-repeat:no-repeat;-webkit-background-size:500px 221px;-moz-background-size:500px 221px;background-size:500px 221px;}';
+ css += 'html .ponyhoof_dialog .ponyhoof_button_menu, .ponyhoof_menuitem_checked {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADdCAMAAAB63HDyAAAAaVBMVEUAAABnfapKZJtjeahofqtsbGxwhK97jrXb29vc3Nze3d3f3t/g4N/h4ODi4uLk5OPk5eXm5ubn5+fo6Ojq6enr6+rs6+zs7Ozu7u3v7+/w8PDw8fDx8vHz8vPz8/T09PT19PX19vb////xKBXBAAAAAnRSTlMA70YmMtEAAAFWSURBVHja7d05UsNQFETRNjIS8zzPeP+LxK7CmA04UZ8T6aV968fKijr5pk6+qJNP6uSDOnmnTt6ok1fq5IXZO9j6vfPM/A3TxrA980SB5br58u/KIw3GadwdeaDC+O8799TJHXVyS53cUCfX1MkVdXJJnVxQJ+fUyRl1ckqdnFAnx9TJEXVEFx3RER3RER3RER3RER3RER3RER3RER3REV10REd05hMdAAAAANij3V/4qKtuiL7qZuirboS+6iYAAAAAAAAAAAAAAAAAAAAAAAAAAACA/TrYMkWRYdoYDFFlsW6+MEOZcRqN0FfdBAAAAAAAAAAAAAAAAAAAAAAAAABzcWiCvuaiFzYXvaq35o2PXPPC6JpXVjdCX3UTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBnZYK+5qIXNhe9qrfmjY9c88LomldWN0JfdRMAzMcPe9ehQpH/3pgAAAAASUVORK5CYII=") !important;background-repeat:no-repeat;-webkit-background-size:500px 221px;-moz-background-size:500px 221px;background-size:500px 221px;}';
css += 'html .ponyhoof_dialog .ponyhoof_button_menu {background-position:right 0;padding-right:23px;}';
css += 'html .ponyhoof_button_menu:active {background-position:right -98px;}';
- css += 'html .openToggler .ponyhoof_button_menu {background-color:#6D84B4;background-position:right -49px;border-color:#3B5998;border-bottom-color:#6D84B4;-moz-box-shadow:none;box-shadow:none;}';
+ css += 'html .openToggler .ponyhoof_button_menu {background-color:#6D84B4;background-position:right -49px;border-color:#3B5998;border-bottom-color:#6D84B4;box-shadow:none;}';
css += 'html .openToggler .ponyhoof_button_menu .uiButtonText {color:#fff;}';
css += '.ponyhoof_menu_label {padding:7px 4px 0 0;}';
css += '.ponyhoof_menuitem_checked:hover, .ponyhoof_menuitem_checked:active, .ponyhoof_menuitem_checked:focus {background-position:0 -206px;}';
css += '.ponyhoof_menuitem_span {white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;padding-right:16px;max-width:400px;vertical-align:top;}';
- css += '.ponyhoof_button_clipped .uiButtonText {text-overflow:ellipsis;overflow:hidden;}';
+ css += '.ponyhoof_button_clipped > .uiButtonText {text-overflow:ellipsis;overflow:hidden;vertical-align:top;}';
+
+ if (ISMOBILE) {
+ css += '.ponyhoof_menu .uiMenu.overflow {resize:none !important;height:auto !important;}';
+ }
injectManualStyle(css, 'menu');
};
}
if (k.canSearch && !ISMOBILE) {
- var scrollTop = k.selectorMenu.scrollTop;
k.menuSearchInput.focus();
k.menuSearchInput.select();
+ }
- k.selectorMenu.scrollTop = scrollTop;
+ // Poke the menu to show the scroll visual cue on Mac OS
+ if (k._scrollTop) {
+ k.selectorMenu.scrollTop = 0;
+ } else {
+ k.selectorMenu.scrollTop = 1;
}
+ k.selectorMenu.scrollTop = k._scrollTop;
d.body.addEventListener('keydown', k.documentEscapeKey, false);
d.body.addEventListener('click', k.documentClick, false);
k.close = function() {
if (hasClass(k.wrap, 'openToggler')) {
+ k._scrollTop = k.selectorMenu.scrollTop;
+
removeClass(k.wrap, 'openToggler');
d.body.removeEventListener('keydown', k.documentEscapeKey, false);
d.body.removeEventListener('click', k.documentClick, false);
// Dialog
var DIALOGS = {};
-var DIALOGCOUNT = 400;
+var DIALOGCOUNT = 2000;
var Dialog = function(id) {
var k = this;
css += '.ponyhoof_dialog .generic_dialog_modal, .ponyhoof_dialog .generic_dialog_fixed_overflow {background-color:rgba(0,0,0,.4) !important;}';
css += '.ponyhoof_dialog .generic_dialog {z-index:250;}';
css += '.ponyhoof_dialog .generic_dialog_popup {margin-top:80px;}';
- css += '.ponyhoof_dialog .popup {width:465px;margin:0 auto;cursor:default;-moz-box-shadow:0 2px 26px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 0, 0, .1);box-shadow:0 2px 26px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 0, 0, .1);}';
+ css += '.ponyhoof_dialog .popup {width:465px;margin:0 auto;cursor:default;box-shadow:0 2px 26px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0, 0, 0, .1);}';
css += cx+' .ponyhoof_dialog .popup {font-family:"Helvetica Neue", Helvetica, Arial, "lucida grande",tahoma,verdana,arial,sans-serif;}';
css += '.ponyhoof_dialog .wrap {background:#fff;color:#000;}';
css += '.ponyhoof_dialog h3 {background-color:#6D84B4;border:1px solid #3B5998;border-bottom:0;color:#fff;font-size:14px !important;font-weight:bold !important;padding:5px 5px 5px 10px;cursor:help;min-height:17px;font-family:\'lucida grande\',tahoma,verdana,arial,sans-serif !important;line-height:1.28 !important;}';
- css += cx+' .ponyhoof_dialog h3 {background:#f5f6f7;border:0;border-bottom:1px solid #e5e5e5;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;color:#4e5665;line-height:19px !important;padding:10px 12px;text-shadow:0 1px 0 #fff;font-family:\'Helvetica Neue\', Helvetica, Arial, \'lucida grande\',tahoma,verdana,arial,sans-serif !important;}';
- css += '.ponyhoof_dialog h3:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVQ4y43TzytEURQH8BnDyGKKZIGlHwtTrKZQNmJPWMxO2VopKdkoCzul7PwBkpK17NlYkGz8G7LzsXBe3cbz3tz69s65536/nfe951ZQ6cAkWjn7ucjb3MdjxFWMJLVlrJYJTGAp4l4coBH5A95C+F+BFH14QTPyRawUdVDHcJLX/K52tx70YxuXmMZ6CNxFfQEzZR7UcRvEr/h+4hnv3QhkuPF3bRT9whZOMRB5u4P8gdkwNlfgPA5WMZYQv5N4raiDKcxjEFc4w2EQX3GCC4yXeTCE0eRW4CipX2Ov20GqhPM7yWRmHRUKzOEePTgOgzOBXWyWCTTxFIRWCHb9GrMRbsSN1AK5Z38AQdAu/IfZJw8AAAAASUVORK5CYII=");background-repeat: no-repeat;display:inline-block;float:right;content:" ";width:16px;height:16px;opacity:.713;}';
+ css += cx+' .ponyhoof_dialog h3 {background:#f5f6f7;border:0;border-bottom:1px solid #e5e5e5;border-radius:3px 3px 0 0;color:#4e5665;line-height:19px !important;padding:10px 12px;text-shadow:0 1px 0 #fff;font-family:\'Helvetica Neue\', Helvetica, Arial, \'lucida grande\',tahoma,verdana,arial,sans-serif !important;}';
+ css += '.ponyhoof_dialog h3:before {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA90lEQVQYGQXBP0oWAADA0ff9NURBRAVDMBcHl9SpIbCamsOhcOsMObiEICJ2gJYQWhqkscmWTlFeoJbASacIfr4ngaZtAZAGJBLoRV+hDdKjdpJIoJl2oGPopEsSCdAA+tksLfWEREIakcb963ljGpJIoNe9a7eX1beGLbdOIoF01m231U2/um6RRELzpI9V1V2bkEja7qi55npfVf3pbRMSSQddN2ml31XV//YgkTTpWZM+d9xh9aMPfWq3QSKhcQ8a01p/O+hxC522n0gAWqWrnjag750nEqCHXTTbeWs07U3biQRosS9Ne9UIWm6YSABap3kAkntUReU7PxfnpgAAAABJRU5ErkJggg==");background-repeat: no-repeat;display:inline-block;float:right;content:" ";width:16px;height:16px;opacity:.713;}';
css += cx+' .ponyhoof_dialog h3:before {display:none;}';
css += '.ponyhoof_dialog .body {border:1px solid #555;border-top-width:0;}';
css += '.ponyhoof_dialog h3.hidden_elem + .body {border-top-width:1px;}';
css += cx+' .ponyhoof_dialog .body {border:0;}';
css += '.ponyhoof_dialog .content {padding:10px;}';
css += '.ponyhoof_dialog .bottom {background:#F2F2F2;border-top:1px solid #ccc;padding:8px 10px 8px 10px;text-align:right;}';
- css += cx+' .ponyhoof_dialog .bottom {-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}';
+ css += cx+' .ponyhoof_dialog .bottom {border-radius:0 0 3px 3px;}';
css += '.ponyhoof_dialog .bottom .lfloat {line-height:17px;margin-top:4px;}';
css += '.ponyhoof_dialog_header {background:#F2F2F2;border:solid #E2E2E2;border-width:1px 0;padding:4px 10px 5px;color:#333;font-size:11px;margin:0 -10px 8px;display:block;font-weight:bold;}';
css += '.ponyhoof_tabs_section {display:none;}';
if (ISMOBILE) {
- css += '#ponyhoof_welcome_scenery {background-image:none !important;}';
css += '.ponyhoof_dialog .generic_dialog {position:absolute;}';
- css += '.ponyhoof_menu .uiMenu.overflow {resize:none !important;height:auto !important;}';
}
injectManualStyle(css, 'dialog');
return document[prop];
};
+
+// http://stackoverflow.com/a/2745459
+var isCanvasSupported = function() {
+ return !!w.CanvasRenderingContext2D;
+};
+
+// http://stackoverflow.com/a/10930441
+var isWebPSupported = function(callback) {
+ var webp = new w.Image();
+ try {
+ webp.onload = webp.onerror = function() {
+ callback(webp.height === 2);
+ };
+ webp.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';
+ } catch (e) {
+ callback(false);
+ }
+};
+
// http://www.myersdaily.org/joseph/javascript/md5.js
function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-680876936),e=ff(e,b,a,d,c[1],12,-389564586),d=ff(d,e,b,a,c[2],17,606105819),a=ff(a,d,e,b,c[3],22,-1044525330),b=ff(b,a,d,e,c[4],7,-176418897),e=ff(e,b,a,d,c[5],12,1200080426),d=ff(d,e,b,a,c[6],17,-1473231341),a=ff(a,d,e,b,c[7],22,-45705983),b=ff(b,a,d,e,c[8],7,1770035416),e=ff(e,b,a,d,c[9],12,-1958414417),d=ff(d,e,b,a,c[10],17,-42063),a=ff(a,d,e,b,c[11],22,-1990404162),b=ff(b,a,d,e,c[12],7,1804603682),e=ff(e,b,a,d,c[13],12,-40341101),d=ff(d,e,b,a,c[14],17,-1502002290),a=ff(a,d,e,b,c[15],22,1236535329),b=gg(b,a,d,e,c[1],5,-165796510),e=gg(e,b,a,d,c[6],9,-1069501632),d=gg(d,e,b,a,c[11],14,643717713),a=gg(a,d,e,b,c[0],20,-373897302),b=gg(b,a,d,e,c[5],5,-701558691),e=gg(e,b,a,d,c[10],9,38016083),d=gg(d,e,b,a,c[15],14,-660478335),a=gg(a,d,e,b,c[4],20,-405537848),b=gg(b,a,d,e,c[9],5,568446438),e=gg(e,b,a,d,c[14],9,-1019803690),d=gg(d,e,b,a,c[3],14,-187363961),a=gg(a,d,e,b,c[8],20,1163531501),b=gg(b,a,d,e,c[13],5,-1444681467),e=gg(e,b,a,d,c[2],9,-51403784),d=gg(d,e,b,a,c[7],14,1735328473),a=gg(a,d,e,b,c[12],20,-1926607734),b=hh(b,a,d,e,c[5],4,-378558),e=hh(e,b,a,d,c[8],11,-2022574463),d=hh(d,e,b,a,c[11],16,1839030562),a=hh(a,d,e,b,c[14],23,-35309556),b=hh(b,a,d,e,c[1],4,-1530992060),e=hh(e,b,a,d,c[4],11,1272893353),d=hh(d,e,b,a,c[7],16,-155497632),a=hh(a,d,e,b,c[10],23,-1094730640),b=hh(b,a,d,e,c[13],4,681279174),e=hh(e,b,a,d,c[0],11,-358537222),d=hh(d,e,b,a,c[3],16,-722521979),a=hh(a,d,e,b,c[6],23,76029189),b=hh(b,a,d,e,c[9],4,-640364487),e=hh(e,b,a,d,c[12],11,-421815835),d=hh(d,e,b,a,c[15],16,530742520),a=hh(a,d,e,b,c[2],23,-995338651),b=ii(b,a,d,e,c[0],6,-198630844),e=ii(e,b,a,d,c[7],10,1126891415),d=ii(d,e,b,a,c[14],15,-1416354905),a=ii(a,d,e,b,c[5],21,-57434055),b=ii(b,a,d,e,c[12],6,1700485571),e=ii(e,b,a,d,c[3],10,-1894986606),d=ii(d,e,b,a,c[10],15,-1051523),a=ii(a,d,e,b,c[1],21,-2054922799),b=ii(b,a,d,e,c[8],6,1873313359),e=ii(e,b,a,d,c[15],10,-30611744),d=ii(d,e,b,a,c[6],15,-1560198380),a=ii(a,d,e,b,c[13],21,1309151649),b=ii(b,a,d,e,c[4],6,-145523070),e=ii(e,b,a,d,c[11],10,-1120210379),d=ii(d,e,b,a,c[2],15,718787259),a=ii(a,d,e,b,c[9],21,-343485551);f[0]=add32(b,f[0]);f[1]=add32(a,f[1]);f[2]=add32(d,f[2]);f[3]=add32(e,f[3])}function cmn(f,c,b,a,d,e){c=add32(add32(c,f),add32(a,e));return add32(c<<d|c>>>32-d,b)}function ff(f,c,b,a,d,e,g){return cmn(c&b|~c&a,f,c,d,e,g)}function gg(f,c,b,a,d,e,g){return cmn(c&a|b&~a,f,c,d,e,g)}function hh(f,c,b,a,d,e,g){return cmn(c^b^a,f,c,d,e,g)}function ii(f,c,b,a,d,e,g){return cmn(b^(c|~a),f,c,d,e,g)}function md51(f){var txt="";var c=f.length,b=[1732584193,-271733879,-1732584194,271733878],a;for(a=64;a<=f.length;a+=64)md5cycle(b,md5blk(f.substring(a-64,a)));f=f.substring(a-64);var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<f.length;a++)d[a>>2]|=f.charCodeAt(a)<<(a%4<<3);d[a>>2]|=128<<(a%4<<3);if(55<a){md5cycle(b,d);for(a=0;16>a;a++)d[a]=0}d[14]=8*c;md5cycle(b,d);return b}function md5blk(f){var c=[],b;for(b=0;64>b;b+=4)c[b>>2]=f.charCodeAt(b)+(f.charCodeAt(b+1)<<8)+(f.charCodeAt(b+2)<<16)+(f.charCodeAt(b+3)<<24);return c}var hex_chr="0123456789abcdef".split("");function rhex(f){for(var c="",b=0;4>b;b++)c+=hex_chr[f>>8*b+4&15]+hex_chr[f>>8*b&15];return c}function hex(f){for(var c=0;c<f.length;c++)f[c]=rhex(f[c]);return f.join("")}function md5(f){return hex(md51(f))}function add32(f,c){return f+c&4294967295}"5d41402abc4b2a76b9719d911017c592"!=md5("hello")&&(add32=function(f,c){var b=(f&65535)+(c&65535);return(f>>16)+(c>>16)+(b>>16)<<16|b&65535});
- var VERSION = 1.651;
+ var VERSION = 1.711;
var FRIENDLYNAME = 'P'+'onyh'+'oof';
var SIG = '['+FRIENDLYNAME+' v'+VERSION+']';
var DISTRIBUTION = 'userjs';
'globalSettingsMigrated':false, 'lastUserId':0, 'lastVersion':''
};
- var PONIES = [{"code":"trixie","name":"Trixie","users":["trixie"],"menu_title":"The Great and Powerful Trixie demands your attention!","color":["6e98b4","3a7196"],"icon16":"trixie\/icon16_2.png","soundNotif":"trixie\/notif","loadingText":"Performing magic..."},{"code":"twilight","name":"Twilight Sparkle","users":["twilight","spark","tw\u0131l\u0131ght","twilite","twi light","\u0162wilight"],"search":"twilight sparkle|twilightsparkle|princess twilight","menu_title":"To switch to Princess Twilight, go to Misc > Appearance","color":["9f6eb4","7a3a96"],"mane6":true,"loadingText":"Studying friendship..."},{"code":"dash","name":"Rainbow Dash","users":["rainbow","dash"],"search":"rainbow dash|rainbowdash|dashie","color":["6e9db4","3a7796"],"soundNotif":"dash\/notif","mane6":true,"loadingText":"Loading... in ten seconds flat!","successText":"Aww yeah!"},{"code":"pinkie","name":"Pinkie Pie","users":["pink"],"search":"pinkie pie|pinkiepie|pinkamena diane pie","color":["b46e8a","963a5f"],"soundNotif":"pinkie\/notif2","mane6":true,"loadingText":"Come on everypony!"},{"code":"applej","name":"Applejack","users":["apple j","applej"],"search":"applejack|apple jack","color":["b4976e","96703a"],"soundNotif":"applej\/notif2","mane6":true,"loadingText":"Hold on there sugarcube!","successText":"Yeehaw!"},{"code":"flutter","name":"Fluttershy","users":["flutter","flut ter"],"search":"fluttershy|flutter shy","color":["b4ae6e","968e3a"],"soundNotif":"flutter\/notif2","mane6":true,"loadingText":"Screaming...","successText":"Yay!"},{"code":"rarity","name":"Rarity","users":["rarity"],"color":["9b6eb4","763a96"],"soundNotif":"rarity\/notif","mane6":true,"loadingText":"Whining...","seperator":true},{"code":"applebloom","name":"Apple Bloom","users":["appleb","apple b"],"search":"apple bloom|applebloom|cmc|cutie mark crusaders","color":["b46e8d","963a63"],"soundNotif":"applebloom\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"aloe","name":"Aloe","users":["aloe"],"search":"aloe|spa pony|spa ponies","color":["b46e91","963a68"]},{"code":"babsseed","name":"Babs Seed","users":["babs","seed"],"search":"babs seed|babsseed|cmc|cutie mark crusaders","color":["b4976e","96703a"],"nocutie":true},{"code":"berry","name":"Berry Punch","users":["berry"],"color":["a56eb4","823a96"]},{"code":"bigmac","name":"Big Macintosh","users":["bigmac","big mac"],"search":"bigmacintosh|big macintosh|big mcintosh|bigmcintosh","color":["b46e75","963a43"],"soundNotif":"bigmac\/notif","loadingText":"Saying eeyup..."},{"code":"bonbon","name":"Bon Bon","users":["bon bon","bonbon","bon-bon"],"search":"bon bon|bonbon","color":["6e89b4","3a5d96"]},{"code":"braeburn","name":"Braeburn","users":["braeburn","breaburn"],"search":"braeburn|breaburn","color":["b4a86e","96873a"],"icon16":"braeburn\/icon16_2.png"},{"code":"cadance","name":"Cadance","users":["cadance","cadence"],"search":"cadance|cadence|princess cadance|princess cadence","color":["b46e96","963a6e"]},{"code":"carrot","name":"Carrot Top","users":["golden","carrot"],"search":"carrot top|carrottop|golden harvest","menu_title":"Also known as Golden Harvest","color":["b2b46e","93963a"]},{"code":"celestia","name":"Celestia","users":["celestia","trollestia","molestia"],"search":"celestia|princess celestia","color":["b46e98","963a71"],"loadingText":"Raising the sun..."},{"code":"cheerilee","name":"Cheerilee","users":["cheerilee"],"color":["b46e96","963a6e"]},{"code":"colgate","name":"Colgate","users":["colgate","minuette"],"search":"colgate|minuette|minette","menu_title":"Also known as Minuette","color":["6e99b4","3a7396"],"soundNotif":"colgate\/notif","loadingText":"Brushing..."},{"code":"cloudchaser","name":"Cloudchaser","users":["cloudch","cloud ch"],"search":"cloudchaser|cloud chaser|stormwalker|storm walker","menu_title":"Also known as Stormwalker","color":["856eb4","593a96"]},{"code":"daring","name":"Daring Do","users":["daring"],"search":"daring do|daringdo","color":["b4a76e","96853a"]},{"code":"derpy","name":"Derpy Hooves","users":["derpy"],"color":["b4b46e","96963a"],"fbIndex_swf":"derpy\/fbIndex.swf","soundNotif":"derpy\/notif","icon16":"derpy\/icon16_2.png","loadingText":"Wondering what went wrong..."},{"code":"diamondtiara","name":"Diamond Tiara","users":["tiara"],"search":"diamond tiara|diamondtiara","color":["926eb4","6a3a96"],"stack":"villian"},{"code":"discord","name":"Discord","users":["discord"],"color":["b46f6e","963c3a"],"stack":"villian","loadingText":"CHOCOLATE RAIN","nocutie":true},{"code":"whooves","name":"Doctor Whooves","users":["whooves","time turn"],"search":"doctor whooves|doctor hooves|time turner","menu_title":"Also known as Time Turner","color":["b4a06e","967c3a"]},{"code":"fleur","name":"Fleur De Lis","users":["fleur","fluer"],"search":"fleur de lis|fluer de lis|fleur dis lee|fluer dis lee","color":["b46eb4","963a96"]},{"code":"flimflam","name":"Flim and Flam","users":["flim","flam"],"color":["b0b46e","91963a"],"loadingText":"Giving opportunities..."},{"code":"flitter","name":"Flitter","users":["Flitter"],"color":["846eb4","573a96"]},{"code":"gilda","name":"Gilda","users":["gilda"],"color":["b49a6e","96743a"],"stack":"villian","nocutie":true},{"code":"ironwill","name":"Iron Will","users":["iron will","ironwill"],"search":"ironwill|iron will","color":["6e84b4","3a5796"],"stack":"villian","nocutie":true},{"code":"sombra","name":"King Sombra","users":["sombra"],"color":["6eb46e","3a963a"],"stack":"villian","nocutie":true},{"code":"lightningdust","name":"Lightning Dust","users":["lightning"],"color":["6eb4ad","3a968d"]},{"code":"lotus","name":"Lotus","users":["lotus"],"search":"lotus|spa pony|spa ponies","color":["6ea0b4","3a7c96"]},{"code":"luna","name":"Luna","users":["luna"],"search":"luna|princess luna|nightmare moon|nightmaremoon","color":["6e7eb4","3a5096"],"soundNotif":"luna\/notif","loadingText":"Doubling the fun...","successText":"Huzzah!"},{"code":"lyra","name":"Lyra","users":["lyra"],"search":"lyra heartstrings","color":["6eb49d","3a9677"]},{"code":"nightmaremoon","name":"Nightmare Moon","users":["nightmare"],"search":"nightmare moon|nightmaremoon|luna|princess luna","color":["6e7fb4","3a5196"],"stack":"villian"},{"code":"nurseredheart","name":"Nurse Redheart","users":["nurse","redheart"],"color":["b46e76","963a45"]},{"code":"octavia","name":"Octavia","users":["octavia"],"color":["b4a76e","96853a"]},{"code":"pinkamena","name":"Pinkamena","users":["pinkamena"],"search":"pinkamena diane pie","color":["b46e8c","963a62"],"stack":"villian"},{"code":"chrysalis","name":"Queen Chrysalis","users":["chrysalis"],"search":"queen chrysalis|changeling","color":["6ea2b4","3a7f96"],"stack":"chrysalis","loadingText":"Feeding...","nocutie":true},{"code":"roidrage","name":"Roid Rage","users":["snowflake","roid","rage"],"search":"snowflake|roidrage|roid rage","menu_title":"Also known as Snowflake","color":["b4ae6e","968e3a"],"soundNotif":"_sound\/roidrage_yeah","successText":"YEAH!"},{"code":"rose","name":"Rose","users":["rose"],"search":"roseluck","menu_title":"Also known as Roseluck","color":["b46e8c","963a62"]},{"code":"scootaloo","name":"Scootaloo","users":["scootaloo"],"search":"scootaloo|cmc|cutie mark crusaders|chicken","color":["b4996e","96733a"],"loadingText":"Getting her cutie mark...","nocutie":true},{"code":"shiningarmor","name":"Shining Armor","users":["shining armor"],"search":"shining armor|shiningarmor","color":["6e7bb4","3a4b96"]},{"code":"silverspoon","name":"Silver Spoon","users":["spoon"],"search":"silver spoon|silverspoon","color":["6e97b4","3a7096"],"stack":"villian"},{"code":"soarin","name":"Soarin'","users":["soarin"],"search":"soarin'|wonderbolts","color":["6e9db4","3a7796"]},{"code":"spike","name":"Spike","users":["spike"],"color":["a26eb4","7f3a96"],"nocutie":true},{"code":"spitfire","name":"Spitfire","users":["spitfire"],"search":"spitfire|wonderbolts","color":["b4ae6e","968e3a"],"icon16":"spitfire\/icon16_2.png"},{"code":"sweetieb","name":"Sweetie Belle","users":["sweetieb","sweetie b"],"search":"sweetiebelle|sweetie belle|cmc|cutie mark crusaders","color":["a06eb4","7c3a96"],"soundNotif":"sweetieb\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"vinyl","name":"Vinyl Scratch","users":["vinyl","vinyx","dj p"],"search":"vinyl scratch|dj pon3|dj-pon3|dj pon 3|dj pon-3","menu_title":"Also known as DJ Pon-3","color":["6ea9b4","3a8896"],"soundNotif":"vinyl\/notif","loadingText":"Wubbing..."},{"code":"zecora","name":"Zecora","users":["zecora"],"color":["b4af6e","96903a"]},{"code":"blank","name":"(Blank)","color":["b46e6e","963a3a"],"hidden":true,"nocutie":true},{"code":"bloomberg","name":"Bloomberg","color":["9fb46e","7a963a"],"hidden":true,"nocutie":true},{"code":"mono","name":"Mono","color":["b46e6e","963a3a"],"stack":"mono","hidden":true},{"code":"taugeh","name":"Taugeh","color":["b4b46e","96963a"],"hidden":true,"nocutie":true}];
+ var PONIES = [{"code":"trixie","name":"Trixie","users":["trixie"],"menu_title":"The Great and Powerful Trixie demands your attention!","color":["6e98b4","3a7196"],"icon16":"trixie\/icon16_2.png","soundNotif":"trixie\/notif","loadingText":"Performing magic..."},{"code":"twilight","name":"Twilight Sparkle","users":["twilight","spark","tw\u0131l\u0131ght","twilite","twi light","\u0162wilight"],"search":"twilight sparkle|twilightsparkle|princess twilight","menu_title":"To switch to Princess Twilight, go to Misc > Appearance","color":["9f6eb4","7a3a96"],"icon16":"twilight\/icon32.png","mane6":true,"loadingText":"Studying friendship..."},{"code":"dash","name":"Rainbow Dash","users":["rainbow","dash"],"search":"rainbow dash|rainbowdash|dashie","color":["6e9db4","3a7796"],"soundNotif":"dash\/notif","mane6":true,"loadingText":"Loading... in ten seconds flat!","successText":"Aww yeah!"},{"code":"pinkie","name":"Pinkie Pie","users":["pink"],"search":"pinkie pie|pinkiepie|pinkamena diane pie","color":["b46e8a","963a5f"],"icon16":"pinkie\/favicon2.png","soundNotif":"pinkie\/notif2","mane6":true,"loadingText":"Come on everypony!"},{"code":"applej","name":"Applejack","users":["apple j","applej"],"search":"applejack|apple jack","color":["b4976e","96703a"],"soundNotif":"applej\/notif2","icon16":"applej\/favicon2.png","mane6":true,"loadingText":"Hold on there sugarcube!","successText":"Yeehaw!"},{"code":"flutter","name":"Fluttershy","users":["flutter","flut ter"],"search":"fluttershy|flutter shy","color":["b4ae6e","968e3a"],"icon16":"flutter\/favicon2.png","soundNotif":"flutter\/notif2","mane6":true,"loadingText":"Screaming...","successText":"Yay!"},{"code":"rarity","name":"Rarity","users":["rarity"],"color":["9b6eb4","763a96"],"soundNotif":"rarity\/notif","icon16":"rarity\/favicon2.png","mane6":true,"loadingText":"Whining...","seperator":true},{"code":"aloe","name":"Aloe","users":["aloe"],"search":"aloe|spa pony|spa ponies","color":["b46e91","963a68"],"icon16":"aloe\/favicon2.png"},{"code":"applebloom","name":"Apple Bloom","users":["appleb","apple b"],"search":"apple bloom|applebloom|cmc|cutie mark crusaders","color":["b46e8d","963a63"],"icon16":"_common\/cmc_favicon.png","soundNotif":"applebloom\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"babsseed","name":"Babs Seed","users":["babs","seed"],"search":"babs seed|babsseed|cmc|cutie mark crusaders","color":["b4976e","96703a"],"icon16":"_common\/cmc_favicon.png","nocutie":true},{"code":"berry","name":"Berry Punch","users":["berry"],"search":"berry punch|berrypunch","color":["a56eb4","823a96"],"icon16":"berry\/favicon2.png"},{"code":"bigmac","name":"Big Macintosh","users":["bigmac","big mac"],"search":"bigmacintosh|big macintosh|big mcintosh|bigmcintosh","color":["b46e75","963a43"],"icon16":"bigmac\/favicon2.png","soundNotif":"bigmac\/notif","loadingText":"Saying eeyup..."},{"code":"bonbon","name":"Bon Bon","users":["bon bon","bonbon","bon-bon"],"search":"bon bon|bonbon","color":["6e89b4","3a5d96"]},{"code":"braeburn","name":"Braeburn","users":["braeburn","breaburn"],"search":"braeburn|breaburn","color":["b4a86e","96873a"],"icon16":"braeburn\/favicon2.png"},{"code":"cadance","name":"Cadance","users":["cadance","cadence"],"search":"cadance|cadence|princess cadance|princess cadence","color":["b46e96","963a6e"]},{"code":"carrot","name":"Carrot Top","users":["golden","carrot"],"search":"carrot top|carrottop|golden harvest","menu_title":"Also known as Golden Harvest","color":["b2b46e","93963a"]},{"code":"celestia","name":"Celestia","users":["celestia","trollestia","molestia"],"search":"celestia|princess celestia","color":["b46e98","963a71"],"icon16":"celestia\/favicon2.png","loadingText":"Raising the sun..."},{"code":"cheerilee","name":"Cheerilee","users":["cheerilee"],"color":["b46e96","963a6e"]},{"code":"colgate","name":"Colgate","users":["colgate","minuette"],"search":"colgate|minuette|minette","menu_title":"Also known as Minuette","color":["6e99b4","3a7396"],"icon16":"colgate\/favicon2.png","soundNotif":"colgate\/notif","loadingText":"Brushing..."},{"code":"cloudchaser","name":"Cloudchaser","users":["cloudch","cloud ch"],"search":"cloudchaser|cloud chaser|stormwalker|storm walker","menu_title":"Also known as Stormwalker","color":["856eb4","593a96"],"icon16":"cloudchaser\/favicon2.png"},{"code":"daring","name":"Daring Do","users":["daring"],"search":"daring do|daringdo","color":["b4a76e","96853a"]},{"code":"derpy","name":"Derpy Hooves","users":["derpy"],"color":["b4b46e","96963a"],"fbIndex_swf":"derpy\/fbIndex.swf","soundNotif":"derpy\/notif","icon16":"derpy\/icon16_2.png","loadingText":"Wondering what went wrong..."},{"code":"diamondtiara","name":"Diamond Tiara","users":["tiara"],"search":"diamond tiara|diamondtiara","color":["926eb4","6a3a96"],"stack":"villian"},{"code":"discord","name":"Discord","users":["discord"],"color":["b46f6e","963c3a"],"stack":"villian","loadingText":"CHOCOLATE RAIN","nocutie":true},{"code":"whooves","name":"Doctor Whooves","users":["whooves","time turn"],"search":"doctor whooves|doctor hooves|time turner","menu_title":"Also known as Time Turner","color":["b4a06e","967c3a"],"icon16":"whooves\/favicon2.png"},{"code":"fleur","name":"Fleur De Lis","users":["fleur","fluer"],"search":"fleur de lis|fluer de lis|fleur dis lee|fluer dis lee","color":["b46eb4","963a96"]},{"code":"flimflam","name":"Flim and Flam","users":["flim","flam"],"color":["b0b46e","91963a"],"loadingText":"Giving opportunities..."},{"code":"flitter","name":"Flitter","users":["Flitter"],"color":["846eb4","573a96"],"icon16":"flitter\/favicon2.png"},{"code":"gilda","name":"Gilda","users":["gilda"],"color":["b49a6e","96743a"],"stack":"villian","nocutie":true},{"code":"ironwill","name":"Iron Will","users":["iron will","ironwill"],"search":"ironwill|iron will","color":["6e84b4","3a5796"],"stack":"villian","nocutie":true},{"code":"sombra","name":"King Sombra","users":["sombra"],"color":["6eb46e","3a963a"],"stack":"villian","nocutie":true},{"code":"lightningdust","name":"Lightning Dust","users":["lightning"],"color":["6eb4ad","3a968d"],"icon16":"lightningdust\/favicon2.png"},{"code":"lotus","name":"Lotus","users":["lotus"],"search":"lotus|spa pony|spa ponies","color":["6ea0b4","3a7c96"],"icon16":"lotus\/favicon2.png"},{"code":"luna","name":"Luna","users":["luna"],"search":"luna|princess luna|nightmare moon|nightmaremoon","color":["6e7eb4","3a5096"],"icon16":"luna\/favicon2.png","soundNotif":"luna\/notif","loadingText":"Doubling the fun...","successText":"Huzzah!"},{"code":"lyra","name":"Lyra","users":["lyra"],"search":"lyra heartstrings","color":["6eb49d","3a9677"],"icon16":"lyra\/favicon2.png"},{"code":"nightmaremoon","name":"Nightmare Moon","users":["nightmare"],"search":"nightmare moon|nightmaremoon|luna|princess luna","color":["6e7fb4","3a5196"],"stack":"villian"},{"code":"nurseredheart","name":"Nurse Redheart","users":["nurse","redheart"],"color":["b46e76","963a45"],"icon16":"nurseredheart\/favicon2.png"},{"code":"octavia","name":"Octavia","users":["octavia"],"color":["b4a76e","96853a"]},{"code":"pinkamena","name":"Pinkamena","users":["pinkamena"],"search":"pinkamena diane pie","color":["b46e8c","963a62"],"stack":"villian"},{"code":"chrysalis","name":"Queen Chrysalis","users":["chrysalis"],"search":"queen chrysalis|changeling","color":["6ea2b4","3a7f96"],"stack":"chrysalis","loadingText":"Feeding...","nocutie":true},{"code":"roidrage","name":"Roid Rage","users":["snowflake","roid","rage"],"search":"snowflake|roidrage|roid rage","menu_title":"Also known as Snowflake","color":["b4ae6e","968e3a"],"soundNotif":"_sound\/roidrage_yeah","successText":"YEAH!"},{"code":"rose","name":"Rose","users":["rose"],"search":"roseluck","menu_title":"Also known as Roseluck","color":["b46e8c","963a62"],"icon16":"rose\/favicon2.png"},{"code":"scootaloo","name":"Scootaloo","users":["scootaloo"],"search":"scootaloo|cmc|cutie mark crusaders|chicken","color":["b4996e","96733a"],"icon16":"_common\/cmc_favicon.png","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"shiningarmor","name":"Shining Armor","users":["shining armor"],"search":"shining armor|shiningarmor","color":["6e7bb4","3a4b96"],"icon16":"shiningarmor\/favicon2.png"},{"code":"silverspoon","name":"Silver Spoon","users":["spoon"],"search":"silver spoon|silverspoon","color":["6e97b4","3a7096"],"stack":"villian"},{"code":"soarin","name":"Soarin'","users":["soarin"],"search":"soarin'|wonderbolts","color":["6e9db4","3a7796"]},{"code":"spike","name":"Spike","users":["spike"],"color":["a26eb4","7f3a96"],"nocutie":true},{"code":"spitfire","name":"Spitfire","users":["spitfire"],"search":"spitfire|wonderbolts","color":["b4ae6e","968e3a"],"icon16":"spitfire\/favicon2.png"},{"code":"sweetieb","name":"Sweetie Belle","users":["sweetieb","sweetie b"],"search":"sweetiebelle|sweetie belle|cmc|cutie mark crusaders","color":["a06eb4","7c3a96"],"icon16":"_common\/cmc_favicon.png","soundNotif":"sweetieb\/notif","loadingText":"Getting her cutie mark...","nocutie":true},{"code":"thunderlane","name":"Thunderlane","users":["thunder"],"search":"thunderlane|thunder lane","color":["6eb4b4","3a9696"]},{"code":"vinyl","name":"Vinyl Scratch","users":["vinyl","vinyx","dj p"],"search":"vinyl scratch|dj pon3|dj-pon3|dj pon 3|dj pon-3","menu_title":"Also known as DJ Pon-3","color":["6ea9b4","3a8896"],"icon16":"vinyl\/favicon2.png","soundNotif":"vinyl\/notif","loadingText":"Wubbing..."},{"code":"zecora","name":"Zecora","users":["zecora"],"color":["b4af6e","96903a"]},{"code":"blank","name":"(Blank)","color":["b46e6e","963a3a"],"hidden":true,"nocutie":true},{"code":"bloomberg","name":"Bloomberg","color":["9fb46e","7a963a"],"hidden":true,"nocutie":true},{"code":"mono","name":"Mono","color":["b46e6e","963a3a"],"stack":"mono","hidden":true},{"code":"taugeh","name":"Taugeh","color":["b4b46e","96963a"],"icon16":"twilight\/icon32.png","hidden":true,"nocutie":true}];
var LANG = {"af_ZA":{"sniff_comment_tooltip_like":"Hou van hierdie opmerking","sniff_comment_tooltip_unlike":"Hou nie meer van hierdie opmerking nie"},"ar_AR":{"sniff_comment_tooltip_like":"\u0627\u0644\u0625\u0639\u062c\u0627\u0628 \u0628\u0627\u0644\u062a\u0639\u0644\u064a\u0642","sniff_comment_tooltip_unlike":"\u0625\u0644\u063a\u0627\u0621 \u0625\u0639\u062c\u0627\u0628\u064a \u0628\u0647\u0630\u0627 \u0627\u0644\u062a\u0639\u0644\u064a\u0642"},"az_AZ":{"sniff_comment_tooltip_like":"Bu r\u0259yi b\u0259y\u0259n","sniff_comment_tooltip_unlike":"Bu \u015f\u0259rhi b\u0259y\u0259nm\u0259"},"be_BY":{"sniff_comment_tooltip_like":"\u041f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430","sniff_comment_tooltip_unlike":"\u041c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448 \u043d\u0435 \u043f\u0430\u0434\u0430\u0431\u0430\u0435\u0446\u0446\u0430 \u0433\u044d\u0442\u044b \u043a\u0430\u043c\u044d\u043d\u0442\u0430\u0440"},"bg_BG":{"sniff_comment_tooltip_like":"\u0425\u0430\u0440\u0435\u0441\u0432\u0430\u043c \u0442\u043e\u0437\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u0412\u0435\u0447\u0435 \u043d\u0435 \u0445\u0430\u0440\u0435\u0441\u0432\u0430\u043c"},"bn_IN":{"sniff_comment_tooltip_like":"\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af\u099f\u09bf \u09ad\u09be\u09b2\u09cb \u09b2\u09c7\u0997\u09c7\u099b\u09c7","sniff_comment_tooltip_unlike":"\u09ad\u09be\u09b2\u09cb \u09b2\u09be\u0997\u09c7\u09a8\u09bf"},"bs_BA":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se komentar"},"ca_ES":{"sniff_comment_tooltip_like":"M'agrada aquest comentari","sniff_comment_tooltip_unlike":"Ja no m'agrada aquest comentari."},"cs_CZ":{"sniff_comment_tooltip_like":"Tento koment\u00e1\u0159 se mi l\u00edb\u00ed.","sniff_comment_tooltip_unlike":"Koment\u00e1\u0159 se mi u\u017e nel\u00edb\u00ed","close":"Zav\u0159\u00edt"},"cy_GB":{"sniff_comment_tooltip_like":"Hoffi'r sylw hwn","sniff_comment_tooltip_unlike":"Peidio hoffi'r sylw hwn"},"da_DK":{"fb_composer_lessons":"Hvilke lektioner i venskab har du l\u00e6rt idag?","sniff_comment_tooltip_like":"Tilkendegiv, at du synes godt om denne kommentar","sniff_comment_tooltip_unlike":"Synes ikke godt om denne kommentar l\u00e6ngere","close":"Luk"},"de_DE":{"fb_composer_lessons":"Welche Lektionen \u00fcber Freundschaft hast Du heute gelernt?","sniff_comment_tooltip_like":"Dieser Kommentar gef\u00e4llt mir","sniff_comment_tooltip_unlike":"Dieser Kommentar gef\u00e4llt mir nicht mehr","close":"Schlie\u00dfen"},"el_GR":{"sniff_comment_tooltip_like":"\u039c\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf","sniff_comment_tooltip_unlike":"\"\u0394\u03b5\u03bd \u03bc\u03bf\u03c5 \u03b1\u03c1\u03ad\u03c3\u03b5\u03b9!\" \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c3\u03c7\u03cc\u03bb\u03b9\u03bf"},"en_PI":{"sniff_comment_tooltip_like":"This comment be pleasin","sniff_comment_tooltip_unlike":"Care not fer such trifles"},"en_US":{"fb_composer_lessons":"What lessons in friendship have you learned today?","fb_comment_box":"Write a friendship letter...","fb_search_box":"Search for ponies, places and things","fb_search_boxAlt":"Type to search for ponies, places and things","fb_composer_coolstory":"Write a cool story...","fb_composer_ponies":"Ponies!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"Remember! You gotta share... You gotta care...","sniff_comment_tooltip_like":"Like this comment","sniff_comment_tooltip_unlike":"Unlike this comment","sniff_fb_search_boxAlt":"Type to search","close":"Close","reloadNow":"Reload now","notNow":"Not now","invertSelection":"Invert selection","finish":"Finish","done":"Eeyup","options_title":"Ponyhoof Options","options_tabs_main":"General","options_tabs_background":"Background","options_tabs_sounds":"Sounds","options_tabs_extras":"Misc","options_tabs_advanced":"Debug","options_tabs_about":"About","settings_disable_runForNewUsers_explain":"If you enable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_extras_login_bg":"Use alternate background","settings_sounds":"Play sounds (e.g. notifications and dialogs)","settings_sounds_noNotification":"Play sounds (e.g. dialogs)","settings_extras_runForNewUsers_explain":"If you disable this, Ponyhoof will not automatically run for other Facebook accounts that did not activate Ponyhoof yet. They can still open Ponyhoof Options to re-enable Ponyhoof if they wish to.","settings_main_visitPage":"Visit the Ponyhoof page for news or contact us","settings_main_visitPageBusiness":"Visit the Ponyhoof page for news","settings_sounds_unavailable":"Notification sounds are not available on your browser. Please update your browser if possible.","updater_title":"Update Ponyhoof","costume_tooltip":"Limited to certain characters only"},"eo_EO":{"sniff_comment_tooltip_like":"\u015cati \u0109i tiun komenton","sniff_comment_tooltip_unlike":"Ne plu \u015dati \u0109i tiun komenton"},"es_ES":{"sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"es_LA":{"fb_composer_lessons":"\u00bfQue has aprendido hoy sobre la amistad?","fb_comment_box":"Escribe un reporte de amistad...","sniff_comment_tooltip_like":"Me gusta este comentario","sniff_comment_tooltip_unlike":"Ya no me gusta este comentario","close":"Cerrar"},"et_EE":{"sniff_comment_tooltip_like":"Meeldib see kommentaar","sniff_comment_tooltip_unlike":"Ei meeldi enam"},"eu_ES":{"sniff_comment_tooltip_like":"Iruzkin hau atsegin dut","sniff_comment_tooltip_unlike":"Iruzkin hau desatsegin"},"fa_IR":{"sniff_comment_tooltip_like":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0645\u06cc\u200c\u067e\u0633\u0646\u062f\u0645","sniff_comment_tooltip_unlike":"\u0627\u06cc\u0646 \u062f\u06cc\u062f\u06af\u0627\u0647 \u0631\u0627 \u0646\u067e\u0633\u0646\u062f\u06cc\u062f\u0645"},"fb_LT":{"fb_composer_lessons":"W|-|47 \u00a33550|\\|5 !|\\| |=|2!3|\\||)5|-|!|* |-|4\\\/3 '\/0|_| \u00a334|2|\\|3|) 70|)4'\/?","fb_comment_box":"W|2!73 4 |=|2!3|\\||)5|-|!|* \u00a33773|2...","fb_search_box":"S34|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_search_boxAlt":"T'\/|*3 70 534|2(|-| |=0|2 |*0|\\|!35, |*\u00a34(35 4|\\||) 7|-|!|\\|95","fb_composer_coolstory":"W|2!73 4 (00\u00a3 570|2'\/...","fb_composer_ponies":"P0|\\|!35!","fb_composer_ponies_caps":"PONIES!!!","fb_share_tooltip":"R3|\\\/|3|\\\/|83|2! Y0|_| 90774 5|-|4|23... Y0|_| 90774 (4|23...","close":"Alt+F4","reloadNow":"R3\u00a304|) |\\|0vv","notNow":"N07 |\\|0vv","invertSelection":"I|\\|\\\/3|27 53\u00a33(7!0|\\|","finish":"F!|\\|!5|-|","done":"E3'\/|_||*","options_title":"P0|\\|'\/|-|00|= O|*7!0|\\|5","options_tabs_main":"G3|\\|3|24\u00a3","options_tabs_background":"B4(k9|20|_||\\||)","options_tabs_sounds":"S0|_||\\||)5","options_tabs_extras":"M!5(","options_tabs_advanced":"D38|_|9","options_tabs_about":"A80|_|7","settings_disable_runForNewUsers_explain":"I|= '\/0|_| 3|\\|48\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_extras_login_bg":"U53 4\u00a373|2|\\|473 84(k9|20|_||\\||)","settings_sounds":"P\u00a34'\/ 50|_||\\||)5 (3.9. |\\|07!|=!(47!0|\\|5 4|\\||) |)!4\u00a3095)","settings_sounds_noNotification":"P\u00a34'\/ 50|_||\\||)5 (3.9. |)!4\u00a3095)","settings_extras_runForNewUsers_explain":"I|= '\/0|_| |)!548\u00a33 7|-|!5, P0|\\|'\/|-|00|= vv!\u00a3\u00a3 |\\|07 4|_|70|\\\/|47!(4\u00a3\u00a3'\/ |2|_||\\| |=0|2 07|-|3|2 F4(3800k 4((0|_||\\|75 7|-|47 |)!|) |\\|07 4(7!\\\/473 P0|\\|'\/|-|00|= '\/37. T|-|3'\/ (4|\\| 57!\u00a3\u00a3 0|*3|\\| P0|\\|'\/|-|00|= O|*7!0|\\|5 70 |23-3|\\|48\u00a33 P0|\\|'\/|-|00|= !|= 7|-|3'\/ vv!5|-| 70.","settings_main_visitPage":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5 0|2 (0|\\|74(7 |_|5","settings_main_visitPageBusiness":"V!5!7 7|-|3 P0|\\|'\/|-|00|= |*493 |=0|2 |\\|3vv5","settings_sounds_unavailable":"N07!|=!(47!0|\\| 50|_||\\||)5 4|23 |\\|07 4\\\/4!\u00a348\u00a33 0|\\| '\/0|_||2 8|20vv53|2. P\u00a33453 |_||*|)473 '\/0|_||2 8|20vv53|2 !|= |*055!8\u00a33.","updater_title":"U|*|)473 P0|\\|'\/|-|00|=","costume_tooltip":"L!|\\\/|!73|) 70 (3|274!|\\| (|-|4|24(73|25 0|\\|\u00a3'\/","sniff_comment_tooltip_like":"<3"},"fi_FI":{"fb_composer_lessons":"Mit\u00e4 oppeja yst\u00e4vyydest\u00e4 olet oppinut t\u00e4n\u00e4\u00e4n?","sniff_comment_tooltip_like":"Tykk\u00e4\u00e4 t\u00e4st\u00e4 kommentista","sniff_comment_tooltip_unlike":"En tykk\u00e4\u00e4k\u00e4\u00e4n","close":"Sulje"},"fo_FO":{"sniff_comment_tooltip_like":"M\u00e6r d\u00e1mar vi\u00f0merkingina"},"fr_CA":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fr_FR":{"fb_composer_lessons":"Quelles le\u00e7ons sur l'amiti\u00e9 avez-vous appris aujourd'hui ?","sniff_comment_tooltip_like":"J\u2019aime ce commentaire","sniff_comment_tooltip_unlike":"Je n\u2019aime plus ce commentaire","close":"Fermer"},"fy_NL":{"sniff_comment_tooltip_like":"Leuke reaksje","sniff_comment_tooltip_unlike":"Ik mei net mear oer dit berjocht"},"ga_IE":{"fb_composer_lessons":"cad ceachtanna i cairdeas ad'fhoghlaim t\u00fa inniu?","sniff_comment_tooltip_like":"L\u00e9irigh gur maith leat an tr\u00e1cht seo","sniff_comment_tooltip_unlike":"N\u00ed maith liom an tr\u00e1cht seo","close":"D\u00fan"},"gl_ES":{"sniff_comment_tooltip_like":"G\u00fastame este comentario","sniff_comment_tooltip_unlike":"Xa non me gusta"},"he_IL":{"fb_composer_lessons":"\u05d0\u05d9\u05dc\u05d5 \u05dc\u05e7\u05d7\u05d9\u05dd \u05d1\u05d9\u05d3\u05d9\u05d3\u05d5\u05ea \u05dc\u05de\u05d3\u05ea \u05d4\u05d9\u05d5\u05dd?","sniff_comment_tooltip_like":"\u05d0\u05d5\u05d4\u05d1 \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4","sniff_comment_tooltip_unlike":"\u05dc\u05d0 \u05d0\u05d4\u05d1\/\u05d4 \u05d0\u05ea \u05ea\u05d2\u05d5\u05d1\u05d4 \u05d6\u05d5","close":"\u05e1\u05d2\u05d5\u05e8"},"hi_IN":{"sniff_comment_tooltip_like":"\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902","sniff_comment_tooltip_unlike":"\u0907\u0938 \u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u0915\u094b \u0928\u093e\u092a\u0938\u0902\u0926 \u0915\u0930\u0947\u0902"},"hr_HR":{"sniff_comment_tooltip_like":"Svi\u0111a mi se ovaj komentar","sniff_comment_tooltip_unlike":"Ne svi\u0111a mi se"},"hu_HU":{"fb_composer_lessons":"Mit tanult\u00e1l ma a bar\u00e1ts\u00e1gr\u00f3l?","sniff_comment_tooltip_like":"Tetszik a bejegyz\u00e9s.","sniff_comment_tooltip_unlike":"M\u00e9gsem tetszik","close":"Bez\u00e1r\u00e1s"},"hy_AM":{"sniff_comment_tooltip_like":"\u0540\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568","sniff_comment_tooltip_unlike":"\u0549\u0570\u0561\u057e\u0561\u0576\u0565\u056c \u0561\u0575\u057d \u0574\u0565\u056f\u0576\u0561\u0562\u0561\u0576\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568"},"id_ID":{"fb_composer_lessons":"Apa pelajaran yang kalian dapat tentang persahabatan hari ini?","sniff_comment_tooltip_like":"Suka komentar ini","sniff_comment_tooltip_unlike":"Tidak suka komentar ini","close":"Tutup"},"is_IS":{"sniff_comment_tooltip_like":"L\u00edkar vi\u00f0 \u00feessi umm\u00e6li","sniff_comment_tooltip_unlike":"L\u00edka ekki vi\u00f0 \u00feessi umm\u00e6li"},"it_IT":{"fb_composer_lessons":"Che cosa hai imparato oggi sull'amicizia?","sniff_comment_tooltip_like":"Di' che ti piace questo commento","sniff_comment_tooltip_unlike":"Di' che non ti piace pi\u00f9 questo commento","close":"Chiudi"},"ja_JP":{"fb_composer_lessons":"\u4eca\u65e5\u306f\u53cb\u60c5\u306b\u3069\u306e\u3088\u3046\u306a\u6559\u8a13\u3092\u5b66\u3073\u307e\u3057\u305f\u304b\uff1f","sniff_comment_tooltip_like":"\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u306f\u3044\u3044\u306d\uff01","sniff_comment_tooltip_unlike":"\u3044\u3044\u306d\uff01\u3092\u53d6\u308a\u6d88\u3059","close":"\u9589\u3058\u308b"},"ka_GE":{"sniff_comment_tooltip_like":"\u10db\u10dd\u10d8\u10ec\u10dd\u10dc\u10d4 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8","sniff_comment_tooltip_unlike":"\u10d0\u10e6\u10d0\u10e0 \u10db\u10dd\u10db\u10ec\u10dd\u10dc\u10e1 \u10d4\u10e1 \u10d9\u10dd\u10db\u10d4\u10dc\u10e2\u10d0\u10e0\u10d8"},"km_KH":{"sniff_comment_tooltip_like":"\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f \u179c\u17b7\u1785\u17b6\u179a \u1793\u17c1\u17c7","sniff_comment_tooltip_unlike":"\u179b\u17c2\u1784\u1785\u17bc\u179b\u1785\u17b7\u178f\u17d2\u178f\u1798\u178f\u17b7\u1793\u17c1\u17c7"},"ko_KR":{"fb_composer_lessons":"\uc6b0\uc815\uc5d0 \uad00\ud574\uc11c \uc624\ub298 \ubb34\uc5c7\uc744 \ubc30\uc6e0\ub098\uc694?","sniff_comment_tooltip_like":"\uc88b\uc544\uc694","sniff_comment_tooltip_unlike":"\uc88b\uc544\uc694 \ucde8\uc18c","close":"\ub2eb\uae30"},"ku_TR":{"sniff_comment_tooltip_like":"V\u00ea \u015f\u00eerovey\u00ea biecib\u00eene","sniff_comment_tooltip_unlike":"V\u00ea \u015firovey\u00ea neecib\u00eene"},"la_VA":[],"lt_LT":{"fb_composer_lessons":"Kokias \u017einias apie draugyst\u0119 i\u0161mokote \u0161iandien?","sniff_comment_tooltip_like":"Patinka \u0161is komentaras","sniff_comment_tooltip_unlike":"Nepatinka \u0161is komentaras","close":"U\u017edaryti"},"lv_LV":{"sniff_comment_tooltip_unlike":"Koment\u0101rs vairs nepat\u012bk"},"mk_MK":{"fb_composer_lessons":"\u041a\u043e\u0438 \u043b\u0435\u043a\u0446\u0438\u0438 \u0437\u0430 \u043f\u0440\u0438\u0458\u0430\u0442\u0435\u043b\u0441\u0442\u0432\u043e\u0442\u043e \u0434\u043e\u0437\u043d\u0430\u0432\u0442\u0435 \u0434\u0435\u043d\u0435\u0441?","sniff_comment_tooltip_like":"\u041c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u043e\u0432","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043c\u0438 \u0441\u0435 \u0434\u043e\u043f\u0430\u0453\u0430","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"ml_IN":{"sniff_comment_tooltip_like":"\u0d08 \u0d05\u0d2d\u0d3f\u0d2a\u0d4d\u0d30\u0d3e\u0d2f\u0d02 \u0d07\u0d37\u0d4d\u0d1f\u0d2e\u0d3e\u0d2f\u0d3f"},"ms_MY":{"fb_composer_lessons":"Apakah pelajaran tentang persahabatan yang telah anda pelajari hari ini?","fb_comment_box":"Tuliskan surat persahabatan...","fb_composer_ponies":"Kuda!","fb_composer_ponies_caps":"KUDA!!!","sniff_comment_tooltip_like":"Suka komen ini","sniff_comment_tooltip_unlike":"Tidak suka komen ini","close":"Tutup","options_title":"Opsyen Ponyhoof"},"nb_NO":{"sniff_comment_tooltip_like":"Lik denne kommentaren"},"ne_NP":[],"nl_NL":{"fb_composer_lessons":"Wat heb je vandaag geleerd over vriendschap?","sniff_comment_tooltip_like":"Leuke reactie","sniff_comment_tooltip_unlike":"Reactie niet meer leuk","close":"Sluiten"},"pa_IN":{"sniff_comment_tooltip_like":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b","sniff_comment_tooltip_unlike":"\u0a07\u0a39 \u0a1f\u0a3f\u0a71\u0a2a\u0a23\u0a40 \u0a28\u0a3e\u0a2a\u0a38\u0a70\u0a26 \u0a15\u0a30\u0a4b|"},"pl_PL":{"fb_composer_lessons":"Czego si\u0119 dzisiaj nauczy\u0142e\u015b o przyja\u017ani?","sniff_comment_tooltip_like":"Polub komentarz","sniff_comment_tooltip_unlike":"Nie lubi\u0119 tego komentarza","close":"Zamknij"},"ps_AF":[],"pt_BR":{"fb_composer_lessons":"Quais li\u00e7\u00f5es sobre amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Curtir este coment\u00e1rio","sniff_comment_tooltip_unlike":"Curtir (desfazer) este coment\u00e1rio","close":"Fechar"},"pt_PT":{"fb_composer_lessons":"Que li\u00e7\u00f5es de amizade voc\u00ea aprendeu hoje?","sniff_comment_tooltip_like":"Gosto deste coment\u00e1rio","sniff_comment_tooltip_unlike":"N\u00e3o gosto deste coment\u00e1rio","close":"Fechar"},"ro_RO":{"fb_composer_lessons":"Ce lec\u0163ii despre prietenie ai \u00eenv\u0103\u0163at ast\u0103zi?","sniff_comment_tooltip_like":"\u00cemi place acest comentariu","sniff_comment_tooltip_unlike":"Nu-mi mai place acest comentariu","close":"\u00cenchide"},"ru_RU":{"fb_composer_lessons":"\u041a\u0430\u043a\u0438\u0435 \u0443\u0440\u043e\u043a\u0438 \u0434\u0440\u0443\u0436\u0431\u044b \u0432\u044b \u0432\u044b\u0443\u0447\u0438\u043b\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f?","sniff_comment_tooltip_like":"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"},"sk_SK":{"fb_composer_lessons":"Ak\u00e9 lekcie priate\u013estva si sa nau\u010dil dnes?","sniff_comment_tooltip_like":"P\u00e1\u010di sa mi tento koment\u00e1r","sniff_comment_tooltip_unlike":"Tento koment\u00e1r sa mi u\u017e nep\u00e1\u010di","close":"Zavrie\u0165"},"sl_SI":{"fb_composer_lessons":"Kaj si se o prijateljstvu nau\u010dil\/-a danes?","sniff_comment_tooltip_like":"V\u0161e\u010d mi je","sniff_comment_tooltip_unlike":"Ta komentar mi ni v\u0161e\u010d","close":"Zapri"},"sq_AL":{"sniff_comment_tooltip_like":"P\u00eblqeje k\u00ebt\u00eb koment","sniff_comment_tooltip_unlike":"Mos p\u00eblqe k\u00ebt\u00eb koment"},"sr_RS":{"sniff_comment_tooltip_like":"\u0421\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440.","sniff_comment_tooltip_unlike":"\u041d\u0435 \u0441\u0432\u0438\u0452\u0430 \u043c\u0438 \u0441\u0435 \u043e\u0432\u0430\u0458 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u0442\u0432\u043e\u0440\u0438"},"sv_SE":{"fb_composer_lessons":"Vilka l\u00e4rdomar i v\u00e4nskap har du l\u00e4rt dig idag?","sniff_comment_tooltip_like":"Gilla den h\u00e4r kommentaren","sniff_comment_tooltip_unlike":"Sluta gilla den h\u00e4r kommentaren","close":"St\u00e4ng"},"sw_KE":[],"ta_IN":{"sniff_comment_tooltip_like":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc7\u0ba9\u0bcd","sniff_comment_tooltip_unlike":"\u0b87\u0b95\u0bcd\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bc8 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8","close":"\u0e1b\u0e34\u0e14"},"te_IN":{"sniff_comment_tooltip_unlike":"\u0c35\u0c4d\u0c2f\u0c3e\u0c16\u0c4d\u0c2f \u0c28\u0c1a\u0c4d\u0c1a\u0c32\u0c47\u0c26\u0c41"},"th_TH":{"sniff_comment_tooltip_like":"\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49","sniff_comment_tooltip_unlike":"\u0e40\u0e25\u0e34\u0e01\u0e16\u0e39\u0e01\u0e43\u0e08\u0e04\u0e27\u0e32\u0e21\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19\u0e19\u0e35\u0e49"},"tl_PH":{"fb_composer_lessons":"Anong mga aralin sa pagkakaibigan ang natutunan mo ngayon?","sniff_comment_tooltip_like":"Gustuhin ang komentong ito","sniff_comment_tooltip_unlike":"Ayawan ang komentong ito","close":"Isara"},"tr_TR":{"fb_composer_lessons":"Bug\u00fcn arkada\u015fl\u0131kla ilgili neler \u00f6\u011frendin?","sniff_comment_tooltip_like":"Bu yorumu be\u011fen","sniff_comment_tooltip_unlike":"Bu yorumu be\u011fenmekten vazge\u00e7","close":"Kapat"},"uk_UA":{"fb_composer_lessons":"\u042f\u043a\u0456 \u0443\u0440\u043e\u043a\u0438 \u0432 \u0434\u0440\u0443\u0436\u0431\u0456 \u0432\u0438 \u0434\u0456\u0437\u043d\u0430\u043b\u0438\u0441\u044f \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456?","sniff_comment_tooltip_like":"\u0412\u043f\u043e\u0434\u043e\u0431\u0430\u0442\u0438 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","sniff_comment_tooltip_unlike":"\u041d\u0435 \u043f\u043e\u0434\u043e\u0431\u0430\u0454\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440","close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438"},"vi_VN":{"sniff_comment_tooltip_like":"Th\u00edch b\u00ecnh lu\u1eadn n\u00e0y","sniff_comment_tooltip_unlike":"B\u1ecf th\u00edch b\u00ecnh lu\u1eadn n\u00e0y n\u1eefa"},"zh_CN":{"sniff_comment_tooltip_like":"\u559c\u6b22\u6b64\u8bc4\u8bba","sniff_comment_tooltip_unlike":"\u4e0d\u559c\u6b22\u6b64\u8bc4\u8bba","close":"\u5173\u95ed"},"zh_HK":{"sniff_comment_tooltip_like":"\u5c0d\u9019\u5247\u7559\u8a00\u8b9a\u597d","sniff_comment_tooltip_unlike":"\u53d6\u6d88\u8b9a\u597d"},"zh_TW":{"fb_composer_lessons":"\u4f60\u4eca\u5929\u5f9e\u53cb\u60c5\u88e1\u9762\u5b78\u5230\u4e86\u4ec0\u9ebc\uff1f","sniff_comment_tooltip_like":"\u8aaa\u9019\u5247\u7559\u8a00\u8b9a","sniff_comment_tooltip_unlike":"\u6536\u56de\u8b9a","close":"\u95dc\u9589"}};
var SOUNDS = {"AUTO":{"name":"(Auto-select)","seperator":true},"_sound\/defaultNotification":{"name":"Casting magic","title":"This will also be used for characters that do not have their own notification sound"},"trixie\/notif":{"name":"Trixie - Watch in awe!"},"dash\/notif":{"name":"Rainbow Dash - Aww yeah!"},"pinkie\/notif2":{"name":"Pinkie Pie - *rimshot*"},"applej\/notif":{"name":"Applejack - Yeehaw!"},"flutter\/notif2":{"name":"Fluttershy - Yay!"},"rarity\/notif":{"name":"Rarity - This is whining!"},"applebloom\/notif":{"name":"Apple Bloom - That'll be four bits"},"bigmac\/notif":{"name":"Big Macintosh - Eeyup"},"colgate\/notif":{"name":"Colgate - Why you don't brush your teeth"},"derpy\/notif":{"name":"Derpy Hooves - I brought you a letter!"},"luna\/notif":{"name":"Luna - Huzzah!"},"_sound\/roidrage_yeah":{"name":"Roid Rage\/Snowflake - YEAH!"},"sweetieb\/notif":{"name":"Sweetie Belle - Oh come on!"},"vinyl\/notif":{"name":"Vinyl Scratch - Yeah!","seperator":true},"twilight\/notif":{"name":"Twilight Sparkle - It's not over yet!"},"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/dash_dundundun":{"name":"Rainbow Dash - DUN DUN DUN"},"_sound\/dash_egghead":{"name":"Rainbow Dash - I'm an egghead"},"_sound\/pinkie_boring":{"name":"Pinkie Pie - Booooring!"},"_sound\/pinkie_gasp":{"name":"Pinkie Pie - *gasp*"},"_sound\/pinkie_partycannon":{"name":"Pinkie Pie - Party cannon"},"_sound\/pinkie_pinkiepiestyle":{"name":"Pinkie Pie - Pinkie Pie style!"},"_sound\/flutter_woohoo":{"name":"Fluttershy - Woo hoo"},"_sound\/rarity_dumbrock":{"name":"Rarity - Dumb rock!"},"_sound\/rarity_itison":{"name":"Rarity - Oh. It. Is. On!"},"_sound\/rarity_wahaha":{"name":"Rarity - Wahaha!"},"_sound\/octavia_nevermess":{"name":"Octavia - Never mess with Octavia"},"_sound\/vinyl_awyeah":{"name":"Vinyl Scratch - Aw yeah!"},"_sound\/vinyl_mybasscannon":{"name":"Vinyl Scratch - My bass cannon!"},"_sound\/vinyl_wubwubwub":{"name":"Vinyl Scratch - Wubwubwub"},"_sound\/vinyl_wubedubdub":{"name":"Vinyl Scratch - Wubedubdub"},"_sound\/vinyl_yougotwubs":{"name":"Vinyl Scratch - You got wubs"}};
var SOUNDS_CHAT = {"_sound\/grin2":{"name":"Fluttershy - *squee*"},"_sound\/chat_boing":{"name":"Boing"}};
- var HTMLCLASS_SETTINGS = ['login_bg', 'show_messages_other', 'disable_animation', 'pinkieproof', 'disable_emoticons'];
+ var HTMLCLASS_SETTINGS = ['login_bg', 'disable_animation', 'pinkieproof', 'disable_emoticons'];
var DEFAULTSETTINGS = {
'theme':CURRENTPONY,
'login_bg':false, 'customBg':null, //'allowLoginScreen':true,
'sounds':false, 'soundsFile':'AUTO', 'soundsNotifTypeBlacklist':'', 'soundsVolume':1, 'chatSound':true, 'chatSoundFile':'_sound/grin2',
- 'show_messages_other':true, 'pinkieproof':false, 'forceEnglish':false, 'disable_emoticons':false, 'randomPonies':'', 'costume': '', //'commentBrohoofed':true,
+ //'show_messages_other':true,
+ 'pinkieproof':false, 'forceEnglish':false, 'disable_emoticons':false, 'randomPonies':'', 'costume': '', //'commentBrohoofed':true,
'disable_animation':false, 'disableDomNodeInserted':false, //'disableCommentBrohoofed':false,
'customcss':'', 'debug_dominserted_console':false, 'debug_slow_load':false, 'debug_disablelog':false, 'debug_noMutationObserver':false, 'debug_mutationDebug':false, 'debug_exposed':false, 'debug_betaFacebookLinks':false //,'debug_mutationObserver':false,
//'lastVersion':''
//'survivedTheNight', 'chatSound1401', 'randomSettingMigrated'
};
- var STACKS_LANG = [{"stack":"pony","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"},{"stack":"chrysalis","people":"changelings","person":"changeling","friend":"prey","friends":"prey","friend_logic":"changeling","friends_logic":"changelings","like":"feed","likes":"feeds","unlike":"unfeed","like_past":"fed on","likes_past":"fed on","liked":"fed on","liked_button":"fed","liking":"feeding"},{"stack":"villian","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing"}];
+ var STACKS_LANG = [{"stack":"pony","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing","findFriendship":"Find Friendship"},{"stack":"chrysalis","people":"changelings","person":"changeling","friend":"prey","friends":"prey","friend_logic":"changeling","friends_logic":"changelings","like":"feed","likes":"feeds","unlike":"unfeed","like_past":"fed on","likes_past":"fed on","liked":"fed on","liked_button":"fed","liking":"feeding","findFriendship":"Find Prey"},{"stack":"villian","people":"ponies","person":"pony","friend":"pal","friends":"pals","friend_logic":"pal","friends_logic":"pals","like":"brohoof","likes":"brohoofs","unlike":"unbrohoof","like_past":"brohoof","likes_past":"brohoofs","liked":"brohoof'd","liked_button":"brohoof'd","liking":"brohoofing","findFriendship":"Find Friendship"}];
var CURRENTSTACK = STACKS_LANG[0];
var COSTUMESX = {"winterwrapup":{"name":"Winter Wrap Up","characters":["twilight","dash","pinkie","applej","flutter","rarity","derpy"]},"nightmarenight":{"name":"Nightmare Night","characters":["twilight","dash","pinkie","applej","flutter","applebloom","bigmac","derpy","luna","scootaloo","spike","sweetieb","zecora"]},"hearthwarming":{"name":"Hearth's Warming","characters":["twilight","dash","pinkie","applej","flutter","rarity"]},"season3premiere":{"name":"Season 3 Premiere","characters":["twilight","rarity"]},"crystal":{"name":"Crystal Pony","characters":["twilight","dash","pinkie","applej","flutter","rarity","cadance"]},"wedding":{"name":"Canterlot Wedding","characters":["sweetieb"]},"coronation":{"name":"Princess Coronation Dresses","characters":["dash","pinkie","applej","flutter","rarity","cadance"]},"princess":{"name":"Princess Twilight Sparkle","characters":["twilight"]}};
var SOUNDS_NOTIFTYPE = {
var chrome_ajax = function(details) {
chrome_sendMessage({'command': 'ajax', 'details': details}, function(response) {
- if (response.val == 'success') {
+ if (response && response.val === 'success') {
if (details.onload) {
details.onload(response.request);
}
k.menu = new Menu('ponies_'+p.id, k.p/*, {checkable:true}*/);
k.button = k.menu.createButton(name);
k.menu.alwaysOverflow = true;
+ k.menu.searchNoResultsMessage = "No ponies :(";
k.menu.createMenu();
k.menu.attachButton();
return;
}
}
+
+ if (STORAGEMETHOD === 'chrome' && chrome_isExtUpdated()) {
+ extUpdatedError("PonySound.play()");
+ return;
+ }
if (k.wait == 0) {
k.continuePlaying();
break;
case 'mxaddon':
- // Handled by function
+ ele.href = json.mxaddon_instruction;
break;
default:
k._xpi();
return;
- case 'mxaddon':
+ // Maxthon 4.2.0.2200 starts blocking off-store extensions
+ /*case 'mxaddon':
k.mxaddon();
- return;
+ return;*/
default:
break;
}
var c = "The update will load after you reload Facebook.";
- if (ISCHROME) { // still localstorage
+ if (STORAGEMETHOD === 'mxaddon') {
+ c = "Follow the instructions in the new window and reload Facebook when you are done.";
+ } else if (ISCHROME) { // still localstorage
c = "Click Continue on the bottom of this window and click Add to finish updating. The update will load after you reload Facebook.";
} else if (ISSAFARI) { // still ninjakit
c = "Follow the instructions in the new window and reload Facebook when you are done.";
} else if (ISOPERA) { // still localstorage
c = "Follow the instructions in the new window and reload Facebook when you are done.";
- } else if (STORAGEMETHOD == 'greasemonkey') {
+ } else if (STORAGEMETHOD === 'greasemonkey') {
c = "Click <strong>Install</strong> when you see this dialog. The update will load after you reload Facebook.<br><br><"+"img src='"+THEMEURL+"_welcome/guide/firefox/install.png' alt='' width='552' height='110' class='ponyhoof_image_shadow'>";
injectManualStyle('#ponyhoof_dialog_updater_dialog .generic_dialog_popup, #ponyhoof_dialog_updater_dialog .popup {width:600px;}', 'updater_dialog');
}
var k = this;
k.dialog = null;
- k.errorDialog = null;
k.url = 'https://hoof.little.my/_browserponies/';
k.initLoaded = false;
k.ponies = [];
k.selectPoniesMenu = null;
k.selectPoniesButton = null;
+
+ k.errorDialog = null;
+ k.errorDialogShown = false;
k.run = function() {
if (!k.initLoaded) {
k._init(k.run);
+
+ w.setTimeout(function() {
+ if (!k.initLoaded) {
+ if (k.errorCallback) {
+ k.errorCallback('timeout');
+ }
+ }
+ }, 15000);
+
return;
}
};
k._init = function(callback) {
+ k.errorDialogShown = false;
k._getAjax(k.url+'BrowserPoniesBaseConfig.json?userscript_version='+VERSION, function(response) {
try {
var tempPonies = JSON.parse(response.responseText);
}, {"CANLOG":CANLOG, "baseurl":k.url});
callback();
+
+ if (k.errorDialog) {
+ k.errorDialog.close();
+ }
});
});
}
k.selectPoniesMenu.rightFaced = true;
k.selectPoniesMenu.buttonTextClipped = 59;
k.selectPoniesButton = k.selectPoniesMenu.createButton("(Random)");
+ k.selectPoniesMenu.searchNoResultsMessage = "No ponies :(";
k.selectPoniesMenu.createMenu();
k.selectPoniesMenu.attachButton();
};
k.createErrorDialog = function(response) {
- createSimpleDialog('browserponies_error', "Browser Ponies derp'd", "Whoops, there was a problem loading Browser Ponies. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.");
+ if (!k.errorDialogShown) {
+ dir(response);
+ k.errorDialog = createSimpleDialog('browserponies_error', "Browser Ponies derp'd", "Whoops, there was a problem loading Browser Ponies. Please try again later.<br><br>If you keep seeing this error, please update to the latest version of Ponyhoof if available and <a href=\""+w.location.protocol+PONYHOOF_URL+"\" data-hovercard=\"/ajax/hovercard/page.php?id="+PONYHOOF_PAGE+"\">visit and post to the Ponyhoof page for help</a>.");
+
+ k.errorDialogShown = true;
+ }
}
k.injectStyle = function() {
c += '</ul>';
c += '<div class="ponyhoof_message uiBoxRed hidden_elem" id="ponyhoof_options_background_error"></div>';
+ c += '<div class="ponyhoof_message uiBoxYellow hidden_elem" id="ponyhoof_options_background_message"></div>';
c += '<div id="ponyhoof_options_background_drop">';
- c += '<div id="ponyhoof_options_background_drop_notdrop">Drag and drop an image here to customize your background. <a href="#" class="uiHelpLink" data-hover="tooltip" data-tooltip-alignh="center" aria-label=""></a><br><br>Or browse for an image: <input type="file" id="ponyhoof_options_background_select" accept="image/*"></div>';
+ c += '<div id="ponyhoof_options_background_drop_notdrop">';
+ c += 'Drag and drop a pony pic here to customize your background. <a href="#" class="uiHelpLink" data-hover="tooltip" data-tooltip-alignh="center" aria-label=""></a><br><br>';
+ c += '<span class="ponyhoof_menu_label">Or browse for a pony pic: </span>';
+ c += '<div id="ponyhoof_options_background_selectOuterWrap"><a href="#" class="uiButton" role="button" aria-hidden="true" tabindex="-1"><span class="uiButtonText">Browse...</span></a><div id="ponyhoof_options_background_selectFileWrap"><input type="file" id="ponyhoof_options_background_select" accept="image/*" title="Choose a file..."></div></div>';
+ c += '</div>';
c += '<div id="ponyhoof_options_background_drop_dropping">Drop here</div>';
c += '</div>';
c += '</div>';
}
c += '<div class="available">';
- c += '<div class="ponyhoof_message uiBoxYellow notPage">Sounds are experimental, they might derp from time to time.</div>';
- c += '<div class="ponyhoof_message uiBoxRed usingPage">Notification sounds are not available when you are using Facebook as your page.</div><br>';
+ c += '<div class="ponyhoof_message uiBoxRed usingPage">Notification sounds are not available when you are using Facebook as your page.</div>';
c += k.generateCheckbox('sounds', soundsText, {customFunc:k.soundsClicked});
- c += '<div class="notPage notBusiness"><br>';
- c += '<div id="ponyhoof_options_soundsSettingsWrap">';
+ c += '<div class="notPage notBusiness">';
+ c += '<div id="ponyhoof_options_soundsSettingsWrap"><br>';
c += '<div id="ponyhoof_options_soundsSetting" class="ponyhoof_menu_withlabel"><span class="ponyhoof_menu_label">Notification sound: </span></div>';
c += '<div id="ponyhoof_options_soundsNotifType" class="ponyhoof_menu_withlabel ponyhoof_menu_labelbreak"><span class="ponyhoof_menu_label">Don\'t play sounds for these types of notifications:</span></div>';
c += '<span class="ponyhoof_menu_label">Volume: </span><input type="range" id="ponyhoof_options_soundsVolume" min="1" max="100"> <a href="#" class="uiButton" role="button" id="ponyhoof_options_soundsVolumePreview"><span class="uiButtonText">Preview</span></a><span class="ponyhoof_menu_label" id="ponyhoof_options_soundsVolumeValue"></span>';
c += '<div class="ponyhoof_tabs_section" id="ponyhoof_options_tabs_extras">';
c += '<div class="ponyhoof_show_if_injected">';
- c += k.generateCheckbox('show_messages_other', "Always show Other messages", {tip:"Facebook sends messages that aren't from your friends or mutual friends to the Other messages section. Ponyhoof can expand the Messages section to always show the Other section so you won't miss a message.<br><br><"+"img src='"+THEMEURL+"_help/other_messages.png' alt='' width='190' height='142' class='ponyhoof_image_shadow'>", 'extraClass':'notBusiness'});
c += k.generateCheckbox('pinkieproof', "Strengthen the fourth wall", {title:"Prevents Pinkie Pie from breaking the fourth wall for non-villains"});
c += '</div>';
c += k.generateCheckbox('forceEnglish', "Always use Ponyhoof in English", {title:"Ponyhoof tries to use your Facebook language, but you can force Ponyhoof to always use English", refresh:true});
c += '<span class="ponyhoof_dialog_header">Performance</span>';
c += k.generateCheckbox('disable_animation', "Disable all animations");
c += k.generateCheckbox('disableDomNodeInserted', "Disable HTML detection", {title:"Disables Ponyhoof from ponifying certain stuff that is not possible to do with styling alone such as notifications and dialogs (Some features require this to be enabled)", customFunc:k.disableDomNodeInsertedClicked});
- c += '<br>';
c += '</div>';
c += '<a href="#" class="ponyhoof_options_fatlink" id="ponyhoof_options_resetSettings" data-hover="tooltip" aria-label="Reset your Ponyhoof settings and show the welcome screen">Reset settings</a>';
c += '<textarea id="ponyhoof_options_dump" READONLY spellcheck="false"></textarea><br><br>';
}
+ c += '<span class="ponyhoof_dialog_header">Chat config</span>';
+ c += '<textarea id="ponyhoof_options_chatconfig" READONLY spellcheck="false"></textarea><br><br>';
+
c += '<div class="ponyhoof_show_if_injected">';
c += '<span class="ponyhoof_dialog_header">Custom CSS</span>';
c += '<textarea id="ponyhoof_options_customcss" placeholder="Enter any custom CSS to load after Ponyhoof is loaded." title="Enter any custom CSS to load after Ponyhoof is loaded." spellcheck="false"></textarea><br>';
$('ponyhoof_style_customcss').textContent = '/* '+SIG+' */'+customcss.value;
}, false);
- // Technical info
- var techFirstHover = false;
- $('ponyhoof_options_technical').addEventListener('click', function() {
- if (!techFirstHover) {
- techFirstHover = true;
- this.focus();
- this.select();
- }
- }, false);
-
if (STORAGEMETHOD == 'localstorage') {
var dump = '';
for (var i in localStorage) {
}
$('ponyhoof_options_dump').value = dump;
}
-
+
+ contentEval(function(arg) {
+ try {
+ if (typeof window.requireLazy == 'function') {
+ window.requireLazy(['ChatConfig'], function(ChatConfig) {
+ document.getElementById('ponyhoof_options_chatconfig').value = JSON.stringify(ChatConfig.getDebugInfo());
+ });
+ }
+ } catch (e) {
+ if (arg.CANLOG && typeof console != 'undefined' && console.log && console.dir) {
+ console.log("Unable to hook to ChatConfig");
+ console.dir(e);
+ }
+ }
+ }, {"CANLOG":CANLOG});
+
// Settings
var settingsTextarea = $('ponyhoof_options_debug_settings');
return;
}
- var litestand = false;
- if (d.getElementsByClassName('_4g5r').length || d.getElementsByClassName('-cx-PUBLIC-hasLitestandBookmarksSidebar__root').length) {
- litestand = true;
- }
- if (litestand) {
- var option = $('ponyhoof_options_show_messages_other');
- option.disabled = true;
- option.checked = false;
-
- var label = $('ponyhoof_options_label_show_messages_other');
- addClass(label, 'ponyhoof_options_unavailable');
- label.setAttribute('data-hover', 'tooltip');
- label.setAttribute('aria-label', "This option is not available on the new Facebook news feed");
- }
-
k.randomInit();
k.costumesInit();
k.soundsMenu = new Menu('sounds', $('ponyhoof_options_soundsSetting'));
k.soundsButton = k.soundsMenu.createButton(desc);
+ k.soundsMenu.searchNoResultsMessage = "No sounds found";
k.soundsMenu.createMenu();
k.soundsMenu.attachButton();
};
k.bgError = null;
+ k.bgMessage = null;
k.bgTab = null;
k.bgDrop = null;
k.bgClearCustomBg = false;
k.bgInitLoaded = false;
k.bgSizeLimit = 1024 * 1024;
k.bgSizeLimitDescription = '1 MB';
+ k._isWebPSupported = false;
k.bgInit = function() {
if (k.bgInitLoaded) {
return;
}
k.bgError = $('ponyhoof_options_background_error');
+ k.bgMessage = $('ponyhoof_options_background_message');
k.bgTab = $('ponyhoof_options_tabs_background');
k.bgDrop = $('ponyhoof_options_background_drop');
}
}, false);
- var uiHelpLink = k.bgDrop.getElementsByClassName('uiHelpLink');
- if (uiHelpLink.length) {
- uiHelpLink[0].setAttribute('aria-label', 'Maximum file size is '+k.bgSizeLimitDescription+'.\n\nYour image resolution should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen. Your image will not be resized and will be placed on the middle of the page.');
- }
+ isWebPSupported(function(result) {
+ k._isWebPSupported = result;
+
+ var desc = 'Maximum file size is '+k.bgSizeLimitDescription+'.\n\nFor best results, the resolution of your pony pic should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen.';
+ if (isCanvasSupported()) {
+ var filetype = 'JPEG';
+ if (k._isWebPSupported) {
+ filetype = 'JPEG/WebP';
+ }
+
+ desc = 'If the file size of your pony pic is too big, we will attempt to automatically convert to '+filetype+' and resize it.\n\nFor best results, the resolution of your pony pic should be '+w.screen.width+'x'+w.screen.height+' to fill the entire screen.';
+ }
+
+ var uiHelpLink = k.bgDrop.getElementsByClassName('uiHelpLink');
+ if (uiHelpLink.length) {
+ uiHelpLink[0].setAttribute('aria-label', desc);
+ }
+ });
k.bgDropInit();
k.bgDropInit = function() {
if (typeof w.FileReader == 'undefined') {
- k.bgError.textContent = "Custom background images are not supported on your browser. Please update your browser if possible.";
+ k.bgError.textContent = "Custom background pony pics are not supported on your browser. Please update your browser if possible.";
removeClass(k.bgError, 'hidden_elem');
addClass(k.bgDrop, 'hidden_elem');
return;
}, false);
}
+ k.bgReaderFile = null;
+ k.bgReaderBg = null;
k.bgProcessFile = function(file) {
+ k.bgReaderFile = file;
+ addClass(k.bgError, 'hidden_elem');
+ addClass(k.bgMessage, 'hidden_elem');
+
if (!file.type.match(/image.*/)) {
if (file.type) {
- k.bgError.textContent = "The file ("+file.name+") doesn't seem to be an image ("+file.type+").";
+ k.bgError.textContent = "The file ("+file.name+") doesn't seem to be a pony pic ("+file.type+").";
} else {
- k.bgError.textContent = "The file ("+file.name+") doesn't seem to be an image.";
+ k.bgError.textContent = "The file ("+file.name+") doesn't seem to be a pony pic.";
}
removeClass(k.bgError, 'hidden_elem');
return;
}
- if (file.size > k.bgSizeLimit) {
- if (file.type && file.type != 'image/jpeg') {
- k.bgError.textContent = "Sorry, the file size of your image is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try saving your image as a JPEG or resize your image.";
+ var reader = new w.FileReader();
+ reader.onload = k.bgReaderLoad;
+ reader.onerror = k.bgReaderError;
+ reader.readAsDataURL(file);
+ };
+
+ k.bgReaderLoad = function(e) {
+ k.bgReaderBg = e.target.result;
+ if (e.target.result.length > k.bgSizeLimit) {
+ // base64 result is too big to fit, convertion required
+ if (isCanvasSupported()) {
+ k.bgPerformConvertion();
} else {
- k.bgError.textContent = "Sorry, the file size of your image is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try resizing your image.";
+ k.bgErrorTooBig();
}
- removeClass(k.bgError, 'hidden_elem');
- return;
+ } else {
+ k.bgChangeSuccess();
}
+ };
- var reader = new w.FileReader();
- reader.onload = function(e) {
- addClass(k.bgError, 'hidden_elem');
- addClass(k.bgTab, 'hasCustom');
+ k.bgReaderError = function(e) {
+ k.bgError.textContent = "An error occurred reading the file. Please try again.";
+ removeClass(k.bgError, 'hidden_elem');
+ dir(e);
+ };
- $$(k.bgTab, '.ponyhoof_options_fatradio a', function(ele2) {
- removeClass(ele2.parentNode, 'active');
- });
- addClass($('ponyhoof_options_background_custom'), 'active');
- k.bgClearCustomBg = false;
+ k.bgErrorTooBig = function() {
+ if (k.bgReaderFile.type && k.bgReaderFile.type != 'image/jpeg' && !isCanvasSupported()) {
+ k.bgError.textContent = "Sorry, the file size of your pony pic is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try saving your pony pic as a JPEG, resize your pony pic, or use a different pony pic.";
+ } else {
+ k.bgError.textContent = "Sorry, the file size of your pony pic is too big (over "+k.bgSizeLimitDescription+") and may not save properly. Try resizing your pony pic or use a different pony pic.";
+ }
+ removeClass(k.bgError, 'hidden_elem');
+ };
- userSettings.login_bg = false;
- userSettings.customBg = e.target.result;
- saveSettings();
+ k.bgChangeSuccess = function() {
+ addClass(k.bgError, 'hidden_elem');
+ addClass(k.bgTab, 'hasCustom');
- k.needToSaveLabel = true;
- k.updateCloseButton();
+ $$(k.bgTab, '.ponyhoof_options_fatradio a', function(ele) {
+ removeClass(ele.parentNode, 'active');
+ });
+ addClass($('ponyhoof_options_background_custom'), 'active');
+ k.bgClearCustomBg = false;
- changeCustomBg(e.target.result);
- };
- reader.onerror = function(e) {
- k.bgError.textContent = "An error occurred reading the file. Please try again.";
- dir(e);
- removeClass(k.bgError, 'hidden_elem');
- };
- reader.readAsDataURL(file);
+ userSettings.login_bg = false;
+ userSettings.customBg = k.bgReaderBg;
+ saveSettings();
+
+ k.needToSaveLabel = true;
+ k.updateCloseButton();
+
+ changeCustomBg(k.bgReaderBg);
+ };
+
+ k.bgPerformConvertion = function() {
+ var img = new w.Image();
+ try {
+ img.onload = function() {
+ // First try converting to JPEG/WebP
+ if (k.bgReaderFile.type != 'image/jpeg' || (k._isWebPSupported && k.bgReaderFile.type != 'image/webp')) {
+ var transformed = k.bgCanvasTransform(img, img.width, img.height);
+ if (transformed.length <= k.bgSizeLimit) {
+ k.bgReaderBg = transformed;
+ k.bgChangeSuccess();
+
+ img = null;
+ transformed = null;
+ return;
+ }
+ transformed = null;
+ }
+
+ // Now try resizing to screen resolution
+ var transformed = k.bgCanvasTransform(img, Math.min(w.screen.width, img.width), Math.min(w.screen.height, img.height));
+ if (transformed.length <= k.bgSizeLimit) {
+ k.bgMessage.textContent = "Automatically resized to screen resolution. For best results, we recommend using an image editor and resize/crop your pony pic.";
+ removeClass(k.bgMessage, 'hidden_elem');
+
+ k.bgReaderBg = transformed;
+ k.bgChangeSuccess();
+
+ img = null;
+ transformed = null;
+ return;
+ }
+ img = null;
+ transformed = null;
+
+ // Fail :(
+ k.bgErrorTooBig();
+ };
+ img.src = k.bgReaderBg;
+ } catch (e) {
+ k.bgErrorTooBig();
+ }
+ };
+
+ k.bgCanvasTransform = function(img, width, height) {
+ var canvas = d.createElement('canvas');
+ canvas.width = width;
+ canvas.height = height;
+ var ctx = canvas.getContext('2d');
+ ctx.drawImage(img, 0, 0, width, height);
+
+ var type = 'image/jpeg';
+ if (k._isWebPSupported) {
+ type = 'image/webp';
+ }
+
+ return canvas.toDataURL(type);
};
k.disableDomNodeInserted = function() {
return false;
}
- var alreadyLoaded = !!k.browserPonies;
+ var alreadyLoaded = (k.browserPonies && k.browserPonies.initLoaded);
addClass(link, 'ponyhoof_browserponies_loading');
- if (!alreadyLoaded) {
+ if (!k.browserPonies) {
k.browserPonies = new BrowserPoniesHoof();
}
k.browserPonies.doneCallback = function() {
css += '#ponyhoof_dialog_options.ponyhoof_options_debugExposed .ponyhoof_tabs > a[data-ponyhoof-tab="advanced"] {display:block;}';
// 214px
- css += '.ponyhoof_options_fatradio {margin:8px 0;}';
+ css += '.ponyhoof_options_fatradio {margin:10px 0;}';
css += '.ponyhoof_options_fatradio li {width:222px;float:left;margin-left:12px;}';
css += '#ponyhoof_options_tabs_background.hasCustom .ponyhoof_options_fatradio li {width:144px;}';
css += '.ponyhoof_options_fatradio li:first-child {margin:0;}';
- css += '.ponyhoof_options_fatradio a {border:1px solid rgba(0,0,0,.3);display:block;text-align:center;width:100%;text-decoration:none;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;}';
- css += '.ponyhoof_options_fatradio a:hover {-moz-box-shadow:0 0 8px rgba(0,0,0,.3);box-shadow:0 0 8px rgba(0,0,0,.3);}';
- css += '.ponyhoof_options_fatradio a:active {background:#ECEFF5;-moz-box-shadow:0 0 8px rgba(0,0,0,.7);box-shadow:0 0 8px rgba(0,0,0,.7);}';
+ css += '.ponyhoof_options_fatradio a {border:1px solid rgba(0,0,0,.3);display:block;text-align:center;width:100%;text-decoration:none;border-radius:3px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;}';
+ css += '.ponyhoof_options_fatradio a:hover {box-shadow:0 0 8px rgba(0,0,0,.3);}';
+ css += '.ponyhoof_options_fatradio a:active {background:#ECEFF5;box-shadow:0 0 8px rgba(0,0,0,.7);}';
css += '.ponyhoof_options_fatradio li.active a {background-color:#6D84B4;border-color:#3b5998;color:#fff;}';
css += '.ponyhoof_options_fatradio span {padding:4px;display:block;}';
css += '.ponyhoof_options_fatradio .wrap i {height:200px;width:100%;display:block;=webkit-transition:all .2s ease-in;-moz-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in;}';
css += '#ponyhoof_options_tabs_background.hasCustom #ponyhoof_options_background_cutie .wrap i {width:128px;height:128px;}';
css += '#ponyhoof_options_background_custom {display:none;}';
css += '#ponyhoof_options_tabs_background.hasCustom #ponyhoof_options_background_custom {display:block;}';
- css += '#ponyhoof_options_background_custom .wrap i {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABiElEQVRIx82WMWrDQBBFhQtXJoWr4DP4AD6ACxGCEEj/CVwZFyFHCCkCOYJJkfMYFzmBi1SpjAvjwpUwKZwiDihiV7uOJJOBrVYzbzUz+2eD4AwDYmCXZdkxy7IjsAPioC0rworQWkElPQAHYCMpLO6VYT+r5I+kBfAiqeeCPZVOnxehLqCkWcl/aYVKmpqCATlwA8Q2IBBLurfsLSV1TfWZ2wLWXcDYBBwBeUvAoS2tYdNQSTNX44TA50VgJ2AX2DaQxq2xWQzASUWQtSSiKBpEUTSQBLCu+MOJU64qYO+S+oYD9oGVh/+3DPrATqdNqzTWM827wLcmYRheVZSh5xvn8kDflFaNobNSKikF9h4fr2o2zd7YBx7XIpV0fVrp2dfCALxrStaSJLl1waYNi3ZeHuLFwg9bmhQ5MDIBxy3Ow7lRtCW9WRw+fKQPOFiaZ2q9wMDSMGI6klKH7HVM8xR4djVOD3iVtJDEH15tIbABDpIeaz0hfYAF6/zPh7Aj3b9k0CpXFfYF15zYxmWum1cAAAAASUVORK5CYII=") no-repeat center center;}';
+ css += '#ponyhoof_options_background_custom .wrap i {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAABh0lEQVRIx82WP2oCURDGFwsrSWEVPIMH8AAWSwiL4H6/BSuxCDlCSBHIESRFziMWOYFFqlRiIRZWi6QwRQxslvfP7K5k4FVvZ35vZ+Z986LoDANGwC7LsmOWZUdgB4yipqwIK0IrBZX0AByAjaS4uFeG/aySP5IWwIukjg/2VDp9XoT6gJJmJf+lFSppagoG5MANMLIBgZGke8veUlLbVJ+5LWDVBQxNwAGQNwTs29Ia1w2VNPM1Tgx8XgR2AraBbQ1p3BqbxQCcOIKsJZEkSS9Jkp4kgLXjDydeuXLA3iV1DQfsAqsA/28ZDIGdTpu6NDYwzbsotCZxHF85ytAJjXN5YGhKXWPorJRKSoF9wMerik2zN/ZBwLVIJV2fVnr2tTAA7+qStfF4fOuDTWsW7bw8xIuF7zc0KXJgYAIOG5yHc6NoS3qzOHyESB9wsDTP1HqBgaVhxLQkpR7Za5nmKfDsa5wO8CppIYk/vNpiYAMcJD1WekKGAAvW+p8PYU+6f8mgVa4c9gXXnNjGKCXX6gAAAABJRU5ErkJggg==") no-repeat center center;}';
- css += '#ponyhoof_options_background_error {margin-bottom:10px;}';
+ css += '#ponyhoof_options_background_error, #ponyhoof_options_background_message {margin-bottom:10px;}';
css += '#ponyhoof_options_background_drop {background:#fff;border:2px dashed #75a3f5;padding:8px;position:relative;}'; //margin-bottom:8px;
css += '#ponyhoof_options_background_drop_dropping {background:#fff;background:rgba(255,255,255,.95);border:2px dashed #75a3f5;color:#75a3f5;position:absolute;top:-2px;left:-2px;width:100%;height:100%;font-size:16px;line-height:64px;text-align:center;font-weight:bold;display:none;}';
css += '#ponyhoof_options_background_drop.ponyhoof_dropping #ponyhoof_options_background_drop_dropping {display:block;}';
+ css += '#ponyhoof_options_background_selectOuterWrap {position:relative;display:inline-block;top:-3px;}';
+ css += '#ponyhoof_options_background_selectFileWrap {position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;}';
+ css += '#ponyhoof_options_background_select {font-size:1000px !important;opacity:0;padding:0;margin:0;position:absolute;bottom:0;right:0;cursor:pointer;}';
css += '#ponyhoof_options_tabs_main .ponyhoof_message {margin-top:10px;}';
css += '#ponyhoof_browserponies .ponyhoof_loading {display:none;margin-top:0;vertical-align:text-bottom;}';
css += '#ponyhoof_browserponies.ponyhoof_browserponies_loading .ponyhoof_loading {display:inline-block;}';
css += '#ponyhoof_options_randomPonies .ponyhoof_loading {display:none !important;}';
css += '#ponyhoof_options_randomPonies .ponyhoof_menuitem_checked {display:block;}';
- //css += '#ponyhoof_options_tabs_sounds .ponyhoof_message.unavailable {margin-bottom:10px;}';
+ css += '#ponyhoof_options_tabs_sounds .ponyhoof_message.unavailable {margin-bottom:10px;}';
css += '#ponyhoof_options_soundsSettingsWrap {margin-top:-14px;}';
css += '#ponyhoof_options_soundsVolume {vertical-align:middle;width:50px;}';
css += '#ponyhoof_options_soundsVolume[type="range"] {cursor:pointer;width:200px;}';
css += '#ponyhoof_options_soundsVolumePreview {vertical-align:middle;}';
css += '#ponyhoof_options_soundsVolumeValue {display:none;padding-left:3px;}';
css += '#ponyhoof_options_soundsChatSoundWarning, #ponyhoof_options_soundsMessengerForWindowsWarning {margin-bottom:10px;}';
+ css += '#ponyhoof_options_soundsChatSetting {margin:0;}';
css += '#ponyhoof_options_tabs_extras .ponyhoof_show_if_injected + .uiInputLabel, #ponyhoof_options_tabs_extras .uiInputLabel + .ponyhoof_show_if_injected, #ponyhoof_options_tabs_advanced .uiInputLabel + .ponyhoof_show_if_injected {margin-top:3px;}';
css += '#ponyhoof_options_tabs_advanced .ponyhoof_hide_if_injected.ponyhoof_message {margin-bottom:10px;}';
css += '.ponyhoof_options_aboutsection {border-top:1px solid #ccc;margin:10px -10px 0;}';
css += '.ponyhoof_tip_trigger:hover .ponyhoof_tip {display:block;}';
css += '.ponyhoof_options_unavailable .ponyhoof_tip_trigger {display:none !important;}';
css += '.ponyhoof_tip {text-align:left;position:absolute;z-index:-1;display:none;top:11px;padding:4px 0 0;right:-7px;color:#000;font-weight:normal;}';
- css += '.ponyhoof_tip_body {line-height:15px;width:300px;white-space:normal;background:#fff;border:1px solid;border-color:#888 #999;display:block;left:0;padding:6px 8px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 0 rgba(0,0,0,.1);}';
+ css += '.ponyhoof_tip_body {line-height:15px;width:300px;white-space:normal;background:#fff;border:1px solid;border-color:#888 #999;display:block;left:0;padding:6px 8px;box-shadow:0 1px 0 rgba(0,0,0,.1);}';
css += '.ponyhoof_tip_arrow {position:absolute;top:0;right:10px;border:solid transparent;border-width:0 3px 5px 4px;border-bottom-color:#888;}';
css += '#ponyhoof_donate {background:#EDEFF4;border:1px solid #D2DBEA;color:#9CADCF;font-family:Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}';
};
$('ponyhoof_kc_share').addEventListener('click', function() {
- var width = 657;
- var height = 412;
+ var width = 626;
+ var height = 436;
w.open('//'+getFbDomain()+'/sharer/sharer.php?u=http://www.youtube.com/watch?v=zR7V_bCyZe0', 'ponyhoof_kc_sharer', 'left='+((screen.width-width)/2)+',top='+(((screen.height-height)/2)-50)+',width='+width+',height='+height);
return false;
}, false);
w.setTimeout(function() {
removeClass(d.documentElement, 'ponyhoof_welcome_showmedemo');
removeClass($('navAccount'), 'openToggler');
- removeClass($('ponyhoof_account_options'), 'active');
+ //removeClass($('ponyhoof_account_options'), 'active');
}, 100);
userSettings.theme = CURRENTPONY;
userSettings.chatSound1401 = true;
- // Detect Social Fixer
- if ($('bfb_options_button')) {
- userSettings.show_messages_other = false;
- }
saveSettings();
globalSettings.lastVersion = VERSION;
if (!ISUSINGBUSINESS) {
c += '<span class="ponyhoof_brohoof_button">'+capitaliseFirstLetter(CURRENTSTACK['like'])+'</span> us to receive news and help for Ponyhoof!';
- c += '<iframe src="about:blank" id="ponyhoof_welcome_like" scrolling="no" frameborder="0" allowTransparency="true"></iframe>';
+ c += '<div id="ponyhoof_welcome_likeWrap"><iframe src="about:blank" id="ponyhoof_welcome_like" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';
c += 'Got somepony else that you want to suggest? Want to leave some feedback? <a href="'+w.location.protocol+PONYHOOF_URL+'" target="_top" id="ponyhoof_welcome_posttowall">Let us know at our page!</a>';
} else {
c += '<a href="'+w.location.protocol+PONYHOOF_URL+'" target="_top" id="ponyhoof_welcome_posttowall">Visit our Ponyhoof page for the latest news!</a>';
css += '#ponyhoof_dialog_welcome_pinkie .generic_dialog_popup, #ponyhoof_dialog_welcome_pinkie .popup {width:720px;}';
css += '#ponyhoof_dialog_welcome_pinkie .content {line-height:0;padding:0;}';
- css += '#ponyhoof_welcome_like {border:none;overflow:hidden;width:292px;height:62px;margin:8px 0;display:block;}';
+ css += '#ponyhoof_welcome_likeWrap {margin:8px 0;}';
+ css += '#ponyhoof_welcome_like {border:none;overflow:hidden;width:292px;height:62px;margin:0;}';
+ if (ISMOBILE) {
+ css += '#ponyhoof_welcome_scenery {background-image:none !important;}';
+ }
+
injectManualStyle(css, 'welcome');
};
};
var favicon = getFaviconTag();
if (favicon) {
+ // Don't change the favicon on apps.facebook.com
+ if (w.location.hostname.indexOf('apps.') === 0) {
+ if (favicon.href.indexOf('.ico') !== favicon.href.length-('.ico'.length)) {
+ return;
+ }
+ }
+
var newIcon = favicon.cloneNode(true);
} else {
var newIcon = d.createElement('link');
}
} else {
newIcon.type = 'image/x-icon';
- newIcon.href = '//fbstatic-a.akamaihd.net/rsrc.php/y9/r/FXHC9IQ-JIj.ico';
+ newIcon.href = '//fbstatic-a.akamaihd.net/rsrc.php/yl/r/H3nktOa7ZMg.ico';
}
if (favicon) {
if (!$('ponyhoof_style_custombg')) {
injectManualStyle('', 'custombg');
}
- $('ponyhoof_style_custombg').textContent = '/* '+SIG+' */html,.fbIndex{background-position:center center !important;background-image:url("'+base64+'") !important;}';
+ $('ponyhoof_style_custombg').textContent = '/* '+SIG+' */html,.fbIndex{background-position:center center !important;background-image:url("'+base64+'") !important;background-repeat:no-repeat;}';
}
var changeCostume = function(costume) {
if (hasClass(textbox, 'DOMControl_placeholder')) {
textbox.value = placeholders[i];
}
- }
+
+ }
/*try {
if (typeof USW.requireLazy == 'function') {
,["Messages", "Trough"]
,["New Message", "Write a Friendship Report"]
,["Other Messages", "Other Friendship Reports"]
+ ,["Stay on Message", "Stay on Friendship Report"]
,["Share Photo", "Share Pony Pic"]
,["Share Application", "Share Magic"]
,["Activity Log", "Adventure Log"]
,["Invite More Friends", "Invite More Pals"]
- ,["Find Friends", "Find Friendship"]
- ,["Pages I Like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
- ,["Find My Friends", "Find Friendship"]
+ ,["Find Friends", CURRENTSTACK['findFriendship']]
+ //,["Pages I Like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
+ ,["Find My Friends", CURRENTSTACK['findFriendship']]
,["Leave Group", "Leave Herd"]
,["Set Up Group Address", "Set Up Herd Address"]
,["Change Group Photo", "Change Herd Pony Pic"]
- ,["Notifications", "Sparks"]
+ //,["Notifications", "Sparks"]
,["Start Chat", "Start Whinny Chat"]
,["Create Group", "Create Herd"]
,["Add People", "Add "+capitaliseFirstLetter(CURRENTSTACK['people'])]
//,["Add Friends to List", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Directory"]
,["Add Friends to List", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" to List"]
- ,["Pages I like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK.like)]
+ ,[/^Pages I Like$/, "Pages I "+capitaliseFirstLetter(CURRENTSTACK['like_past'])]
+ ,[/^Pages I like$/, "Pages I "+CURRENTSTACK['like_past']]
,["My Friends", "My "+capitaliseFirstLetter(CURRENTSTACK.friends)]
,["Tell Friends", "Tell "+capitaliseFirstLetter(CURRENTSTACK.friends)]
,["All Apps", "All Magic"]
,["Link My Profile to Twitter", "Link My Journal to Twitter"]
,["Link profile to Twitter", "Link journal to Twitter"]
- ,["The app sends you a notification", "The magic sends you a spark"]
+ //,["The app sends you a notification", "The magic sends you a spark"]
+ ,["The app sends you a notification", "The magic sends you a notification"]
,["Upload a Photo", "Upload a Pony Pic"]
,["Take a Photo", "Take a Pony Pic"]
,["Take a Picture", "Take a Pony Pic"] // edit page
-
,["Search All Friends", "Search All "+capitaliseFirstLetter(CURRENTSTACK.friends)] // invite friends
,["Top Comments", "Top Friendship Letters"] // comment resort
,["Go to Activity Log", "Go to Adventure Log"] // checkpoint
,["Friends to Invite", capitaliseFirstLetter(CURRENTSTACK['friends'])+" to Invite"] // app invite
,["Inbox", "Trough"] // page inbox
,["Save Profile Info", "Save Journal Info"] // welcome
+ ,["Like Pages", capitaliseFirstLetter(CURRENTSTACK['like'])+" Pages"] // litestand Following
+ ,["Visit App Center", "Visit Magic Center"] // litestand Games
+ ,["Go to App Center", "Go to Magic Center"] // no https on app
+ ,["Set Profile Picture", "Set Journal Pony Pic"] // page nux
+ ,["Edit Offer Image", "Edit Offer Pony Pic"] // page composer
// graph search
,["Likers", "Brohoofers"] // @todo likers
- ,["Liked by", CURRENTSTACK['liked']+" by"] // @todo likers
+ ,["Liked by", capitaliseFirstLetter(CURRENTSTACK['liked'])+" by"] // @todo likers
,["Create New App", "Create New Magic"]
,["Submit App Detail Page", "Submit Magic Detail Page"]
,["Promote App", "Promote Magic"]
,["Make Friends", "Make "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
,["Add to Other Apps", "Add to Other Magic"]
+ ,["Delete Image", "Nuke Pony Pic"]
];
dialogTitles = [
,["Delete Video?", "Nuke Video?"]
,["Delete Milestone", "Nuke Milestone"]
,["Delete Page?", "Nuke Page?"]
- ,["Delete this Message?", "Nuke this Friendship Report?"]
+ ,["Delete This Message?", "Nuke This Friendship Report?"]
,["Delete This Entire Conversation?", "Nuke This Entire Conversation?"]
,["Delete These Messages?", "Nuke These Friendship Reports?"]
,["Delete Post", "Nuke Post"]
,["Delete Video", "Nuke Video"]
,["Delete Event", "Nuke Adventure"] // for group admin
,["Remove Profile Picture", "Nuke Journal Pony Pic"]
+ ,["Delete Photo?", "Nuke Pony Pic?"]
+ ,["Remove App", "Nuke Magic"]
,["Report and/or Block This Person", "Whine and/or Block This "+capitaliseFirstLetter(CURRENTSTACK['person'])] // 0
,["Report This Photo", "Whine About This Pony Pic"]
,["People in this message", capitaliseFirstLetter(CURRENTSTACK['people'])+" in this friendship report"]
,["Message Sent", "Friendship Report Sent"]
,["Message Filtering Preferences", "Friendship Report Filtering Preferences"]
+ ,["Don't Send Message?", "Don't Send Friendship Report?"] // webmessenger
,["Create New Group", "Create New Herd"]
,[/Create New Event/, "Plan an Adventure"]
- ,["Notification Settings", "Spark Settings"]
+ //,["Notification Settings", "Spark Settings"]
,["Create Group Email Address", "Create Herd Email Address"]
,["Set Up Group Web and Email Address", "Set Up Herd Web and Email Address"]
,["Mute Chat?", "Mute Whinny Chat?"]
//,["Create New List", "Create New Directory"]
,["Invite Friends", "Invite "+capitaliseFirstLetter(CURRENTSTACK['friends_logic'])]
,["Advanced Chat Settings", "Advanced Whinny Chat Settings"]
- ,["Notifications Updated", "Sparks Updated"]
+ //,["Notifications Updated", "Sparks Updated"]
,["Move photo to another album?", "Move pony pic to another album?"]
,["Group Muted", "Herd Muted"]
,["Block App?", "Block Magic?"]
//,["List Notification Settings", "Directory Spark Settings"]
- ,["List Notification Settings", "List Spark Settings"]
+ //,["List Notification Settings", "List Spark Settings"]
,["Like This Photo?", capitaliseFirstLetter(CURRENTSTACK['like'])+" This Pony Pic?"]
,["Friends", capitaliseFirstLetter(CURRENTSTACK['friends'])]
,["All Friends", "All "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
//,["List Subscribers", "Directory Subscribers"]
,["People Who Shared This", capitaliseFirstLetter(CURRENTSTACK.people)+" Who Shared This"]
//,["Edit List Settings", "Edit Directory Settings"]
- ,["Remove App", "Remove Magic"]
,["Turn Off Chat", "Turn Off Whinny Chat"]
,["Access Log", "Adventure Log"]
,["Post to Your Wall", "Post to Your Journal"]
,["About Adding Comments by Email", "About Adding Friendship Letters by Email"]
+ ,["Find Your Friends", CURRENTSTACK['findFriendship']]
+ ,["Upload a profile picture", "Upload a journal pony pic"]
+ ,["Photo Upload Failed", "Pony Pic Upload Failed"] // chat photo upload
+ ,["Related Groups", "Related Herds"] // community page
+ ,["Poke", "Nuzzle"]
,["Take a Profile Picture", "Take a Journal Pony Pic"]
,["Choosing Your Cover Photo", "Choosing Your Cover Pony Pic"]
,["Create New App", "Create New Magic"]
,["Add Test Users to other Apps", "Add Test Users to other Magic"]
+ ,["Upload Page Tab Image", "Upload Page Tab Pony Pic"]
,["Hidden in Groups", "Hidden in Herds"] // timeline
,["Add Friends as Contributors", "Add "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" as Contributors"] // shared albums
+ ,[/^Invite your friends to like /, "Invite your "+CURRENTSTACK['friends']+" to "+CURRENTSTACK['like']+" "] // page invite friends
];
if (ponyData.successText) {
dialogTitles.push(["Success", ponyData.successText]);
,["Your post will only be promoted to the people who like your Page and their friends", "Your post will only be promoted to the "+CURRENTSTACK['people']+" who like your Page and their "+CURRENTSTACK['friends']]
,["Your post will be promoted to people based on the targeting you choose below.", "Your post will be promoted to "+CURRENTSTACK['people']+" based on the targeting you choose below."]
,["Friends and friends of anyone tagged", capitaliseFirstLetter(CURRENTSTACK['friends'])+" and "+CURRENTSTACK['friends']+" of anypony tagged"]
+ ,["Guests of this event will see the comment you write below.", "Guests of this adventure will see the friendship letter you write below."]
+ ,[/^([0-9,]+?) other friends like this$/, '$1 other '+CURRENTSTACK['friends']+' '+CURRENTSTACK['like']+' this']
,[/\bfriends of friends\b/g, CURRENTSTACK['friends']+" of "+CURRENTSTACK['friends']]
,[/\bFriends of Friends\b/g, capitaliseFirstLetter(CURRENTSTACK['friends'])+" of "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
,[/\bfriends\b/g, CURRENTSTACK['friends']]
,["Anyone can see this Everypony comment", "Everypony can see this public friendship letter"]
//,["Remember: all place ratings are Everypony.", "Remember: everypony can see all place ratings."]
,["Everypony can see posts on this Everypony page.", "Everypony can see posts on this public page."]
- ,["Name, profile picture, age range, gender, language, country and other public info", "Name, profile picture, age range, gender, language, country and other public info"]
+ ,["Name, profile picture, age range, gender, language, country and other public info", "Name, journal pony pic, age range, gender, language, country and other public info"]
//,["Name, profile picture, age range, gender, language, country and other Everypony info", "Name, profile picture, age range, gender, language, country and other public info"]
,["This will hide you from Everypony attribution", "This will hide you from public attribution"]
,["Remember: all place ratings are public.", "Remember: everypony can see all place ratings."]
,["Anyone can see the group and who's in it. Only members see posts.", "Anypony can see the herd and who's in it. Only members see posts."]
,["Only members see the group, who's in it, and what members post.", "Only members see the herd, who's in it, and what members post."]
,["Only members see the group, who's in it and what members post.", "Only members see the herd, who's in it and what members post."] // English (UK)
+ ,["The number of people who have checked in to places you've helped recently", "The number of "+CURRENTSTACK['people']+" who have checked in to places you've helped recently"]
+ ,["People you block can still see and comment on stuff you share in groups, apps and other shared places.", capitaliseFirstLetter(CURRENTSTACK['people'])+" you block can still see and comment on stuff you share in herds, magic and other shared places."]
+ ,[/^Organic Reach: ([0-9,]+?) people \(([0-9]+?)%\)$/, 'Organic Reach: $1 '+CURRENTSTACK['people']+' ($2%)']
,["Show comments", "Show friendship letters"]
,["Comment deleted", "Friendship letter nuked"]
,["Delete", "Nuke"]
,["Delete and Ban", "Nuke and Banish"]
,["Report Place", "Whine About Place"]
+ ,["Delete Album", "Nuke Album"]
,["Shown on Timeline", "Shown on Journal"]
,["Allow on Timeline", "Allow on Journal"]
,["Photo / Video", "Add a Pic"]
,["Event, Milestone +", "Adventure, Milestone +"]
- ,["Onsite Notifications", "Onsite Sparks"]
+ //,["Onsite Notifications", "Onsite Sparks"]
,["Create Event", "Plan an Adventure"]
,["Search messages in this conversation", "Search friendship reports in this conversation"]
,["Open photo viewer", "Open pony pic viewer"]
,["Remove Photo", "Nuke Pony Pic"]
,["Dismiss and go to most recent message", "Dismiss and go to most recent friendship letter"] // messages
- ,["To create an offer, your Page needs at least 100 likes.", "To create an offer, your Page needs at least 100 "+CURRENTSTACK['likes']+"."] // page composer
+ ,["To create an offer, your Page needs at least 50 likes.", "To create an offer, your Page needs at least 50 "+CURRENTSTACK['likes']+"."] // page composer
,["Verified profile", "Verified journal"] // verified
,["Tags help people find groups about certain topics.", "Tags help "+CURRENTSTACK['people']+" find herds about certain topics."] // verified
,["This post is more engaging than many of your other posts. You can boost it to get more likes and comments.", "This post is more engaging than many of your other posts. You can boost it to get more "+CURRENTSTACK['likes']+" and friendship letters."] // page admin pabel
+ ,["Help Facebook gather feedback about News Feed. Your input is private and won't be shared.", "Help Facebook gather feedback about Feed Bag. Your input is private and won't be shared."]
+ ,["Like", capitaliseFirstLetter(CURRENTSTACK['like'])]
// developers
,["Enable the newsfeed ticker", "Enable the feedbag ticker"]
,["The week when the most people were talking about this Page.", "The week when the most "+CURRENTSTACK['people']+" were talking about this Page."]
,["The city where most of the people talking about this Page are from.", "The city where most of the "+CURRENTSTACK['people']+" talking about this Page are from."]
,["The largest age group of the people talking about this Page.", "The largest age group of the "+CURRENTSTACK['people']+" talking about this Page."]
+ ,["The number of photos that have this Page tagged.", "The number of pony pics that have this Page tagged."]
+ ,["The week when the most people checked in at this Page's location.", "The week when the most "+CURRENTSTACK['people']+" checked in at this Page's location."]
];
if (ponyData.loadingText) {
tooltipTitles.push(["Loading...", ponyData.loadingText]);
,["People To Follow", capitaliseFirstLetter(CURRENTSTACK.people)+" To Follow"]
,["Poke Suggestions", "Nuzzle Suggestions"]
,["Suggested Groups", "Suggested Herds"]
- ,["Find More Friends", "Find Friendship"]
+ ,["Find More Friends", CURRENTSTACK['findFriendship']]
,["Rate Recently Used Apps", "Rate Recently Used Magic"]
,["Friends' Photos", "Pals' Pony Pics"]
,["Add a Location to Your Photos", "Add a Location to Your Pony Pics"]
,["Entertainment Pages You Might Like", "Entertainment Pages You Might "+capitaliseFirstLetter(CURRENTSTACK.like)]
,["Music Pages You Might Like", "Music Pages You Might "+capitaliseFirstLetter(CURRENTSTACK.like)]
,["Add Personal Contacts as Friends", "Add Personal Contacts as "+capitaliseFirstLetter(CURRENTSTACK.friends)]
- ,["Find Friends", "Find Friendship"]
+ ,["Find Friends", CURRENTSTACK['findFriendship']]
//,[/On This List/, "On This Directory"]
//,["On this list", "On this directory"]
//,["On This List", "On This Directory"]
,["Related Groups", "Related Herds"]
,["Entertainment Pages You May Like", "Entertainment Pages You May "+capitaliseFirstLetter(CURRENTSTACK['like'])]
-
- ,["Notifications", "Sparks"]
+ ,["Music Pages You May Like", "Music Pages You May "+capitaliseFirstLetter(CURRENTSTACK['like'])]
+ ,["No New Friend Requests", "No New Friendship Requests"] // /friends/requests/
+ ,["Games Your Friends Are Playing", "Games Your "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" Are Playing"]
+ ,["Promote This Event", "Promote This Adventure"]
+ ,["Respond to Your Friend Request", "Respond to Your Friendship Request"] // /friends/requests/
+ ,[/^Respond to Your ([0-9]+?) Friend Requests$/, "Respond to Your $1 Friendship Requests"] // /friends/requests/
+ ,["Add People You Know", "Add "+capitaliseFirstLetter(CURRENTSTACK['people'])+" You Know"]
+ ,["Complete your profile", "Complete your journal"]
+ ,["No Sent Friend Requests", "No Sent Friendship Requests"] // /friends/requests/
+ ,["Friend Requests Sent", "Friendship Requests Sent"] // /friends/requests/
+
+ //,["Notifications", "Sparks"]
,["New Likes", "New "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
,["Invite Friends", "Invite "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
,["Get More Likes", "Get More "+capitaliseFirstLetter(CURRENTSTACK['likes'])]
,["Timeline and Tagging", "Journal and Tagging"]
,["Ads, Apps and Websites", "Ads, Magic and Websites"]
,["Blocked People and Apps", "Banished "+capitaliseFirstLetter(CURRENTSTACK['people'])+" and Magic"]
- ,["Notifications Settings", "Sparks Settings"]
+ //,["Notifications Settings", "Sparks Settings"]
,["App Settings", "Magic Settings"]
,["Friend Requests", "Friendship Requests"]
,["People Who Shared This", capitaliseFirstLetter(CURRENTSTACK.people)+" Who Shared This"]
- ,["Your Notifications", "Your Sparks"]
+ //,["Your Notifications", "Your Sparks"]
,["Timeline and Tagging Settings", "Journal and Tagging Settings"]
,["Delete My Account", "Nuke My Account"]
,["Upcoming Events", "Upcoming Adventures"]
,["Photos and Videos", "Pony Pics and Videos"]
,["People Who Are Going", capitaliseFirstLetter(CURRENTSTACK.people)+" Who Are Going"]
- ,["Would you like to opt out of this email notification?", "Would you like to opt out of this email spark?"]
+ //,["Would you like to opt out of this email notification?", "Would you like to opt out of this email spark?"]
,["Confirm Like", "Confirm "+capitaliseFirstLetter(CURRENTSTACK['like'])]
,["Invite Friends You Email", "Invite "+capitaliseFirstLetter(CURRENTSTACK['friends'])+" You Email "]
,["Invite Your Friends", "Invite Your "+capitaliseFirstLetter(CURRENTSTACK['friends'])]
,["Account Groups", "Account Herds"]
- ,["Ads Email Notifications", "Ads Email Soarks"]
- ,["Ads Notifications on Facebook", "Ads Sparks on Facebook"]
+ //,["Ads Email Notifications", "Ads Email Sparks"]
+ //,["Ads Notifications on Facebook", "Ads Sparks on Facebook"]
,["App Restrictions", "Magic Restrictions"]
,["App Info", "Magic Info"]
,["Add Groups", "Add Herds"] // /addgroup
,["Photos", "Pony Pics"] // /media/video/
,["Post to Your Wall", "Post to Your Stall"]
+ ,["Set Your Profile Picture", "Set Your Journal Pony Pic"] // page nux
+ ,["Suggested Pokes", "Suggested Nuzzles"]
+
+ ,["Timeline Review", "Journal Review"]
+ ,["Photos of You", "Pony Pics of You"]
+ ,["Your Photos", "Your Pony Pics"]
+ ,["Comments", "Friendship Letters"]
+ ,["Questions", "Queries"]
+ ,["All Apps", "All Magic"]
];
menuTitles = [
,["Change Date...", "Time Travel..."]
,["Reposition Photo...", "Reposition Pony Pic..."]
- ,["Manage Notifications", "Manage Sparks"]
+ //,["Manage Notifications", "Manage Sparks"]
,["Use Activity Log", "Use Adventure Log"]
,["See Banned Users...", "See Ponies who were Banished to the Moon..."]
,["Invite Friends...", "Invite "+capitaliseFirstLetter(CURRENTSTACK['friends'])+"..."]
,["Like As Your Page...", capitaliseFirstLetter(CURRENTSTACK.like)+" As Your Page..."]
- ,["Add App to Page", "Add Magic to App"]
+ ,["Add App to Page", "Add Magic to Page"]
,["Change Primary Photo", "Change Primary Pony Pic"]
,["Change Date", "Time Travel"]
,["Unfriend...", "Banish to Moon..."]
,["Unfriend", "Banish to Moon"]
//,["New List...", "New Directory..."]
- ,["Get Notifications", "Get Sparks"]
+ //,["Get Notifications", "Get Sparks"]
//,["Add to another list...", "Add to another directory..."]
,["Create Event", "Plan an Adventure"]
,["Cancel Event", "Cancel Adventure"]
,["Export Event", "Export Adventure"]
,["Share Event", "Share Adventure"]
- ,["Turn Off Notifications", "Turn Off Sparks"]
- ,["Turn On Notifications", "Turn On Sparks"]
+ //,["Turn Off Notifications", "Turn Off Sparks"]
+ //,["Turn On Notifications", "Turn On Sparks"]
,["Promote Event", "Promote Adventure"]
,["Create Repeat Event", "Create Repeat Adventure"]
,["Message Guests", "Start Whinny Chat with Guests"]
//,["Rename List", "Rename Directory"]
//,["Edit List", "Edit Directory"]
- ,["Notification Settings...", "Spark Settings..."]
+ //,["Notification Settings...", "Spark Settings..."]
//,["Delete List", "Nuke Directory"]
,["Delete List", "Nuke List"]
,["Pages I like", "Pages I "+capitaliseFirstLetter(CURRENTSTACK.like)]
,["My Friends", "My "+capitaliseFirstLetter(CURRENTSTACK.friends)]
- ,["All Notifications", "All Sparks"]
+ //,["All Notifications", "All Sparks"]
,["Search All Friends", "Search All "+capitaliseFirstLetter(CURRENTSTACK.friends)]
,["All Apps", "All Magic"]
+ ,["Pages my friends like", "Pages my "+CURRENTSTACK['friends']+" "+CURRENTSTACK['like']]
,["Page Likes", "Page "+capitaliseFirstLetter(CURRENTSTACK.likes)]
,["Mentions and Photo Tags", "Mentions and Pony Pic Tags"]
,["Make Profile Picture for Page", "Make Journal Pony Pic for Page"]
,["Make Cover Photo", "Make Cover Pony Pic"]
- ,["The app sends you a notification", "The magic sends you a spark"]
+ //,["The app sends you a notification", "The magic sends you a spark"]
+ ,["The app sends you a notification", "The magic sends you a notification"]
,["Top Comments", "Top Friendship Letters"] // comment resort
,["See All Groups", "See All Herds"] // timeline
,"An error occurred."
,"Image Resource Invalid"
,"Confirmation Required"
+ ,"Error Uploading Video"
+ ,"Upload Failed"
+ ,"Photo Upload Failed"
+ ,"Sticker Failed"
+ ,"Could Not Post to Timeline"
];
headerInsightsTitles = [
,["Are you sure you want to remove this event?", "Are you sure you want to nuke this adventure?"]
,["Are you sure you want to unlike this?", "Are you sure you want to "+CURRENTSTACK['unlike']+" this?"]
,["Are you sure you want to remove this profile picture?", "Are you sure you want to nuke this journal pony pic?"]
+ ,["Are you sure you want to remove this application?", "Are you sure you want to nuke this magic?"]
,["Report this if it's not relevant to your search results.", "Whine about this if it's not relevant to your search results."]
,["Uploading a photo will remove the link preview. Do you want to continue?", "Uploading a pony pic will remove the link preview. Do you want to continue?"]
,["This post has been reported to the group admin.", "This post has been whined to the group admin."]
+
+ ,["You must select some messages to delete. Click on a message to select it.", "You must select some friendship reports to nuke. Click on a friendship report to select it."]
+ ,["You have not uploaded a picture.", "You have not uploaded a pony pic."]
+ ,["Please try again. Make sure you are uploading a valid photo.", "Please try again. Make sure you are uploading a valid pony pic."]
+ ,["There was a problem uploading the image file.", "There was a problem uploading the pony pic file."]
+ ,["If you leave this page, your message won't be sent.", "If you leave this page, your friendship report won't be sent."]
];
}
injectOptionsLink();
k.snowliftPinkie(dom);
- k.notificationsFlyoutSettings(dom);
+ k.notificationsFlyoutSettings();
+ k.findFriendsNav();
+
+ if (k.fbPhotoSubscribeWrapper(dom.target)) {
+ INTERNALUPDATE = iu;
+ return;
+ }
// .ufb-button-input => mutateAttributes
- domReplaceFunc(dom.target, '', '.uiButtonText, .uiButton input, ._42ft, .-cx-PRIVATE-abstractButton__root, ._42fu, .-cx-PRIVATE-uiButton__root, ._4jy0, .-cx-PRIVATE-xuiButton__root', function(ele) {
+ // ._42fu, .-cx-PRIVATE-uiButton__root, ._4jy0, .-cx-PRIVATE-xuiButton__root
+ domReplaceFunc(dom.target, '', '.uiButtonText, .uiButton input, ._42ft, .-cx-PRIVATE-abstractButton__root', function(ele) {
// <a class="uiButton uiButtonConfirm uiButtonLarge" href="#" role="button"><span class="uiButtonText">Finish</span></a>
// <label class="uiButton uiButtonConfirm"><input value="Okay" type="submit"></label>
// <button class="_42ft _42fu _11b selected _42g-" type="submit">Post</button>
// <a class="_42ft _42fu" role="button" href="#"><i class="mrs img sp_8jfoef sx_d2d7c4"></i>Promote App</a>
+
+ // Skip close icons
+ if (hasClass(ele, '_50zy') || hasClass(ele, '-cx-PRIVATE-xuiCloseButton__root')) {
+ return;
+ }
+
var button = ele;
var replacer = buttonTitles;
var tagName = ele.tagName.toUpperCase();
k.postLike(dom);
- if (k.ticker(dom)) {
+ if (k.ticker(dom) || k.pagesVoiceBarText(dom.target) || k.endOfFeedPymlContainer(dom.target) || k.pubcontentFeedChaining(dom.target)) {
INTERNALUPDATE = iu;
return;
}
- if (k.pagesVoiceBarText(dom.target)) {
- INTERNALUPDATE = iu;
- return;
- }
-
- domReplaceFunc(dom.target, '', '.inCommonSectionList, #fbTimelineHeadline .name h2 > div, ._8yb, .-cx-PRIVATE-fbEntstreamAttachmentAvatar__secondarydetaillist, ._508a, .-cx-PRIVATE-pageLikeStory__fancountfooter, .permalinkHeaderInfo > .subscribeOrLikeSentence > .fwn, ._5j2m', k.textBrohoof);
+ domReplaceFunc(dom.target, '', '.inCommonSectionList, #fbTimelineHeadline .name h2 > div, ._8yb, .-cx-PRIVATE-fbEntstreamAttachmentAvatar__secondarydetaillist, ._508a, .-cx-PRIVATE-pageLikeStory__fancountfooter, .permalinkHeaderInfo > .subscribeOrLikeSentence > .fwn, ._5j2m, ._7ll .pageByline, ._5cnt > .fcg, ._5h4h > .fcg, ._5bxn, ._5l2i', k.textBrohoof);
domReplaceFunc(dom.target, '', '.uiUfiViewAll, .uiUfiViewPrevious, .uiUfiViewMore', function(ele) {
var button = ele.querySelector('input[type="submit"]');
if (body) {
addClass(body, 'ponyhoof_fbdialog_body');
+ // fix nuke dialog on entstream
+ var descriptionBody = body;
+ if (descriptionBody.childNodes && descriptionBody.childNodes.length && descriptionBody.childNodes[0]) {
+ if (descriptionBody.childNodes[0].nodeType === ELEMENT_NODE && hasClass(descriptionBody.childNodes[0], '_50f4')) {
+ descriptionBody = descriptionBody.childNodes[0];
+ }
+ }
+
var stop = false;
- loopChildText(body, function(child) {
+ loopChildText(descriptionBody, function(child) {
if (stop) {
return;
}
// Detect rare cases when HTML detection just got turned on, and there is a dialog at the back
k._dialog_playSound(replaced, ele);
}
+
+ if (USINGMUTATION) {
+ k.updateLayerPosition(ele);
+ }
}
- domChangeTextbox(ele, '.groupsMemberFlyoutWelcomeTextarea', function(textbox) {
+ domChangeTextbox(ele, '._5nw-, .groupsMemberFlyoutWelcomeTextarea', function(textbox) {
var orig = textbox.getAttribute('placeholder');
var t = orig.replace(/\bgroup\b/, 'herd');
if (t != orig) {
}
});
- domReplaceFunc(dom.target, '', '.uiHeaderTitle, .legacyContextualDialogTitle, ._6dp, .-cx-PRIVATE-litestandRHC__titlename', function(ele) {
+ domReplaceFunc(dom.target, '', '.uiHeaderTitle, .legacyContextualDialogTitle, ._6dp, .-cx-PRIVATE-litestandRHC__titlename, ._34e, ._50f5._50f7', function(ele) {
var imgwrap = ele.querySelector('._8m, .-cx-PRIVATE-uiImageBlock__content, .adsCategoryTitleLink');
if (imgwrap) {
ele = imgwrap;
});
});
- domReplaceFunc(dom.target, '', '.insights-header .header-title > .ufb-text-content', function(ele) {
+ /*domReplaceFunc(dom.target, '', '.insights-header .header-title > .ufb-text-content', function(ele) {
var t = replaceText(headerInsightsTitles, ele.textContent);
if (ele.textContent != t) {
ele.textContent = t;
}
- });
-
- if (k.fbDockChatBuddylistNub(dom.target)) {
- INTERNALUPDATE = iu;
- return;
- }
+ });*/
- if (k.pokesDashboard(dom.target)) {
+ if (k.fbDockChatBuddylistNub(dom.target) || k.pokesDashboard(dom.target)) {
INTERNALUPDATE = iu;
return;
}
return;
}
k.pluginButton(dom.target);
- k.insightsCountry(dom);
+ k.pluginCommentBox(dom.target);
+ //k.insightsCountry(dom.target);
k.timelineMutualLikes(dom.target);
k.videoStageContainer(dom.target);
k.uiStreamShareLikePageBox(dom.target);
k.fbTimelineUnit(dom.target);
+ k.pageBrowserItem(dom.target);
+ k.EntstreamCollapsedUFISentence(dom.target);
domChangeTextbox(dom.target, '.MessagingComposerForm textarea, ._1rt ._1rv, .-cx-PRIVATE-webMessengerComposer__composertextarea, ._20y textarea, .-cx-PRIVATE-mercuryComposerDialog__root textarea, ._2oj, .-cx-PRIVATE-mercuryComposerDialog__textarea', "Dear Princess Celestia...");
domChangeTextbox(dom.target, '.groupAddMemberTypeaheadBox .inputtext', "Add "+capitaliseFirstLetter(CURRENTSTACK.friends)+" to the Herd");
//domChangeTextbox(dom.target, '.friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK.friends+" to this directory");
- domChangeTextbox(dom.target, '.friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK.friends+" to this list");
+ domChangeTextbox(dom.target, '.friendListFeed .friendListAddTypeahead .inputtext', "Add "+CURRENTSTACK['friends']+" to this list");
domChangeTextbox(dom.target, '.groupsJumpHeaderSearch .inputtext', "Search this herd");
domChangeTextbox(dom.target, '.MessagingSearchFilter .inputtext', "Search Friendship Reports");
domChangeTextbox(dom.target, '#chatFriendsOnline .fbChatTypeahead .inputtext', "Pals on Whinny Chat");
};
k.notificationsFlyoutSettingsInjected = false;
- k.notificationsFlyoutSettings = function(dom) {
+ k.notificationsFlyoutSettings = function() {
if (ISUSINGPAGE) {
k.notificationsFlyoutSettingsInjected = true;
return;
}
};
+ // Change Find Friends link at the top-right to native text for reliability
+ k.findFriendsNavInjected = false;
+ k.findFriendsNav = function() {
+ if (k.findFriendsNavInjected || ISUSINGPAGE || ISUSINGBUSINESS) {
+ k.findFriendsNavInjected = true;
+ return;
+ }
+ var findFriendsNav = $('findFriendsNav');
+ if (!findFriendsNav || !findFriendsNav.childNodes || !findFriendsNav.childNodes.length) {
+ return;
+ }
+ var text = findFriendsNav.childNodes[0]; // this should return the "Find Friends" node
+ if (text.nodeType != TEXT_NODE) {
+ text = findFriendsNav.childNodes[1]; // litestand
+ if (text.nodeType != TEXT_NODE) {
+ return;
+ }
+ }
+
+ text.textContent = CURRENTSTACK['findFriendship'];
+ addClass(findFriendsNav, 'ponyhoof_findFriendsNav_native');
+ k.findFriendsNavInjected = true;
+ };
+
+ k.fbPhotoSubscribeWrapper = function(target) {
+ if (hasClass(target, 'fbPhotoSubscribeWrapper')) {
+ var photoViewerFollowLink = target.getElementsByClassName('photoViewerFollowLink');
+ if (photoViewerFollowLink.length) {
+ photoViewerFollowLink = photoViewerFollowLink[0];
+
+ var orig = photoViewerFollowLink.textContent;
+ var t = orig;
+ t = t.replace(/^Like/, capitaliseFirstLetter(CURRENTSTACK['like']));
+ if (t != orig) {
+ photoViewerFollowLink.textContent = t;
+ }
+ }
+
+ var photoViewerFollowedMsg = target.getElementsByClassName('photoViewerFollowedMsg');
+ if (photoViewerFollowedMsg.length) {
+ photoViewerFollowedMsg = photoViewerFollowedMsg[0];
+
+ var orig = photoViewerFollowedMsg.textContent;
+ var t = orig;
+ t = t.replace(/^Liked$/, capitaliseFirstLetter(CURRENTSTACK['liked']));
+ if (t != orig) {
+ photoViewerFollowedMsg.textContent = t;
+ }
+ }
+
+ return true;
+ }
+
+ return false;
+ };
+
k.textNodes = function(dom) {
try {
if (!dom.target.parentNode || !dom.target.parentNode.parentNode || !hasClass(dom.target.parentNode.parentNode, 'dialog_title')) {
i += 1;
});
}
+ } else {
+ var stop = false;
+ loopChildText(body, function(child) {
+ if (stop) {
+ return;
+ }
+ if (child.nodeType === TEXT_NODE) {
+ var orig = child.textContent;
+ var replaced = replaceText(dialogDescriptionTitles, orig);
+ if (orig != replaced) {
+ child.textContent = replaced;
+ stop = true;
+ }
+ }
+ });
}
}
}
var inner = ele.getElementsByClassName('UFILikeSentenceText');
if (inner.length) {
inner = inner[0];
- var t = k.likeSentence(inner.innerHTML);
- if (inner.innerHTML != t) {
- inner.innerHTML = t;
- }
+ k._likePostBox_loop(inner);
}
var reorder = ele.getElementsByClassName('UFIOrderingModeSelectorDownCaret');
}
};
+ k._likePostBox_loop = function(ele) {
+ // Change "**profile people test** likes this." -> "**profile people test** brohoofs this."
+ // Previous versions would change it to "**profile ponies test** brohoofs this."
+ for (var i = 0, len = ele.childNodes.length; i < len; i += 1) {
+ if (ele.childNodes[i].nodeType === TEXT_NODE) {
+ k._likePostBox_loop_text(ele.childNodes[i]);
+ } else {
+ /*var ajaxify = ele.childNodes[i].getAttribute('ajaxify');
+ if (ajaxify && ajaxify.indexOf('/ajax/browser/dialog/likes') != -1) {
+ k._likePostBox_loop_text(ele.childNodes[i]);
+ } else {*/
+ if (!hasClass(ele.childNodes[i], 'profileLink')) {
+ k._likePostBox_loop(ele.childNodes[i]);
+ }
+ }
+ }
+ };
+
+ k._likePostBox_loop_text = function(ele) {
+ var orig = ele.textContent;
+ var t = k.likeSentence(orig);
+ if (orig != t) {
+ ele.textContent = t;
+ }
+ };
+
k.likeSentence = function(t) {
//t = t.replace(/likes? this\./g, "brohoof'd this.");
t = t.replace(/like this\./g, CURRENTSTACK['like_past']+" this.");
t = t.replace(/likes this\./g, CURRENTSTACK['likes_past']+" this.");
t = t.replace(/\bpeople\b/g, CURRENTSTACK['people']);
t = t.replace(/\bperson\b/g, CURRENTSTACK['person']); // http://fb.com/647294431950845
- //t = t.replace(/(^|\\W|_)people(^|\\W|_)/g, "ponies");
/*if (CURRENTSTACK == 'pony') {
t = t.replace(/\<3 7h\!5/g, '/) 7h!5');
t = t.replace(/\<3 7h15/g, '/) 7h!5');
if (!form) {
return;
}
- var ufi = form.getElementsByClassName('UFIList');
+ /*var ufi = form.getElementsByClassName('UFIList');
if (!ufi.length) {
return;
}
ufi = ufi[0];
if (!ufi.parentNode) {
return;
- }
+ }*/
if (isLike) {
- removeClass(ufi.parentNode, 'ponyhoof_brohoofed');
+ //removeClass(ufi.parentNode, 'ponyhoof_brohoofed');
+ removeClass(form, 'ponyhoof_brohoofed');
} else {
- addClass(ufi.parentNode, 'ponyhoof_brohoofed');
+ //addClass(ufi.parentNode, 'ponyhoof_brohoofed');
+ addClass(form, 'ponyhoof_brohoofed');
}
});
});
}
}
}
+
+ // Insights
+ k.insightsCountry(dom.target);
+
return true;
}
k.composerPonies = new RegExp(['pony', 'ponies', 'mlp', 'brony', 'bronies', 'pegasister', 'pega sister', 'pega-sister', 'twilight sparkle', 'rainbow dash', 'pinkie', 'applejack', 'fluttershy', 'rarity', 'celestia', 'derpy', 'equestria', 'canterlot', 'dashie', 'apple jack', 'flutter shy', 'princess luna', 'friendship is magic', 'kuda', 'pinkamena', 'bon bon', 'bonbon'].join('|'), 'i');
k.composerExclude = new RegExp(['suck', 'shit', 'fuck', 'assho', 'crap', 'ponyfag', 'faggo', 'retard', 'dick'].join('|'), 'i');
- k.composerSpecialPages = {
- '140792002656140': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
- ,'346855322017980': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
- ,'366748370110998': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
- ,'146225765511748': {composer: CURRENTLANG.fb_composer_coolstory}
- ,'496282487062916': {composer: CURRENTLANG.fb_composer_coolstory}
- };
+ k.composerSpecialPages = null;
k.composerSelectors = '.uiComposer textarea.mentionsTextarea, .composerTypeahead textarea';
k.composerButtonSelectors = '.uiComposerMessageBoxControls .submitBtn input, .uiComposerMessageBoxControls .submitBtn .uiButtonText, ._11b input, .-cx-PRIVATE-fbComposerMessageBox__button input, button._11b, button.-cx-PRIVATE-fbComposerMessageBox__button';
k.changeComposer = function(dom) {
+ if (!k.composerSpecialPages) {
+ k._changeComposer_initSpecialPages();
+ }
+
var pageid = '';
// tagging people with "Who are you with?" and new feelings feature
}
};
- k.tooltip = function(target) {
- domReplaceFunc(target, '', '.tooltipContent', function(ele) {
+ k._changeComposer_initSpecialPages = function() {
+ k.composerSpecialPages = {
+ '140792002656140': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+ ,'346855322017980': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+ ,'366748370110998': {composer: LANG['ms_MY'].fb_composer_lessons, malay:true}
+ ,'146225765511748': {composer: CURRENTLANG['fb_composer_coolstory']}
+ ,'496282487062916': {composer: CURRENTLANG['fb_composer_coolstory']}
+ };
+ };
+
+ k.tooltip = function(outer) {
+ domReplaceFunc(outer, '', '.tooltipContent', function(ele) {
// <div class="tooltipContent"><div class="tooltipText"><span>Hide</span></div></div>
// <div class="tooltipContent"><div>Ponyhoof brohoofs this.</div></div>
// <div class="tooltipContent">xy</div>
if (target.childNodes && target.childNodes.length && target.childNodes[0] && target.childNodes[0].tagName && target.childNodes[0].tagName.toUpperCase() == 'DIV') {
target = target.childNodes[0];
}
+ if (target.childNodes && target.childNodes.length && target.childNodes[0] && target.childNodes[0].tagName && target.childNodes[0].tagName.toUpperCase() == 'DIV') { // div soup on insights
+ target = target.childNodes[0];
+ }
if (target.childNodes && target.childNodes.length && target.childNodes[0] && target.childNodes[0].tagName && target.childNodes[0].tagName.toUpperCase() == 'SPAN') {
target = target.childNodes[0];
}
return;
}
- removeClass(layer, 'ponyhoof_tooltip_flip');
+ //removeClass(layer, 'ponyhoof_tooltip_flip');
// Replace text
- var t = target.innerHTML;
+ var orig = target.innerHTML;
+ var origText = target.textContent;
+ var t = orig;
t = replaceText(tooltipTitles, t);
- if (target.innerHTML != t) {
- var oldWidth = target.offsetWidth;
+ if (orig != t) {
+ //var oldWidth = ele.offsetWidth;
target.innerHTML = t;
- // Get the inner layer inside the outer layer (get it...?)
+ if (USINGMUTATION) {
+ // Replace text at the parent that we are *really* certain
+ if (orig === origText) {
+ var owner = $(layer.getAttribute('data-ownerid'));
+ if (owner) {
+ owner.setAttribute('aria-label', t);
+ }
+ }
+
+ // fix horizontal scrollbar
+ if (hasClass(layer.parentNode, 'fbPhotoSnowliftContainer')) {
+ addClass(layer, 'ponyhoof_tooltip_widthFix');
+ } else {
+ removeClass(layer, 'ponyhoof_tooltip_widthFix');
+ }
+
+ k.updateLayerPosition(layer);
+ }
+
+ /*// Get the inner layer inside the outer layer (get it...?)
var layerInner = layer.getElementsByClassName('uiContextualLayer');
if (!layerInner.length) {
return;
layerInner = layerInner[0];
if (layerInner.className.match(/Center/)) {
+ /*var rect = ele.getBoundingClientRect();
+ if (!rect) {
+ return;
+ }* /
+
layer.style.width = 'auto'; // fix horizontal scrollbar
- var left = parseInt(layer.style.left);
- var newWidth = target.offsetWidth;
- layer.style.left = (left - Math.round((newWidth - oldWidth) / 2))+'px';
+ var left = parseInt(layer.style.left); // relative positioning at photo viewer
+ var newWidth = ele.offsetWidth;
+ //if ((rect.left + newWidth) < d.documentElement.clientWidth) {
+ layer.style.left = (left - Math.round((newWidth - oldWidth) / 2))+'px';
+ /*} else {
+ Fix long "X, Y and 2 others like this." tooltips on photo viewer
+ layer.style.left = (left - (oldWidth / 2) /*+ ((newWidth - oldWidth) / 2) - 18* / )+'px';
+ addClass(layer, 'ponyhoof_tooltip_flip');
+ }* /
} else if (layerInner.className.match(/Left/)) {
// Fix "Remember: all place ratings are public." tooltips that are being ponified and causing a horizontal page scrollbar
//
layer.style.left = (parseInt(layer.style.left) - rect.width + 18)+'px'; // 18 is the number of pixels to offset to position the arrow of the tooltip properly
addClass(layer, 'ponyhoof_tooltip_flip');
}
- }
+ }*/
}
});
};
return true;
}
+ // (Sep 25) Include xuiCard
//$$(target, '.pokesDashboard > .objectListItem', k._pokesDashboard_item);
- $$(target, '.objectListItem[id^="poke_"]', k._pokesDashboard_item);
+ //$$(target, '.objectListItem[id^="poke_"], ._4-u2[id^="poke_"], .-cx-PRIVATE-xuiCard__root[id^="poke_"]', k._pokesDashboard_item);
+ $$(target, '.objectListItem[id^="poke_"], ._5lbv, .-cx-PRIVATE-pokesDashboard__pokercontent', k._pokesDashboard_item);
if (hasClass(target, 'highlight')) {
var t = target.textContent;
//}
//header = header[0];
- var header = item.querySelector('.uiProfileBlockContent > ._6a > ._6b > .fwb'); // .-cx-PRIVATE-uiInlineBlock__root > .-cx-PRIVATE-uiInlineBlock__middle
- if (!header) {
- return;
- }
+ // (Sep 25)
+ var header = item.querySelector('._5lbt, .-cx-PRIVATE-pokesDashboard__pokername');
+ if (header) {
+ // <div class="-cx-PRIVATE-pokesDashboard__pokername _5lbt lfloat"> <a href="" data-hovercard="">John</a> poked you.<br> <span class="-cx-PRIVATE-pokesDashboard__pokertime _5lbs"><abbr title="" data-utime="" class="timestamp">2 seconds ago</abbr></span></div>
+ if (header.childNodes && header.childNodes.length) {
+ if (header.childNodes[2] && header.childNodes[2].nodeType === TEXT_NODE) {
+ var poke = header.childNodes[2];
+ var t = poke.textContent;
+ t = t.replace(/ poked you\./, ' nuzzled you.');
+ if (poke.textContent != t) {
+ poke.textContent = t;
+ }
+ } else if (header.childNodes[4] && header.childNodes[4].nodeType === ELEMENT_NODE) {
+ var poke = header.childNodes[4];
+ if (poke.textContent === "Suggested Poke") {
+ poke.textContent = "Suggested Nuzzle";
+ }
+ }
+ }
+ } else {
+ var header = item.querySelector('.uiProfileBlockContent > ._6a > ._6b > .fwb'); // .-cx-PRIVATE-uiInlineBlock__root > .-cx-PRIVATE-uiInlineBlock__middle
+ if (header) {
+ var t = header.innerHTML;
+ t = t.replace(/ poked you\./, ' nuzzled you.');
+ if (header.innerHTML != t) {
+ header.innerHTML = t;
+ }
- var t = header.innerHTML;
- t = t.replace(/ poked you\./, ' nuzzled you.');
- if (header.innerHTML != t) {
- header.innerHTML = t;
+ k._pokesDashboard_pokeLink(item);
+ }
}
-
- k._pokesDashboard_pokeLink(item);
};
k._pokesDashboard_pokeLink = function(target) {
- $$(target, 'a[ajaxify^="/pokes/inline/"]', function(poke) {
+ // (Sep 25) Skip buttons
+ $$(target, 'a[ajaxify^="/pokes/inline/"]:not(._42ft)', function(poke) {
var text = "Nuzzle";
/*if (poke.getAttribute('ajaxify').indexOf('pokeback=1') != -1) { // http://fb.com/406911932763192
text = "Nuzzle Back";
k._notification_change(ele, '.info', k._notification_general_metadata);
});
- if (ONPLUGINPAGE) {
- $$(dom.target, '.notification-item', function(ele) {
- k._notification_change(ele, '.notification-text > .message', k._notification_messenger_metadata);
- });
+ if (ONPLUGINPAGE && hasClass(dom.target, 'notification-item')) {
+ //.$$(dom.target, '.notification-item', function(ele) {
+ k._notification_change(dom.target, '.notification-text > .message', k._notification_messenger_metadata);
+ //});
}
};
};
k._notification_messenger_metadata = function(node) {
- if (node.nodeType != TEXT_NODE) {
- return false;
- }
+ // <a href="">X</a> likes your <a href="">comment</a>: "Also, please use this group in the..."
+ //if (node.nodeType != TEXT_NODE) {
+ // return false;
+ //}
return true;
};
k.fbRemindersStory = function(target) {
$$(target, '.fbRemindersStory', function(item) {
+ var reminderType = '';
+ if (item.querySelector('#pages_reminders_link')) {
+ reminderType = 'page';
+ }
+
var inner = item.querySelector('._42ef > .fcg, .-cx-PRIVATE-uiFlexibleBlock__flexiblecontent > .fcg');
if (!inner) {
return;
loopChildText(inner, function(child) {
if (child.nodeType == TEXT_NODE) {
var t = child.textContent;
- t = t.replace(/\bpoked you\b/, "nuzzled you");
+ if (reminderType === 'page') {
+ t = t.replace(/\binvited you to like\b/, "invite you to "+CURRENTSTACK['like']);
+ } else {
+ t = t.replace(/\bpoked you\b/, "nuzzled you");
+ }
if (child.textContent != t) {
child.textContent = t;
}
};
k.flyoutLikeForm = function(target) {
- var result = k._flyoutLikeForm(target, 'groupsMemberFlyoutLikeForm', 'unlike');
+ //var result = k._flyoutLikeForm(target, 'groupsMemberFlyoutLikeForm', 'unlike');
+ var result = k._flyoutLikeForm(target, '_5nx0', 'unlike');
if (!result) {
result = k._flyoutLikeForm(target, 'fbEventMemberLike', 'liked');
}
root = root[0];
domReplaceFunc(root, '', '.pluginButton', function(ele) {
+ // oct 19
+ var div = ele.getElementsByClassName('pluginButtonLabel');
+ if (div.length) {
+ div = div[0];
+ if (div.innerHTML === "Like") {
+ div.innerHTML = capitaliseFirstLetter(CURRENTSTACK['like']);
+ return;
+ }
+ }
+
+ // old style
var div = ele.getElementsByTagName('div');
if (div.length) {
ele = div[0];
if (stop) {
return;
}
- if (child.tagName.toUpperCase() == 'SPAN') {
- if (child.innerHTML == "Like") {
- child.innerHTML = capitaliseFirstLetter(CURRENTSTACK.like);
+ if (child.tagName.toUpperCase() === 'SPAN') {
+ if (child.innerHTML === "Like") {
+ child.innerHTML = capitaliseFirstLetter(CURRENTSTACK['like']);
stop = true;
}
}
// likebox
$$(root, '._51mx > .pls > div > span', function(ele) {
- var t = k.likeSentence(ele.textContent);
- if (ele.textContent != t) {
+ var orig = ele.textContent;
+ var t = k.likeSentence(orig);
+ t = t.replace(/\bfriends\b/g, CURRENTSTACK['friends_logic']); // Be the first of your friends.
+ if (orig != t) {
ele.textContent = t;
}
});
};
+ k.pluginCommentBox = function(target) {
+ if (!ONPLUGINPAGE) {
+ return;
+ }
+
+ domChangeTextbox(target, '.fbFeedbackContent .fbFeedbackMentions .mentionsTextarea', CURRENTLANG['fb_comment_box']);
+ };
+
k.ticker = function(dom) {
domReplaceFunc(dom.target, 'fbFeedTickerStory', '.fbFeedTickerStory', function(ele) {
var div = ele.getElementsByClassName('uiStreamMessage');
return false;
};
- k.beepNotification = function(dom) {
- warn("domNodeHandler.beepNotification() is deprecated");
+ k.endOfFeedPymlContainer = function(target) {
+ if (target.getAttribute && target.getAttribute('id') === 'endOfFeedPymlContainer') {
+ // _5jii - applicable table cell
+ $$(target, '._5jii .fsm.fcg', function(ele) {
+ var orig = ele.textContent;
+ var t = orig;
+ t = t.replace(/\bLikes\b/, capitaliseFirstLetter(CURRENTSTACK['likes']));
+ t = t.replace(/\bLike\b/, capitaliseFirstLetter(CURRENTSTACK['like']));
+ t = t.replace(/\blikes\b/, CURRENTSTACK['likes']);
+ t = t.replace(/\blike\b/, CURRENTSTACK['like']);
+ if (t != orig) {
+ ele.textContent = t;
+ }
+ });
+ $$(target, '._5jii ._5f55', function(link) {
+ if (link.childNodes && link.childNodes.length && link.childNodes[1] && link.childNodes[1].nodeType === TEXT_NODE) {
+ var node = link.childNodes[1];
+ var orig = node.textContent;
+ var t = orig;
+ t = t.replace(/\bLike\b/, capitaliseFirstLetter(CURRENTSTACK['like']));
+ if (t != orig) {
+ node.textContent = t;
+ }
+ }
+ });
+
+ return true;
+ }
return false;
};
- // XYZ commented on your Wall post: "I like it"
- k._beepNotification_condition_classic = function(node, gt) {
- // <div class="UIBeep_Title"><span class="blueName">XYZ</span> likes your comment: "12"</div>
- // <div class="UIBeep_Title"><span class="blueName">XYZ</span> brohoofs your friendship letter: "12"</div>
- if (node.nodeType == 3) {
+ k.pubcontentFeedChaining = function(target) {
+ if (hasClass(target, '_5j5u')) {
+ $$(target, '._5j5w > .content > div > .fcg', function(fcg) {
+ var orig = fcg.textContent;
+ var t = orig;
+ t = t.replace(/\blikes\b/, CURRENTSTACK['likes']);
+ t = t.replace(/\blike\b/, CURRENTSTACK['like']);
+ if (orig != t) {
+ fcg.textContent = t;
+ }
+ });
+
return true;
}
return false;
};
+
k._beepNotification_condition_react = function(node, gt) {
// <span id=""><span class="fwb" id=""><span id="">XYZ</span></span><span id=""> also commented on a </span><span class="fwb" id=""><span id="">photo</span></span><span id=""> in </span><span class="fwb" id=""><span id="">GROUP NAME</span></span><span id="">: "What?"</span></span>
// <span data-reactid=""><span class="fwb" data-reactid="">NAME</span><span data-reactid=""> commented on your pony pic in </span><span class="fwb" data-reactid="">GROUP NAME</span><span data-reactid="">: "COMMENT"</span></span>
// **XYZ** posted on **Ponyhoof**'s **timeline**: "XYZ"
- //if (hasClass(node, 'fwb')) {
- // return false;
- //}
+ // **profile people test** posted in **group people test**: "like test"
+ if (hasClass(node, 'fwb')) {
+ if (node.textContent === 'timeline') {
+ return true;
+ }
+ return false;
+ }
return true;
};
var node = info.childNodes[i];
if (condition(node, gt)) {
var text = '';
- if (node.nodeType == 3) {
+ if (node.nodeType === TEXT_NODE) {
text = node.textContent;
k._beepNotification_change_text(node, text);
} else {
var finalText = k.textNotification(text);
}
- if (node.nodeType == TEXT_NODE) {
- if (node.textContent != finalText) {
+ if (text != finalText) {
+ if (node.nodeType === TEXT_NODE) {
node.textContent = finalText;
- }
- } else {
- if (node.innerHTML != finalText) {
+ } else {
node.innerHTML = finalText;
}
}
,["Singapore", "Singapony"]
,["Singapore, Singapore", "Singapony"]
];
- k.insightsCountry = function(dom) {
- domReplaceFunc(dom.target, 'breakdown-list-table', '.breakdown-list-table', function(ele) {
+ k.insightsCountry = function(target) {
+ /*domReplaceFunc(dom.target, 'breakdown-list-table', '.breakdown-list-table', function(ele) {
if (ele.getAttribute('data-ponyhoof-ponified')) {
return;
}
$$(ele, '.breakdown-key .ufb-text-content', function(country) {
country.textContent = replaceText(k.insightsCountryData, country.textContent);
});
+ });*/
+
+ $$(target, '._5brx ._55jr', function(ele) {
+ var orig = ele.textContent;
+ var t = orig;
+ t = replaceText(k.insightsCountryData, ele.textContent);
+ if (orig != t) {
+ ele.textContent = t;
+ }
});
};
}
};
+ // https://www.facebook.com/pages
+ k.pageBrowserItem = function(target) {
+ // lazy-loaded: <div class="_8qg fsm fwn fcg"><a href="" data-hovercard="/ajax/hovercard/user.php?id="></a> likes this.<div class="_43qm mbs _43q9"><ul class="uiList _4cg3 _509- _4ki"><li class="_43q7">FACEPILE</li></ul></div></div>
+ // <a href="" data-hovercard="/ajax/hovercard/user.php?id="></a> and <a href="/browse/friended_fans_of/?page_id=" ajaxify="/ajax/browser/dialog/friended_fans_of/?page_id=" rel="dialog" role="button">8 other friends</a> like this.
+ if (hasClass(target, '_8qg') && hasClass(target, 'fcg')) {
+ k._pageBrowserItem_item(target);
+ return;
+ }
+
+ $$(target, '._8qg.fcg', function(item) {
+ // <div class="_8qg fsm fwn fcg"><div class="_8qg fsm fwn fcg"><div class="fsm fwn fcg">235,674 likes · 40,634 people talking about this</div></div></div>
+ k._pageBrowserItem_item(item);
+ });
+ };
+
+ k._pageBrowserItem_item = function(item) {
+ loopChildText(item, function(child) {
+ var href = '';
+ if (child.nodeType === ELEMENT_NODE) {
+ href = child.getAttribute('href');
+ }
+ if (child.nodeType === TEXT_NODE || hasClass(child, 'fcg') || (href && href.indexOf('/browse/friended_fans_of/') != -1)) {
+ k.textBrohoof(child);
+ }
+ });
+ };
+
+ k.EntstreamCollapsedUFISentence = function(target) {
+ $$(target, '._5civ > a', function(link) {
+ var ajaxify = link.getAttribute('ajaxify');
+ if (ajaxify && ajaxify.indexOf('/ajax/browser/dialog/likes') === 0) {
+ k._EntstreamCollapsedUFISentence_change(link);
+ }
+ });
+ };
+
+ k._EntstreamCollapsedUFISentence_change = function(link) {
+ var orig = link.textContent;
+ var t = orig;
+ t = t.replace(/ Likes$/, " "+capitaliseFirstLetter(CURRENTSTACK['likes']));
+ t = t.replace(/ Like$/, " "+capitaliseFirstLetter(CURRENTSTACK['like']));
+ if (t != orig) {
+ link.textContent = t;
+ }
+ };
+
k._dialog_insertReadme = function(body) {
var done = false;
$$(body, '._22i .uiToken > input[type="hidden"]', function(input) { // @cx
if (done) {
return;
}
- if (input.getAttribute('name') == 'undefined[]' && isPonyhoofPage(input.value)) { // undefined[] is intentional from FB, NOT A BUG
+ if (input.getAttribute('name') == 'undefined[]' && isPonyhoofPage(input.value)) { // undefined[] is intentional from FB, NOT A TYPO
addClass(body, 'ponyhoof_composer_hasReadme');
var n = d.createElement('iframe');
var id = parent.getAttribute(k.REACTATTRNAME);
if (id) {
if (parent.rel == 'dialog') {
- if (parent.getAttribute('ajaxify').indexOf('/ajax/browser/dialog/likes') == 0) {
- k.getParent(parent, function(likesentence) {
- return hasClass(likesentence, 'UFILikeSentence');
- }, function(likesentence) {
- if (likesentence) {
- k._likePostBox(likesentence);
- }
- });
+ var ajaxify = parent.getAttribute('ajaxify');
+ if (ajaxify && ajaxify.indexOf('/ajax/browser/dialog/likes') === 0) {
+ if (parent.parentNode && hasClass(parent.parentNode, '_5civ')) {
+ // entstream
+ k._EntstreamCollapsedUFISentence_change(parent);
+ } else {
+ k.getParent(parent, function(likesentence) {
+ return hasClass(likesentence, 'UFILikeSentence');
+ }, function(likesentence) {
+ if (likesentence) {
+ k._likePostBox(likesentence);
+ }
+ });
+ }
}
} else if (hasClass(parent.parentNode, 'UFIPagerLink')) {
k.ufiPagerLink({target: parent.parentNode.parentNode});
}
}
}
+ } else {
+ if (hasClass(parent, '_5lbu') || hasClass(parent, '-cx-PRIVATE-pokesDashboard__pokerbuttons')) {
+ // Nuzzles
+ var t = mutation.target.textContent;
+ t = t.replace(/\bPoke\b/, 'Nuzzle');
+ if (mutation.target.textContent != t) {
+ mutation.target.textContent = t;
+ }
+ }
}
};
t = t.replace(/\bunlike this \b/, CURRENTSTACK.unlike+' this ');
t = t.replace(/\bliking this \b/, CURRENTSTACK.liking+' this ');
- if (target.title != t) {
+ if (orig != t) {
target.title = t;
}
target.setAttribute('data-ponyhoof-title', orig);
return false;
};
+ k.updateLayerPosition = function(layer) {
+ var tempClass = 'ponyhoof_temp_'+(+new Date());
+ addClass(layer, tempClass);
+
+ contentEval(function(arg) {
+ try {
+ if (typeof window.requireLazy == 'function') {
+ window.requireLazy(['DataStore'], function(DataStore) {
+ var layer = document.getElementsByClassName(arg.tempClass);
+ if (!layer || !layer.length) {
+ return;
+ }
+ layer = layer[0];
+
+ var layerClass = DataStore.get(layer, 'layer');
+ layerClass.updatePosition();
+ layerClass = null;
+
+ if (layer.classList) {
+ layer.classList.remove(arg.tempClass);
+ }
+ });
+ }
+ } catch (e) {
+ if (arg.CANLOG && typeof console != 'undefined' && console.log && console.dir) {
+ console.log("Unable to hook to DataStore");
+ console.dir(e);
+ }
+ }
+ }, {'CANLOG':CANLOG, 'tempClass':tempClass});
+
+ if (!layer.classList) {
+ w.setTimeout(function() {
+ removeClass(layer, tempClass);
+ }, 500);
+ }
+ };
+
// Ignore irrelevant tags and some classes
k.shouldIgnore = function(dom) {
if (dom.target.nodeType == 8) { // comments
};
k.textBrohoof = function(ele) {
+ var orig = '';
var t = '';
- if (ele.nodeType == TEXT_NODE) {
- t = ele.textContent;
+ if (ele.nodeType === TEXT_NODE) {
+ orig = ele.textContent;
} else {
- t = ele.innerHTML;
+ orig = ele.innerHTML;
}
+ t = orig;
t = t.replace(/\bpeople\b/g, " "+CURRENTSTACK['people']);
t = t.replace(/\bperson\b/g, " "+CURRENTSTACK['person']);
t = t.replace(/likes this/g, CURRENTSTACK['likes']+" this");
t = t.replace(/Likes/g, capitaliseFirstLetter(CURRENTSTACK['likes'])); // new news feed page likes
t = t.replace(/likes/g, CURRENTSTACK['likes']);
t = t.replace(/like/g, CURRENTSTACK['like']);
- t = t.replace(/talking about this/g, "blabbering about this");
+ t = t.replace(/\btalking about this\b/g, "blabbering about this");
t = t.replace(/\bfriends\b/g, CURRENTSTACK['friends_logic']);
t = t.replace(/\bfriend\b/g, CURRENTSTACK['friend_logic']);
- if (ele.nodeType == TEXT_NODE) {
- if (ele.textContent != t) {
+ if (orig != t) {
+ if (ele.nodeType === TEXT_NODE) {
ele.textContent = t;
- }
- } else {
- if (ele.innerHTML != t) {
+ } else {
ele.innerHTML = t;
}
}
}
var globalcss = '';
- globalcss += 'html.ponyhoof_settings_show_messages_other #navItem_app_217974574879787 > ul {display:block !important;}';
globalcss += '.ponyhoof_page_readme {width:100%;height:300px;border:solid #B4BBCD;border-width:1px 0;-moz-box-sizing:border-box;box-sizing:border-box;}';
globalcss += '#fbIndex_swf {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;}';
- globalcss += '.ponyhoof_image_shadow {-moz-box-shadow:0 3px 8px rgba(0,0,0,.3);box-shadow:0 3px 8px rgba(0,0,0,.3);margin:0 auto;display:block;margin-bottom:3px;cursor:not-allowed;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}';
- globalcss += '.ponyhoof_image_shadow.noshadow {-moz-box-shadow:none;box-shadow:none;}';
+ globalcss += '.ponyhoof_image_shadow {box-shadow:0 3px 8px rgba(0,0,0,.3);margin:0 auto;display:block;margin-bottom:3px;cursor:not-allowed;-webkit-user-drag:none;-moz-user-drag:none;user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}';
+ globalcss += '.ponyhoof_image_shadow.noshadow {box-shadow:none;}';
+ globalcss += '.ponyhoof_tooltip_widthFix {width:auto !important;}';
injectManualStyle(globalcss, 'global');
}
}
- if (userSettings.customBg) {
+ if (userSettings.customBg && !ONPLUGINPAGE) {
changeCustomBg(userSettings.customBg);
}
}
}
+ // Allow for comment boxes owned by Ponyhoof
+ // (in theory, we could still be run by http://example/?api_key=231958156911371 but this isn't a big deal)
+ if (w.location.pathname === '/plugins/comments.php' || w.location.pathname === '/plugins/feedback.php') {
+ if (w.location.search.indexOf('api_key=231958156911371') != -1 || w.location.search.indexOf('api_key=376261472405891') != -1) {
+ allowedFramesOk = true;
+ }
+ }
+
if (!allowedFramesOk) {
if (USW.self != USW.top) {
throw 1;
// Ban parasprites
// If you would like to end up here, just simply show us that you have no clue about what Ponyhoof is really about and keep hitting "Send page source", don't be a moron please
- if (USERID && ['b002a2d15003dad6a1cf694bba258ea2', 'c2480aa0cd99186aac0430f6d24ff40c', '377533fc17cfd34fae337a4c9a5e4d49', 'a078ca1d2d6a98055fa448b8367a8190', 'b85f32cf81e4153975f1e1f55fecfe58', '40ab65332ad92345ab727aadcc623906', '0147135a7dc2d1b65ca0032c97f89c5b', '6c5b9bf8a304f1a3e0b085f974c53592', '4ab4094e54225dccadf42bee9ac212a9', '2887516d877df760641ed9247cc84b65', '06308ee7060101f04a18e41158408730', 'a95ef44112c18876a808b2d7781e63ba', '57b540dc72835f30d402f6abc566677c', '1f75490e12b25ee5839687e0ffe65502', '24363cd421635e8268983f6187def3c8', '3a420678fb395a9e71ad6b523e880a27', 'd7a9db4027cd407b281c84cc626a9f70', '23d69d7ecfeeb940deef6bc69c3aee00', 'ad3553f919b97dbbb19a69966666641e', '46077eeb2467c70ec9332b672d1d7bd1', 'bc8ef81105cfdc4c6b5ff349622dae8a', 'a21ad36f4c3fc35494626d1399cc4be1', '3a2135f78503521e570608c07c3e6386', '8dc11f39765f8fe83603502afcb630a9', 'ac966d33840736554984577a78d37d95', '11abc5dd16709ff201ec00781c39ac3c', '00e957ff53a5b34518087621165498f9', '025e1b15134402df1803de9421dc7819', '125c419ddbad08ee8c53b88801415887', 'ca94af2350690962e97e1ac1fb98fa06', '62e6c5f16e8ccc79c94aa452aa36f5d8', 'cf7e6ddb2fc7c7984d323a81dfca8dfb', 'df6495bacaeb347a931f7e676fc8ee0b', 'e5ffc53255c20275e2c7d8f0c2ca5201', '31161cecf1fd9804bb66fa4e373733c6', 'cb5f2107815d30a538b30d82df93a1ac', '3a420678fb395a9e71ad6b523e880a27', 'b002c047d235437b8b255173ce73744a'].indexOf(md5(USERID)) != -1) {
+ if (USERID && ['e3686058630b7b992b7f10e5ce10aa14', '10e823f70f20d7ef90db87783d96d5a6', 'b002a2d15003dad6a1cf694bba258ea2', 'c2480aa0cd99186aac0430f6d24ff40c', '377533fc17cfd34fae337a4c9a5e4d49', 'a078ca1d2d6a98055fa448b8367a8190', 'b85f32cf81e4153975f1e1f55fecfe58', '40ab65332ad92345ab727aadcc623906', '0147135a7dc2d1b65ca0032c97f89c5b', '6c5b9bf8a304f1a3e0b085f974c53592', '4ab4094e54225dccadf42bee9ac212a9', '2887516d877df760641ed9247cc84b65', '06308ee7060101f04a18e41158408730', 'a95ef44112c18876a808b2d7781e63ba', '57b540dc72835f30d402f6abc566677c', '1f75490e12b25ee5839687e0ffe65502', '24363cd421635e8268983f6187def3c8', '3a420678fb395a9e71ad6b523e880a27', 'd7a9db4027cd407b281c84cc626a9f70', '23d69d7ecfeeb940deef6bc69c3aee00', 'ad3553f919b97dbbb19a69966666641e', '46077eeb2467c70ec9332b672d1d7bd1', 'bc8ef81105cfdc4c6b5ff349622dae8a', 'a21ad36f4c3fc35494626d1399cc4be1', '3a2135f78503521e570608c07c3e6386', '8dc11f39765f8fe83603502afcb630a9', 'ac966d33840736554984577a78d37d95', '11abc5dd16709ff201ec00781c39ac3c', '00e957ff53a5b34518087621165498f9', '025e1b15134402df1803de9421dc7819', '125c419ddbad08ee8c53b88801415887', 'ca94af2350690962e97e1ac1fb98fa06', '62e6c5f16e8ccc79c94aa452aa36f5d8', 'cf7e6ddb2fc7c7984d323a81dfca8dfb', 'df6495bacaeb347a931f7e676fc8ee0b', 'e5ffc53255c20275e2c7d8f0c2ca5201', '31161cecf1fd9804bb66fa4e373733c6', 'cb5f2107815d30a538b30d82df93a1ac', '3a420678fb395a9e71ad6b523e880a27', 'b002c047d235437b8b255173ce73744a'].indexOf(md5(USERID)) != -1) {
if (globalSettings.allowLoginScreen) {
globalSettings.allowLoginScreen = false;
saveGlobalSettings();