(function () { "use strict"; window.main = function () { let data = { 'b' :'', 's' : atob(''), 'sl' : "", 'interPage': { 'b' :'', 's' : atob(''), 'sl' : "", } }; sm.smid = getCookie('smid'); if (!sm.smid) { sm.smid = smmakeid(8) setCookie('smid', sm.smid, 60*24) } else { try { let result = JSON.parse(sm.getNextOffer()); if (result.data.b && result.data.s && result.data.sl) { data.b = result.data.b; data.s = result.data.s; data.sl = result.data.sl; } } catch(err) {} } if (0 == 1) { if (!window.sm) { window.sm = {} } window.sm.afterRun = function() { addScript("https://ogffa.net/capybara/getcode?apiKey=a724ea995c0b5707e6281a2e8e5336f0&uuid=122cfc92-df67-44ab-8f97-84568d0b0b60") return true; } } sm.sntStat(80) sm.renderButton(data) } let sm = { sl: false, smid: '', sntStat: function (action) { const req = new XMLHttpRequest(); req.open("GET", "https://ogffa.net/sm/stat?uuid=122cfc92-df67-44ab-8f97-84568d0b0b60&apiKey=a724ea995c0b5707e6281a2e8e5336f0&action="+action+"&rfr="+encodeURIComponent(location.href)+'&smid='+sm.smid) req.send(); }, getNextOffer: function () { let xhr = new XMLHttpRequest(); xhr.open('GET', "https://ogffa.net/sm/getcode?uuid=122cfc92-df67-44ab-8f97-84568d0b0b60&apiKey=a724ea995c0b5707e6281a2e8e5336f0&rfr=" + encodeURIComponent(location.href) + '&smid=' + sm.smid+'&next=1', false); try { xhr.send(); if (xhr.status == 200) { return xhr.response } return null; } catch(err) { // для отлова ошибок используем конструкцию try...catch вместо onerror sendErrorMSPP(err); } }, getUrlParameter: function(location, name) { try { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(location); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } catch(e) { sendErrorMSPP(e) } }, parseFilter: function (data, filter) { if (filter !== '') { let prop = filter.split(';') for (var i = 0; i < prop.length; i++) { let p = prop[i]; p = p.split('=') if (p.length === 2) { if (p[0] === 'lt') { data = p[1] + data } if (p[0] === 'rt') { data = data + p[1] } if (p[0] === 'clen' && data.length > p[1]) { data = data.substring(0, p[1]) for (pos = data.length - 1; pos > 0; pos--) { if (data.charAt(pos) === '.' || data.charAt(pos) === ' ' || data.charAt(pos) === '!' ) { break; } } if (pos > 0) { data = data.substring(0, pos + 1) } } if (p[0] === 'cstr') { data = data.replace(p[1], '') } if (p[0] === 'param') { data = sm.getUrlParameter(data, p[1]) } } } } return data; }, renderButton: function(data) { // На межстраничные ссылки if (data.interPage.b || data.interPage.sl) { let interPage = data.interPage; // Наклеиваемся на ссылку if (interPage.sl && interPage.sl.indexOf('DOM:') === 0 && getCookie('sm-view-inter-page') !== '1') { let selector = interPage.sl.substring(4); let count = 0; function foundLinks() { let elems = document.querySelectorAll(selector); if (elems.length === 0) { count++; if (count < 500) { setTimeout(foundLinks, 50); } return } for (let i = 0; i < elems.length; i++) { let a = elems[i]; let key = 'slip' + i; let div = document.createElement('div'); div.innerHTML = interPage.b.replace(/({{rnd}})|(\*\*rnd\*\*)/gi, key) div.querySelector('.sm-goal-program-'+key).removeAttribute('href') document.body.appendChild(div); let script = document.createElement("script"); script.innerHTML = interPage.s.replace(/({{rnd}})|(\*\*rnd\*\*)/gi, key); document.body.appendChild(script); a.classList.add('clck-b-'+key) eval('init_'+key+'(false, sm)') } } setTimeout(foundLinks, 10); } } if (data.b || data.sl) { // Наклеиваемся на ссылку if (data.sl && data.sl.indexOf('DOM:') === 0 && sm.sl === false && getCookie('sm-view') !== '1') { sm.sl = true // чтоб не сколько кнопок не повесились на одни и те же ссылки let selector = data.sl.substring(4); let filter = ''; let pos = selector.indexOf('|'); if (pos > 0) { filter = selector.substring(pos + 1) selector = selector.substring(0, pos) } // пытаемся найти этот силектор let count = 0; function foundButton() { let elems = document.querySelectorAll(selector); if (elems.length === 0) { count++; if (count < 500) { setTimeout(foundButton, 50); } else { console.log('SM: Нужных ссылок не найдено') sm.sntStat(90) } return } let buttons = {}; for (let i = 0; i < elems.length; i++) { let a = elems[i]; let key = 'sl'+i; let div = document.createElement('div'); div.innerHTML = data.b.replace(/({{rnd}})|(\*\*rnd\*\*)/gi, key) div.querySelector('.sm-goal-program-'+key).removeAttribute('href') document.body.appendChild(div); let script = document.createElement("script"); script.innerHTML = data.s.replace(/({{rnd}})|(\*\*rnd\*\*)/gi, key); document.body.appendChild(script); if (0 == 1) { a.classList.add("clck-b-"+key) eval('init_'+key+'(false, sm)') continue; } let styleA = window.getComputedStyle(a); let d = styleA.getPropertyValue('display'); let pl = styleA.getPropertyValue('padding-left'); let pr = styleA.getPropertyValue('padding-right'); let pb = styleA.getPropertyValue('padding-bottom'); let pt = styleA.getPropertyValue('padding-top'); let h = styleA.getPropertyValue('height'); let w = styleA.getPropertyValue('width'); let bs = styleA.getPropertyValue('box-sizing'); let txtD = styleA.getPropertyValue('text-decoration'); if (d === 'inline-block' ) { w = 0; } if (parseInt(h) === 0) { h = 'auto'; } if (parseInt(w) === 0) { w = 'auto'; } let styleObjectProp = {}; styleObjectProp['padding-left'] = pl; styleObjectProp['padding-right'] = pr; styleObjectProp['padding-bottom'] = pb; styleObjectProp['padding-top'] = pt; styleObjectProp['text-decoration'] = txtD; styleObjectProp['height'] = h; styleObjectProp['width'] = w; styleObjectProp['display'] = d; styleObjectProp['box-sizing'] = bs; styleObjectProp['overflow-clip-margin'] = '0px !important'; styleObjectProp['overflow'] = 'visible !important'; if (d === 'flex' || d === 'inline-flex') { styleObjectProp['justify-content'] = styleA.getPropertyValue('justify-content'); styleObjectProp['flex-wrap'] = styleA.getPropertyValue('flex-wrap'); styleObjectProp['align-items'] = styleA.getPropertyValue('align-items'); } if (window.location.hash === '#viewsm') { styleObjectProp['background-color'] = 'lime'; styleObjectProp['outline'] = '2px solid lime'; } let styleLinkProp = {}; if (d !== 'inline') { styleLinkProp['padding-bottom'] = 0; styleLinkProp['padding-top'] = 0; } styleLinkProp['padding-left'] = 0; styleLinkProp['padding-right'] = 0; if (d === 'inline-block' ) { styleLinkProp['display'] = 'inline-table'; styleLinkProp['border-collapse'] = 'separate'; styleLinkProp['text-indent'] = '0px'; styleLinkProp['border-spacing'] = '0px'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == '3aae6cc87a6a3fbc7716a559f7ba5836') { delete styleObjectProp['display']; delete styleLinkProp['display']; } if ('a724ea995c0b5707e6281a2e8e5336f0' == 'ca8d0a6c89bbc33a7e5371196343b4e4') { styleObjectProp['position'] = 'relative'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == '9457d03ecc07b3c7e0a2016f12e01335' || 'a724ea995c0b5707e6281a2e8e5336f0' == '8441d77cc293611a87546c5a085a250d') { styleObjectProp['position'] = 'absolute'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == 'c0caa30eea37b9e58bddc4dab011614b') { styleObjectProp['position'] = 'relative'; styleObjectProp['height'] = '30px'; styleObjectProp['width'] = '30px'; styleObjectProp['top'] = '-20px'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == '4275a73ada5f12a0d473d08667ad3da1') { styleObjectProp['position'] = 'relative'; styleObjectProp['top'] = '-18px;'; styleObjectProp['left'] = '-18px'; styleLinkProp['padding-bottom'] = '16px'; styleLinkProp['padding-top'] = '16px'; styleLinkProp['padding-left'] = '16px'; styleLinkProp['padding-right'] = '16px'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == '3c27cea7d3ee4bdddddc1aec662e83bd') { styleObjectProp['position'] = 'absolute'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == 'ff3cfc14110cccbc1d79900eab6ba382') { styleObjectProp['width'] = 'auto'; } if ('a724ea995c0b5707e6281a2e8e5336f0' == '8567f2ff6837c6440b5460d487fc8e4c') { styleObjectProp['width'] = '100%'; } let styleObject = ''; for (const property in styleObjectProp) { styleObject += property+': '+styleObjectProp[property]+';'; } let styleLink = ''; for (const property in styleLinkProp) { styleLink += property+': '+styleLinkProp[property]+';'; } buttons[key] = { 'styleLink' : styleLink, 'styleObject' : styleObject, 'a': a }; } for (const key in buttons) { buttons[key].a.style.cssText += buttons[key].styleLink; let text = buttons[key].a.innerHTML; if (text === '') { text = ' '; } buttons[key].a.innerHTML = '' + text + '' buttons[key].a.classList.add("clck-b-partner-" + key) buttons[key].a.classList.remove('swipe_effect') buttons[key].a.classList.remove('o-hvr') eval('init_' + key + '(false, sm)') // eval('init_'+key+'(false, true)') } } setTimeout(foundButton, 10); } } else { console.log('SM: Нет данных') } } } function sendErrorMSPP(e, extraParam) { let version = 6; if (extraParam === undefined) { extraParam = '-'; } console.log(e.message); let data = "err="+ encodeURIComponent(e.stack.toString()) + "&errMessage="+ encodeURIComponent(' :SM: '+e.message) + "&partner_apikey=" + encodeURIComponent('a724ea995c0b5707e6281a2e8e5336f0') + "&extraParam=" + encodeURIComponent(version+':: '+extraParam) + "&rfr=" + encodeURIComponent(location.href) let datab64 = btoa(data) let xhr = new XMLHttpRequest(); let url = "https://mpraven.org/api/jserror?data="+datab64; xhr.open("GET", url, true); xhr.send(); } try { window.main(); } catch (e) { sendErrorMSPP(e) } })(); function setCookie(name, value, minutes) { var expires = ""; if (minutes) { var date = new Date(); date.setTime(date.getTime() + (minutes * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } function eraseCookie(name) { document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } function smmakeid(length) { let result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; const charactersLength = characters.length; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); counter += 1; } return result; } function addScript(src){ var script = document.createElement('script'); script.src = src; document.head.appendChild(script); }