1var genesisPaywall = { 2 eid: 0, 3 etype: 0, 4 user: false, 5 nscpw: false, 6 active: false, 7 styleAssigned: false, 8 scrollAssigned: false, 9 articlePaywall: (genesisPage.elements.element ? genesisPage.elements.element.querySelector('.art-text.art-text-paywall') : false), 10 11 init: function () { 12 this.eid = genesisPage.getTargetData('id'); 13 this.etype = genesisPage.getTargetData('etype'); 14 this.nscpw = (sessionStorage.nscpwid == this.eid); 15 if ((typeof deep_user_profile == 'object') && (deep_user_profile != null) && (typeof deep_user_profile.rfv_segment == 'string')) 16 user = deep_user_profile; 17 else 18 if ((typeof stored_user_profile == 'object') && (stored_user_profile != null) && (typeof stored_user_profile.rfv_segment == 'string')) 19 user = stored_user_profile; 20 21 if (this.articlePaywall && (this.etype == 1) && (this.eid > 1)) 22 this.runArticlePaywall(); 23 24 this.active = true; 25 //console.log('genesisPaywall', genesisPaywall, genesisPage); 26 }, 27 runArticlePaywall: function () { 28 var obj = this; 29 fetch('/user-info', { 30 method: 'post', 31 body: JSON.stringify({ 32 'pw': 1, 33 'id': obj.eid, 34 'user': obj.user, 35 'nscpw': obj.nscpw 36 }), 37 headers: { 38 'Content-Type': 'application/json', 39 'Accept': 'application/json' 40 } 41 }) 42 .then(res => res.json()) 43 .then(paywallData => { 44 if (paywallData.pw == 1) 45 { 46 const ti = document.querySelector('#art-text-inner'), 47 tr = document.querySelector('#__relations'); 48 obj.articlePaywall.classList.remove('art-text-paywall-wait'); 49 if ((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)) 50 { 51 if (ti) 52 ti.innerHTML = paywallData.element.content; 53 if (tr) 54 tr.value = paywallData.element.relations; 55 obj.articlePaywall.classList.remove('art-text-paywall'); 56 } 57 setTimeout(function() { 58 if (typeof genesisArticle == 'object' && typeof genesisArticle.getRelations == 'function') 59 genesisArticle.getRelations(); 60 if (typeof getGalleries == 'object' && typeof getGalleries.getRelations == 'function') 61 genesisArticle.getGalleries(); 62 }, 150); 63 64 if (typeof paywallData.element.paywall_message == 'object') 65 { 66 if ((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)) 67 { 68 if (location.host.indexOf('dorzeczy') >= 0) 69 { 70 } 71 else 72 if (location.host.indexOf('wprost') >= 0) 73 { 74 /* 75 $('#art-text-inner').prepend( 76 '<p class="art-text-frame">' + 77 'Czytasz artykuÅ w ramach promocji dostÄpu do treÅci ' + 78 '<a href="https://cyfrowy.wprost.pl/oferty?utm_source=' + $('body').data('host') + '&utm_medium=info-open-dynamic&utm_campaign=static" target=_blank">Wprost</a>' + 79 '</p>' 80 ); 81 */ 82 } 83 } 84 obj.showMessage(paywallData.element.paywall_message, (paywallData.element.content_open == 1)); 85 } 86 else 87 if ((paywallData.element.content_open == 1) && ((paywallData.element.paywall == 0) || (paywallData.element.paywall == 2))) 88 { 89 let suf = '', 90 url = 'https://cyfrowy.wprost.pl/oferty'; 91 if (location.host.indexOf('dorzeczy') >= 0) 92 url = 'https://subskrypcja.dorzeczy.pl/'; 93 url += '?utm_source=' + document.body.dataset.host + '&utm_medium=article-message&utm_campaign=reminder-button' 94 if ((document.body.dataset.subscdays <= 14) && (document.body.dataset.subscdaysStr != '') && (document.body.dataset.subscdaysStr != 'undefined')) 95 { 96 suf = '<br />Twoja subskrypcja <nobr>wygasa za ' + document.body.dataset.subscdaysStr + '</nobr>' + 97 '<br /><button type="button" onclick="window.open(\'' + url + '\');" class="button button-auto button-blue mtop10 pleft30 pright30"><b>Odnawiam</b></button>'; 98 } 99 if (obj.nscpw && (!document.body.dataset.subscription)) 100 { 101 obj.articlePaywall.insertAdjacentHTML('afterBegin', 102 '<p class="art-text-frame">' + 103 'ArtykuÅ czytasz dziÄki promocji <strong>Google News Showcase</strong>.' + 104 '<br /> Zyskaj dostÄp do wszystkich treÅci <a href="' + $('#subsription-button').attr('href') + '">' + ((location.host.indexOf('dorzeczy') >= 0) ? 'DoRzeczy+' : 'Wprost Premium') + '</a>' + 105 '</p>' 106 ); 107 } 108 else 109 { 110 obj.articlePaywall.insertAdjacentHTML('afterBegin', 111 '<p class="art-text-frame">' + 112 'ArtykuÅ czytasz dziÄki subskrypcji. <b>DziÄkujemy!</b>' + suf + 113 '</p>' 114 ); 115 } 116 } 117 if (typeof paywallCallback == 'function') 118 paywallCallback( ((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)) ); 119 } 120 else 121 { 122 if (typeof paywallData.element.paywall_message == 'object') 123 obj.showMessage(paywallData.element.paywall_message, true); 124 if (typeof paywallCallback == 'function') 125 paywallCallback(false); 126 } 127 }); 128 }, 129 130 runVideoPaywall: function (player, paywallShort=false) { 131 // console.log('runVideoPaywall', player, paywallShort); 132 var obj = this; 133 fetch('/user-info', { 134 method: 'post', 135 body: JSON.stringify({ 136 'vpw': 1, 137 'id': player.ide, 138 'user': (obj.user ? obj.user : false) 139 }), 140 headers: { 141 'Content-Type': 'application/json', 142 'Accept': 'application/json' 143 } 144 }) 145 .then(res => res.json()) 146 .then(paywallData => { 147 // console.log('runVideoPaywall paywallData', paywallData, player); 148 if (paywallData.pw == 1) 149 { 150 if ((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)) 151 { 152 if (typeof paywallData.element.data == 'object') 153 { 154 for (d in paywallData.element.data) 155 { 156 player.wrapper.dataset[d] = paywallData.element.data[d]; 157 } 158 if (paywallData.element.data.vendor == 'genesis') 159 player.template.innerHTML = paywallData.element.content; 160 genesisVideoPlayers.reloadPlayer(player.wrapper.dataset.index); 161 } 162 } 163 else 164 { 165 // console.log('runVideoPaywall content_open', paywallData.element.content_open , 'paywall ', paywallData.element.paywall,paywallShort); 166 if (player.vendor == 'youtube') 167 { 168 if (paywallShort) 169 { 170 paywallData.element.paywall_message = false;
171 genesisVideoPlayers.createYouTubePlayer(player.wrapper.dataset.index); 172 } 173 } 174 //if ((typeof genesisMMedia == 'object') && (typeof genesisMMedia.openPaywallYTPlayer == 'function')) 175 // genesisMMedia.openPaywallYTPlayer(); 176 } 177 if (typeof paywallData.element.paywall_message == 'object') 178 obj.showMessage(paywallData.element.paywall_message, ((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)), player); 179 if (typeof paywallCallback == 'function') 180 paywallCallback(((paywallData.element.content_open == 1) && (paywallData.element.paywall == 0)) ); 181 } 182 else 183 { 184 if (typeof paywallData.element.paywall_message == 'object') 185 obj.showMessage(paywallData.element.paywall_message, true, player); 186 if (typeof paywallCallback == 'function') 187 paywallCallback(false); 188 } 189 }); 190 }, 191 showMessage: function (message, isOpen, player=false) { 192 var obj = this; 193 let hiddenPercent = 0, 194 paywallMessage = false, 195 messageContent = message.content; 196 messageContent = messageContent.replace(new RegExp("utm_source=\&", "gi"), ('utm_source=' + location.hostname.replace(/www./gi,'') + '&')); 197 198 if (this.articlePaywall && (typeof player != 'object') && (this.etype == 1) && (this.eid > 1)) 199 { 200 //$('.art-text-relation-paywall').slideUp(); 201 let ar = document.querySelector('#art-content .art-text.art-text-relations'); 202 if ((!isOpen) && (typeof deep_init_content == 'object')) 203 { 204 try 205 { 206 if ((typeof deep_init_content.wprost == 'object') && (deep_init_content.wprost.article.word_count > 0) && (deep_init_content.wprost.article.full_word_count > 0) && (deep_init_content.wprost.article.word_count < deep_init_content.wprost.article.full_word_count > 0)) 207 { 208 let p = 100 - Math.round((deep_init_content.wprost.article.word_count * 100) / deep_init_content.wprost.article.full_word_count); 209 if (p > 0) 210 hiddenPercent = p; 211 } 212 else 213 if ((typeof deep_init_content.dorzeczy == 'object') && (deep_init_content.dorzeczy.article.word_count > 0) && (deep_init_content.dorzeczy.article.full_word_count > 0) && (deep_init_content.dorzeczy.article.word_count < deep_init_content.dorzeczy.article.full_word_count > 0)) 214 { 215 let p = 100 - Math.round((deep_init_content.dorzeczy.article.word_count * 100) / deep_init_content.dorzeczy.article.full_word_count); 216 if (p > 0) 217 hiddenPercent = p; 218 } 219 } 220 catch (e) 221 { 222 hiddenPercent = 0; 223 } 224 } 225 if (!ar) 226 { 227 const at = document.querySelector('#art-content .art-text'); 228 if (at) 229 at.insertAdjacentHTML('afterEnd', '<div class="art-text art-text-relations"></div>'); 230 ar = document.querySelector('#art-content .art-text.art-text-relations'); 231 } 232 if (ar) 233 { 234 ar.insertAdjacentHTML('afterBegin', 235 '<div data-special="true" class="art-text-relation art-text-relation-paywall '+ (isOpen ? 'art-text-relation-paywall-open' : 'art-text-relation-paywall-close') +'">' + 236 '<div class="art-text-relation-inner">' + 237 '<div id="paywall-message" class="paywall-message" data-id="' + message.id_message + '" data-name="' + message.name + '" data-version="' + message.version + '" data-open="' + (isOpen ? 1 : 0) + '" data-pw-opt="' + message.paywall_option + '" data-hdprc="' + ((hiddenPercent > 0) ? (100 - hiddenPercent) : 0) + '">' + 238 ((hiddenPercent > 50) ? '<span class="cnt">PozostaÅo ' + hiddenPercent + '% tekstu</span>' :'') + 239 '<div id="paywall-message-inner">' + 240 messageContent + 241 '</div>' + 242 '</div>' + 243 '</div>' + 244 '</div>' 245 ); 246 paywallMessage = document.querySelector('#paywall-message'); 247 } 248 } 249 else 250 if (typeof player == 'object') 251 { 252 // console.log('runVideoPaywall playerWrapper', player.playerWrapper); 253 const playerWrapper = player.playerWrapper; 254 if (playerWrapper) 255 { 256 playerWrapper.insertAdjacentHTML('afterBegin', 257 '<div id="paywall-message-' + message.id_message + '-' + player.id + '" class="paywall-message" data-id="' + message.id_message + '" data-name="' + message.name + '" data-version="' + message.version + '" data-open="' + (isOpen ? 1 : 0) + '" data-pw-opt="' + message.paywall_option + '" style="display:none;">' + 258 '<div class="video-message">' + 259 messageContent + 260 '</div>' + 261 '</div>' 262 ); 263 paywallMessage = document.querySelector('#paywall-message-' + message.id_message + '-' + player.id); 264 } 265 } 266 if (paywallMessage) 267 { 268 if (!this.styleAssigned) 269 { 270 this.loadStyle(); 271 } 272 setTimeout(function() { 273 paywallMessage.style.display = 'block'; 274 }, 100); 275 setTimeout(function() { 276 paywallMessage.classList.add('visible'); 277 obj.paywallSeen(); 278 }, 200); 279 if (typeof message.buttons == 'object') 280 { 281 const hr = paywallMessage.querySelector('hr'), 282 bt = document.createElement('div'); 283 bt.className = 'buttons'; 284 for (b in message.buttons) 285 { 286 bt.insertAdjacentHTML('beforeEnd', 287 '<button type="button" class="button button-' + message.buttons[b].color + '" '+ 288 'onclick="' + message.buttons[b].click + '">' + 289 message.buttons[b].label + 290 '</button>' 291 ); 292 } 293 if (hr) 294 hr.replaceWith(bt); 295 else 296 if (typeof player != 'object') 297 paywallMessage.insertAdjacentElement('beforeEnd', bt); 298 } 299 300 // if (event.target.nodeName == 'BUTTON') 301 302 if ((typeof checkDeep == 'function') && (checkDeep())) 303 { 304 callDeepEvent({ 305 'event.type': 'paywall-init', 306 'message': { 307 'id': message.id_message, 308 'name': message.name, 309 'version': message.version 310 }, 311 'paywall': { 312 'content_open': isOpen, 313 'type': { 314 'id': message.paywall_option, 315 'name': ((message.paywall_option == 2) ? 'Premium' : (message.paywall_option == 1) ? 'Freemium' : ((message.paywall_option == 0) ? 'Dynamic' : 'Other')), 316 } 317 }, 318 'source': deep_init_content 319 }); 320 } 321 if (!this.scrollAssigned) 322 { 323 this.scrollAssigned = true; 324 document.addEventListener('scroll', function (event) { 325 obj.paywallSeen(true); 326 }); 327 } 328 } 329 }, 330 paywallSeen: function (fromScroll) { 331 const paywallMessages = document.querySelectorAll('.paywall-message'); 332 if (paywallMessages.length > 0) 333 { 334 if (!this.styleAssigned && (fromScroll || genesisScroll.top > 0)) 335 { 336 this.loadStyle(); 337 }
338 paywallMessages.forEach(function (paywallMessage) { 339 let mi = paywallMessage.dataset.id, 340 mn = paywallMessage.dataset.name, 341 mv = paywallMessage.dataset.version, 342 op = paywallMessage.dataset.open, 343 po = paywallMessage.dataset.pwOpt, 344 hp = paywallMessage.dataset.hdprc; 345 // console.log('runVideoPaywall isElementInViewport', genesisPage.isElementInViewport(paywallMessage, 'top'), paywallMessage); 346 if ((!paywallMessage.classList.contains('seen')) && (paywallMessage.classList.contains('visible')) && (genesisPage.isElementInViewport(paywallMessage, 'top'))) 347 { 348 // console.log('runVideoPaywall seen', paywallMessage); 349 paywallMessage.classList.add('seen'); 350 if ((typeof checkDeep == 'function') && (checkDeep())) 351 { 352 callDeepEvent({ 353 'event.type': ((op == 1) ? 'open-' : '') + 'paywall-displayed', 354 'paywall': { 355 'content_open': op, 356 'close_after': ((hp == 0) ? false : hp), 357 'type': { 358 'id': po, 359 'name': ((po == 2) ? 'Premium' : (po == 1) ? 'Freemium' : ((po == 0) ? 'Dynamic' : 'Other')), 360 } 361 }, 362 'message': { 363 'id': mi, 364 'name': mn, 365 'version': mv 366 }, 367 'source': deep_init_content 368 }); 369 } 370 if ((typeof gtag == 'function') || (typeof GA_TRACKING_ID == 'string')) 371 { 372 gtag('event', 'Displayed', { 373 'event_category': 'Paywall', 374 'event_label': mn 375 }); 376 } 377 } 378 }); 379 } 380 }, 381 buttonClick: function (sender, type, url) { 382 if (!sender) 383 return false; 384 const paywallMessage = sender.closest('.paywall-message'); 385 if (!paywallMessage) 386 return false; 387 let mi = paywallMessage.dataset.id, 388 mn = paywallMessage.dataset.name, 389 mv = paywallMessage.dataset.version, 390 op = paywallMessage.dataset.open, 391 po = paywallMessage.dataset.pwOpt, 392 hp = paywallMessage.dataset.hdprc, 393 tg = sender.nodeName.toUpperCase(), 394 lb = sender.innerText.trim(), 395 ed = { 396 'event.type': ((op == 1) ? 'open-' : '') + 'paywall-clicked', 397 'message': { 398 'id': mi, 399 'name': mn, 400 'version': mv 401 }, 402 'paywall': { 403 'content_open': op, 404 'close_after': ((hp == 0) ? false : hp), 405 'type': { 406 'id': po, 407 'name': ((po == 2) ? 'Premium' : (po == 1) ? 'Freemium' : ((po == 0) ? 'Dynamic' : 'Other')), 408 } 409 }, 410 'action': { 411 'element': (tg == 'A') ? 'link' : 'button', 412 'label': lb, 413 'dest': false, 414 'offer': false 415 }, 416 'source': deep_init_content 417 }; 418 419 if (type == 'expand') 420 { 421 const at = document.querySelector('#art-text-inner'), 422 ar = document.querySelector('.article'); 423 if (at) 424 at.classList.add('art-text-freemium-expand'); 425 if (ar) 426 ar.classList.add('article-freemium-expand'); 427 sender.remove(); 428 ed.action.dest = type; 429 if ((typeof checkDeep == 'function') && (checkDeep())) 430 callDeepEvent(ed); 431 } 432 else 433 if (type == 'log_in') 434 { 435 const hdLB = document.querySelector('#header #login-button'); 436 if (hdLB) 437 { 438 hdLB.click(); 439 ed.action.dest = type; 440 if ((typeof checkDeep == 'function') && (checkDeep())) 441 callDeepEvent(ed); 442 } 443 } 444 else 445 if (url) 446 { 447 const l = document.createElement('a') 448 h = location.hostname.replace(/www./gi,''); 449 l.href = url; 450 url = l.protocol + '//' + l.host + l.pathname + '?utm_source=' + h + '&utm_medium=paywall-message&utm_campaign=' + mn; 451 ed.action.dest = 'url'; 452 if ((typeof checkDeep == 'function') && (checkDeep())) 453 callDeepEvent(ed); 454 setTimeout(function() { 455 window.location = url; 456 }, 600); 457 } 458 459 if ((typeof gtag == 'function') || (typeof GA_TRACKING_ID == 'string')) 460 { 461 gtag('event', 'Clicked', { 462 'event_category': 'Paywall', 463 'event_label': lb 464 }); 465 } 466 }, 467 loadStyle: function () { 468 if (!this.styleAssigned) 469 { 470 this.styleAssigned = true; 471 if (location.host.indexOf('dorzeczy') >= 0) 472 { 473 addCSSModule('module-paywall-message', '/dorzeczy/_css/paywall-message.css', false, true); 474 } 475 else 476 if (location.host.indexOf('wprost') >= 0) 477 { 478 addCSSModule('font-muli', '/_css/fonts/Muli.css'); 479 addCSSModule('module-paywall-message', '/wprost/_css/paywall-message.css', false, true); 480 } 481 } 482 } 483} 484 485function initPaywall() 486{ 487 genesisPaywall.init(); 488} 489function paywallMsgBtnClick(sender, type, url) 490{ 491 genesisPaywall.buttonClick(sender, type, url); 492}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.