https://l.ead.me/PEPCO
Last Checked: Oct 24, 2023, 16:23 EDT
IP Address: | 99.84.238.210 |
ASN #: | AS16509 AMAZON-02, US |
Location: | Unknown, Unknown, Unknown |
URL Reputation: |
|
Other submissions on 99.84.238.210:
-
http://links.account.evernote.com/u/
-
http://links.account.evernote.com/u/click?t=
-
https://a.storyblok.com/f/192077/x/efde4db8ce/hngtrn12.html
-
https://a.storyblok.com/f/193938/x/5efa3e49d8/cacon22.html
-
https://l.ead.me/bct8kb
-
https://qrco.de/be2xEb
-
http://www.glide.com/pelejennings
-
https://qrco.de/be6eSn
-
http://qrco.de/beUJH3
-
http://rakuten-topfree-2-eu.rakuten.wurl.tv/
Other submissions on ead.me:
-
https://l.ead.me/beISpW
-
https://l.ead.me/bev4Wf
-
https://l.ead.me/bekpqt
-
https://l.ead.me/beyLmn
-
https://l.ead.me/beyZx9
-
https://l.ead.me/belriF
-
https://l.ead.me/bezphf
-
http://l.ead.me/riddleins
-
https://l.ead.me/bf0WD5
-
https://l.ead.me/bf132c
Previous checks:
Domain Name: ead.me Registry Domain ID: D108500000017010918-AGRS Registrar WHOIS Server: whois.gandi.net Registrar URL: http://www.gandi.net Updated Date: 2023-09-16T01:51:03Z Creation Date: 2015-10-20T06:13:42Z Registrar Registration Expiration Date: 2024-10-20T08:13:42Z Registrar: GANDI SAS Registrar IANA ID: 81 Registrar Abuse Contact Email: abuse@support.gandi.net Registrar Abuse Contact Phone: +33.170377661 Reseller: Amazon Registrar, Inc. Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited Domain Status: Domain Status: Domain Status: Domain Status: Registry Registrant ID: REDACTED FOR PRIVACY Registrant Name: REDACTED FOR PRIVACY Registrant Organization: Egoditor UG (haftungsbeschränkt) Registrant Street: 63-65 boulevard Massena Registrant City: Paris Registrant State/Province: Paris Registrant Postal Code: 75013 Registrant Country: FR Registrant Phone: +33.170377666 Registrant Phone Ext: Registrant Fax: +33.143730576 Registrant Fax Ext: Registrant Email: 0cd8fda33e17ddb53708c5bd14434bfd-4807924@contact.gandi.net Registry Admin ID: REDACTED FOR PRIVACY Admin Name: REDACTED FOR PRIVACY Admin Organization: Egoditor UG (haftungsbeschränkt) Admin Street: 63-65 boulevard Massena Admin City: Paris Admin State/Province: Paris Admin Postal Code: 75013 Admin Country: FR Admin Phone: +33.170377666 Admin Phone Ext: Admin Fax: +33.143730576 Admin Fax Ext: Admin Email: 0cd8fda33e17ddb53708c5bd14434bfd-4807924@contact.gandi.net Registry Tech ID: REDACTED FOR PRIVACY Tech Name: REDACTED FOR PRIVACY Tech Organization: Egoditor UG (haftungsbeschränkt) Tech Street: 63-65 boulevard Massena Tech City: Paris Tech State/Province: Paris Tech Postal Code: 75013 Tech Country: FR Tech Phone: +33.170377666 Tech Phone Ext: Tech Fax: +33.143730576 Tech Fax Ext: Tech Email: 0cd8fda33e17ddb53708c5bd14434bfd-4807924@contact.gandi.net Name Server: NS-550.AWSDNS-04.NET Name Server: NS-432.AWSDNS-54.COM Name Server: NS-2006.AWSDNS-58.CO.UK Name Server: NS-1101.AWSDNS-09.ORG Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: DNSSEC: Unsigned URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2023-10-24T20:23:57Z <<< For more information on Whois status codes, please visit https://www.icann.org/epp Reseller Email: Reseller URL: Personal data access and use are governed by French law, any use for the purpose of unsolicited mass commercial advertising as well as any mass or automated inquiries (for any intent other than the registration or modification of a domain name) are strictly forbidden. Copy of whole or part of our database without Gandi's endorsement is strictly forbidden. A dispute over the ownership of a domain name may be subject to the alternate procedure established by the Registry in question or brought before the courts. For additional information, please contact us via the following form: https://www.gandi.net/support/contacter/mail/
-
GET200 OK
https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR
<html lang="en"><head><style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style> <link rel="stylesheet" type="text/css" href="/css/build/pages/dpdf/template_normal.min.css?v=d71b96d4bd89f3c2551b3c9a3eb2e3495c38820f"> <script type="text/javascript"> /*<![CDATA[*/ YII_CSRF_TOKEN='5ac9ac11bc26d541ce0807dd99557ca5ea441516'; /*]]>*/ </script> <title>PDF Page</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="robots" content="noindex, nofollow"> <meta name="apple-mobile-web-app-capable" content="yes"> <script type="text/javascript"> window.GLOBAL_CSRF_TOKEN = '5ac9ac11bc26d541ce0807dd99557ca5ea441516'; </script> <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"> <!--Facebook meta--> <meta property="og:url" content="http://l.ead.me/PEPCO?trackSharing=1"> <meta property="og:title" content="VIEW PDF BELOW"> <meta property="og:description" content="PEPCO"> <meta property="og:image" content="http:https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR"> <meta property="og:image:width" content="200"> <meta property="og:image:height" content="200"> <!-- Twitter Card data --> <meta name="twitter:card" content="summary"> <meta name="twitter:url" content="http://l.ead.me/PEPCO?trackSharing=1"> <meta name="twitter:title" content="VIEW PDF BELOW"> <meta name="twitter:description" content="PEPCO"> <meta name="twitter:image" content="http:https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR"> <meta name="twitter:image:width" content="200"> <meta name="twitter:image:height" content="200"> <!-- Schema.org markup for Google+ --> <meta itemprop="name" content="VIEW PDF BELOW"> <meta itemprop="description" content="PEPCO"> <meta itemprop="image" content="http:https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR"> </head> <body ng-app="app" id="dvideo-body" ng-controller="ComplexController" class="sh-body ng-scope"> <div class="loading-welcome active welcome-screen" ng-style="{'background-color': view.code.welcome_extra.background || view.welcome_extra.background}" style="background-color: #ffffff"> <div class="progress"> <div class="loading-bar indeterminate" ng-style="{'background-color': view.code.color1 || view.color1}" style="background-color: rgb(27, 69, 180);"></div> </div> <div class="helper"></div> <img id="welcomeImg" imageonload="" ng-src="//qrcgcustomers.s3-eu-west-1.amazonaws.com/account30094277/41102812_1.png?0.1967125149972353" ng-style="{ 'max-width': view.code.welcome_extra.zoom *2 || view.welcome_extra.zoom *2 + 'px', 'max-height': view.code.welcome_extra.zoom *2 || view.welcome_extra.zoom *2 + 'px', 'animation-iteration-count' : view.showPreview == 'infinite' ? 'infinite' : '', 'animation-direction' : view.showPreview == 'infinite' ? 'alternate' : '' }" src="//qrcgcustomers.s3-eu-west-1.amazonaws.com/account30094277/41102812_1.png?0.1967125149972353" style="max-width: 100px; max-height: 100px; display: inline; opacity: 0.136593;"> </div> <div class="sh-bar" ng-hide="view.code.linkToPDF"> <div ng-style="{background: view.code.color1, color: getTextColor1()}" style="background: rgb(27, 69, 180); color: rgb(255, 255, 255);"> <div class="sh-container" style="position: relative;"> <i class="sh-bar__share icon icon-icon-more" id="share-fab-button"></i> <div class="sh-bar__header ng-binding">PEPCO</div> <div class="sh-bar__title ng-binding" ng-show="view.code.title">VIEW PDF BELOW</div> <div class="sh-bar__description ng-binding" ng-show="view.code.description">Access full document on the secured link via {View Project Details}</div> </div> </div> <div class="" id="rootElement"><!-- rootElement is important for sync data --> <div ng-hide="hasAnyContentToDisplay()" class="ng-hide"> <div class="vcard-row text-center mt-20"> <h4>Waiting for you to enter data</h4> </div> <div class="sk-three-bounce"> <div class="sk-child sk-bounce1"></div> <div class="sk-child sk-bounce2"></div> <div class="sk-child sk-bounce3"></div> </div> </div> <div ng-show="hasAnyContentToDisplay() && !view.code.linkToPDF"> <div class="sh-page" ng-class="{'sh-page--has-link': view.code.website}"> <img ng-src="https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR" alt="" class="sh-avatar" src="https://cdn.qr-code-generator.com/account30094277/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR" style="width: 480px;"> <a class="sh-link ng-binding ng-hide" href="" target="_blank" ng-show="view.code.website"> </a> <a class="sh-button sh-button--primary" ng-style="{background: view.code.color2, color: getTextColor2()}" href="https://cdn.qr-code-generator.com/account30094277/41102775_1.pdf?Expires=1698265433&Signature=usxutG35Rgu3FlMZvfa8QHBAjglt29iv9Vx2a~IQpzidCqxVbvDXJsUv1WbR7Jq~7Wuhd1wJsHY61YJI4zpN-swn5Y6pa~gSoZ~PU0kAsBCmfmuaJFPrx6vZ3I-~yC3vJLMic5IQYEFAU3gIogKuiB7tT2zRdefATe9Kyfydgj~4IrfCu2kNqlHIrukF7GreHPFSJ8HvOokCuw4XMJAFKi4MeJGgSBreGmur3HylT37Gs0ZvQtbTEwM4awQ4w2NGGrb293WDi94Dc1-ENFt~In0fbt8~PGc7-kUhv23x4jli1NF1NbAudKQ0-9TZZNkDPoAkoRr92HVuK57FhqtIGg__&Key-Pair-Id=KKMPOJU8AYATR" target="_blank" ng-click="callAction($event, 'viewAction')" style="background: rgb(48, 127, 213); color: rgb(255, 255, 255);"> <i class="icon icon-view" style="position: relative; top: 2px; margin-right: 2px; font-size: 16px; opacity: 0.7;"></i> View PDF </a> </div> <div class="sh-layer" ng-class="{'sh-layer--open': isDialogVisible}" ng-click="isDialogVisible = false"></div> <div class="sh-dialog" ng-class="{'sh-dialog--open': isDialogVisible}"> <div class="sh-container" ng-hide="isDialogVisible === 'sent'"> <span class="sh-dialog__close" ng-click="isDialogVisible = false">×</span> <span class="sh-dialog__title" ng-style="{color: view.code.color1}" style="color: rgb(27, 69, 180);">Send by Email</span> <span class="sh-dialog__text">Please enter the recipient's email address:</span> <form action="" name="emailForm" class="ng-pristine ng-valid-email ng-invalid ng-invalid-required"> <input class="sh-dialog__input ng-pristine ng-untouched ng-valid-email ng-invalid ng-invalid-required" placeholder="Email" ng-model="page.form.email" type="email" name="email" required=""> </form> <button type="button" class="sh-dialog__button" ng-click="sendEmail($event)" data-ng-disabled="emailForm.$invalid" ng-style="{background: view.code.color1, color: getTextColor1()}" style="background: rgb(27, 69, 180); color: rgb(255, 255, 255);" disabled="disabled"> SEND<br> </button> </div> <div class="sh-container ng-hide" ng-show="isDialogVisible === 'sent'"> <span class="sh-dialog__close" ng-click="isDialogVisible = false">×</span> <span class="sh-dialog__title" ng-style="{color: view.code.color1}" style="color: rgb(27, 69, 180);">Email Sent</span> <span class="sh-dialog__text">Your email has been sent successfully.</span> </div> </div> <div id="redirectTo"> <div class="fixed-blur-bgd"> <div class="dialog-container"> <div class="fab-body"> <div class="event-title"> Open browser? </div> <div class="dialog-body"> Continue? You will be directed to another website. </div> <a class="event-slim-button ripplelink mt-10 pull-right" ng-style="{color: isColorLight(view.code.color2) ? 'black' : view.code.color2}" ng-click="dialogRedirectCallback(false)" style="color: rgb(48, 127, 213);"> No </a> <a class="event-slim-button ripplelink mt-10 pull-right" ng-style="{color: isColorLight(view.code.color2) ? 'black' : view.code.color2}" ng-click="dialogRedirectCallback(true)" style="color: rgb(48, 127, 213);"> Yes </a> </div> </div> </div> </div> <div id="gotIt"> <div class="fixed-blur-bgd"> <div class="dialog-container"> <div class="fab-body"> <div class="event-gotIt-button"> </div> <div class="dialog-body pull-left ng-binding"> </div> <a class="text-regular-blue mt-20" ng-click="closeDialog()"> Got it </a> </div> </div> </div> </div> <div id="redirectToMaps"> <div class="fixed-blur-bgd"> <div class="dialog-container"> <div class="fab-body"> <div class="event-title"> Use Google Maps </div> <div class="dialog-body"> Directions will open in Google Maps. Do you want to continue? </div> <a class="event-slim-button ripplelink mt-10 pull-right" ng-style="{color: isColorLight(view.code.color2) ? 'black' : view.code.color2}" ng-click="dialogRedirectCallback(false)" style="color: rgb(48, 127, 213);"> No </a> <a class="event-slim-button ripplelink mt-10 pull-right" ng-style="{color: isColorLight(view.code.color2) ? 'black' : view.code.color2}" ng-click="dialogRedirectCallback(true, 'https://maps.google.com/maps?saddr='+getMapAddress()+'&daddr=')" style="color: rgb(48, 127, 213);"> Yes </a> </div> </div> </div> </div> <div class="fabs" id="shareFab2"> <div class="fixed-blur-bgd"> <div class="chat"> <div class="fab-body"> <div class="icon-fab-close icon-event-close"></div> <div class="fab-header" ng-style="{color: view.code.color2}" style="color: rgb(48, 127, 213);">Share page</div> <ul> <li> <i class="icon-fab-share-facebook icon-event-facebook"></i> <a href="https://www.facebook.com/sharer/sharer.php?u=https://l.ead.me/PEPCO?trackSharing=1" target="_blank">Facebook</a> </li> <li> <i class="icon-fab-share-twitter icon-event-twitter"></i> <a href="https://twitter.com/share?url=https://l.ead.me/PEPCO?trackSharing=1" target="_blank">Twitter</a> </li> <li> <i class="icon-fab-share-email icon-event-email"></i> <a href="mailto:?body=https://l.ead.me/PEPCO?trackSharing=1" target="_blank">Email</a> </li> <li> <i class="icon-fab-share-message icon-event-message"></i> <input id="shortUrl" value="https://l.ead.me/PEPCO?trackSharing=1" readonly=""> <button id="copyButton">Copy</button> <div class="ifCopySucceed ng-hide" ng-show="ifCopySucceed"> Text copied to the clipboard. </div> </li> </ul> </div> </div> </div> </div> <div class="fabs" id="saveMenu"> <div class="fixed-blur-bgd"> <div class="chat"> <div class="fab-body"> <div class="icon-fab-close icon-event-close"></div> <ul> <li> <i class="icon icon-event-share"></i> <a href="" target="_blank" ng-click="$event.preventDefault(); toggleFab('#saveMenu'); toggleFab('#shareFab2');"> Share PDF </a> </li> <li ng-hide="true" class="ng-hide"> <i class="icon icon-event-email"></i> <a href="#" ng-click="$event.preventDefault(); toggleFab('#saveMenu'); isDialogVisible = true;"> Send by Email </a> </li> </ul> </div> </div> </div> </div> </div> <!-- ngIf: view.code && hasAnyContentToDisplay() && view.code.linkToPDF --> </div> </div> <script type="text/javascript" src="/public/lib/jquery/dist/jquery.min.js?v=d71b96d4bd89f3c2551b3c9a3eb2e3495c38820f"></script> <script type="text/javascript" src="/js/build/angular.rendering.min.js?v=d71b96d4bd89f3c2551b3c9a3eb2e3495c38820f"></script> <script type="text/javascript"> /*<![CDATA[*/ /** * Angular connection */ app.loadBasePreviewController(); /** * Return value with '-' instead of spaces * * @param input - string * */ app.filter('dashEncode', function () { return function (input) { if (input) { return input.replace(/ /g, "-"); } else return ' '; }; }); /** * The QR service for the app. * */ app.service('qr', function () { /** * Scroll page from buttom to top * */ this.scrollFromBottomtoTop = function (loadDemo) { setTimeout(function () { if (loadDemo == true && $('.icon-business-socialmedia').length > 0) { $("html, body").animate({ scrollTop: $('.icon-business-socialmedia').offset().top }, 0) ;$("html, body").animate({ scrollTop: 0 }, 1000); } }, 0) } }); /** * Directive * * When image is loaded fadeout welcome screen * */ app.directive('imageonload', ['qr', function (qr) { return { restrict: 'A', link: function (scope, element, attrs) { element.bind('load', function () { $("#welcomeImg").fadeIn(1000); window.setTimeout(function () { $(".loading-welcome.welcome-screen").fadeOut(); scope.welcomeScreenScrollWindow++; if (scope.welcomeScreenScrollWindow == 1) { qr.scrollFromBottomtoTop(scope.loadDemo) } }, 2000); }); element.bind('error', function () { }); } }; }]); app.filter('normalizeUrl', function () { return function (url) { if (!url) { return url; } if (/^https?:\/\//i.test(url)) { return url; } return 'http://' + url; }; }); app.filter('displayUrl', function () { return function (url) { if (!url) { return url; } if (/^http:\/\//i.test(url)) { return url.substr(7); } if (/^https:\/\//i.test(url)) { return url.substr(8); } return url; }; }); /** * Return domain of input * */ app.filter('domain', function () { return function (input) { if (input) { if (input.indexOf('://') >= 0) { return input.split('/')[2] } return input.split('/')[0] } return input; }; }); app.directive('pictureInput', ['$log', function ($log) { return { restrict: 'A', link: function (scope, element) { element.on('change', function () { var el = element[0]; if ("files" in el && el.files.length > 0) { var file = el.files[0]; $log.debug("Got picture type: " + file.type); if (/^image\//.test(file.type)) { $log.debug("Reading picture... [type: " + file.type + ", size: " + file.size + "]"); var reader = new FileReader(); reader.onload = function () { $log.debug("Reading is done [" + ('' + reader.result).substr(0, 30) + "...]"); scope.setPicture(reader.result); scope.$apply(); }; reader.readAsDataURL(file); } } else { scope.setPicture(''); scope.isTakingPictureAvailable = false; scope.$apply(); } }); } }; }]); //Override the base preview controller app.controller('ComplexController', function ($scope, $controller, $sce, $rootScope, $filter, previewService, $window, $log, http, $timeout) { /** * Current page state */ $scope.page = { form: { email: '' } }; $scope.welcomeScreenScrollWindow = 0; $scope.isDialogVisible = false; /** * @returns {boolean} */ $scope.hasAnyContentToDisplay = function () { return true; }; /** * Get the URL of the PDF document to display via iframe. */ $scope.getPdfUrl = function () { if (!$scope.view.code || !$scope.view.code.file.url) { return $sce.trustAsResourceUrl('/public/data/pdf/pdf_preview.pdf#page=1&view=Fit'); } return $sce.trustAsResourceUrl($scope.view.code.file.url + '#view=fitH'); }; /** * Get the text color #1. * Depends on color1 brightness. * @returns {string} */ $scope.getTextColor1 = function () { if (!$scope.view.code) { return '#fff'; } return $scope.isColorLight($scope.view.code.color1) ? '#333' : '#fff'; }; /** * Get the text color #2. * Depends on color2 brightness. * @returns {string} */ $scope.getTextColor2 = function () { if (!$scope.view.code) { return '#fff'; } return $scope.isColorLight($scope.view.code.color2) ? '#333' : '#fff'; }; /** * Save current code as image. * For barcode this won't do anything. */ $scope.html2canvas = false; $scope.saveAsImage = function ($event) { if ($scope.view.code.showBarcode && $scope.view.code.barcode) { return; } $event.preventDefault(); if ($scope.html2canvas) { html2canvas(document.getElementById('coupon-code-page'), { onrendered: function (canvas) { $window.open(canvas.toDataURL(), '_blank'); } }); } else { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '/public/lib/html2canvas/html2canvas.min.js'; s.onload = function () { $scope.html2canvas = true; html2canvas(document.getElementById('coupon-code-page'), { onrendered: function (canvas) { $window.open(canvas.toDataURL(), '_blank'); } }); }; document.body.appendChild(s); } }; /** * Copy short ulr to clipboard * * @param elem - input element with the link * */ $scope.ifCopySucceed = false; $scope.copyLinkToClipboard = function (elem) { var targetId = "_hiddenCopyText_"; var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA"; var origSelectionStart, origSelectionEnd; if (isInput) { // can just use the original source element for the selection and copy target = elem; origSelectionStart = elem.selectionStart; origSelectionEnd = elem.selectionEnd; } else { // must use a temporary form element for the selection and copy target = document.getElementById(targetId); if (!target) { var target = document.createElement("textarea"); target.style.position = "absolute"; target.style.left = "-9999px"; target.style.top = "0"; target.id = targetId; document.body.appendChild(target); } target.textContent = elem.textContent; } // select the content var currentFocus = document.activeElement; target.focus(); target.setSelectionRange(0, target.value.length); // copy the selection var succeed; try { succeed = document.execCommand("copy"); } catch (e) { succeed = false; } // restore original focus if (currentFocus && typeof currentFocus.focus === "function") { currentFocus.focus(); } if (isInput) { // restore prior selection elem.setSelectionRange(origSelectionStart, origSelectionEnd); } else { // clear temporary content target.textContent = ""; } $scope.$apply(function () { $scope.ifCopySucceed = succeed; }); setTimeout(function () { $scope.$apply(function () { $scope.ifCopySucceed = false; }); }, 1500) }; /** * Open the dialog popup * Event is for getting the current target element * Target: * - shareAction: Button with got it information * - channelAction: Button with got it information * * @param event - string * @param target - string * */ $scope.callAction = function (event, target) { switch (target) { case 'callAction': event.preventDefault(); if ($scope.loadDemo) { $scope.gotItText = 'Name this optional button as you want and link to any website of your choice.'; $scope.toggleDialog('gotIt', $(event.currentTarget)); } else { $scope.toggleDialog('redirectTo'); } break; case 'shareAction': if ($scope.loadDemo) { $scope.gotItText = 'Users can tap this button to share your page.'; $scope.toggleDialog('gotIt', $(event.currentTarget)); } break; case 'shareAction2': if ($scope.loadDemo) { toggleFab('#shareFab'); event.preventDefault(); $scope.gotItText = 'Your contacts can click this button to share your page.'; $scope.toggleDialog('gotIt', $(document.getElementById('prime'))); } break; case 'viewAction': if ($scope.loadDemo) { event.preventDefault(); $scope.gotItText = 'By tapping here, users can open and view your PDF in full screen mode.'; $scope.toggleDialog('gotIt', $(event.currentTarget)); } break; case 'feedbackAction': if ($scope.loadDemo) { $scope.gotItText = 'Users can tap this button to send their coupons.'; $scope.toggleDialog('gotIt', $(event.currentTarget)); } break; } }; $scope.toggleFab = toggleFab; /** * Send email * @param event */ $scope.sendEmail = function (event) { if ($scope.loadDemo) { $scope.callAction(event, 'feedbackAction'); return; } if (!'PEPCO') { $log.debug("No short code"); return; } http.post( '/handlePost/PEPCO', { email: $scope.page.form.email }, function (data) { $log.debug({fromServer: data}); if (data.status) { $scope.isDialogVisible = "sent"; $timeout(function () { $scope.isDialogVisible = false; }, 3000); } else { alert("Please try one more time"); } }, function () { alert("Please try one more time"); } ); }; /** * Toggle dialog * * @param id - string * @param element - current target * */ $scope.toggleDialog = function (id, element) { if (element) { var elem = element.context.outerHTML; $('#' + id + ' .dialog-container .event-gotIt-button').html(elem); } $($('#' + id).parent()).toggleClass('fabOnTop'); $('#' + id + ' .dialog-container').toggleClass('is-visible'); $('#prime.fab').toggleClass('disabledClick'); $('#' + id + ' .fixed-blur-bgd').toggle(); }; /** * Callback of the dialog yes/no buttons * Can close the dialog or it can redirect to a url and close the dialog * If the url is not defined it will use the targetUrl from the callAction button * * @param proceed - string * @param url - current target * */ $scope.dialogRedirectCallback = function (proceed, url) { if (proceed) { if (url) { $window.open(url, '_blank'); } else { if ($scope.view.code.website.url.indexOf('http') < 0) $window.open('//' + $scope.view.code.website.url, '_blank'); else $window.open($scope.view.code.website.url, '_blank'); } $scope.closeDialog(); } else { $scope.closeDialog(); } }; /** * Close dialog * * */ $scope.closeDialog = function () { $('.dialog-container').removeClass('is-visible'); $('#prime.fab').toggleClass('disabledClick'); $('.event-gotIt-button').html(''); $('.fixed-blur-bgd').hide(); }; //Inherit from basePreviewController // @todo hmm this is not a normal angular inheritance... angular.extend(this, $controller('BasePreviewController', {$scope: $scope})); $scope.loadDemo = parent && typeof parent.ImHere === "function"; //Get the json data form the file previewService.pushData({"form":[{"section_upload":{"fold":true}},{"section_design":{"fold":true}},{"section_basic_info":{"fold":true}},{"section_welcome_screen":{"fold":true}}],"code":{"file":{"name":"Document1.pdf","type":"application\/pdf","size":106165,"progress":100,"url":"https:\/\/cdn.qr-code-generator.com\/account30094277\/41102775_1.pdf?Expires=1698265433&Signature=usxutG35Rgu3FlMZvfa8QHBAjglt29iv9Vx2a~IQpzidCqxVbvDXJsUv1WbR7Jq~7Wuhd1wJsHY61YJI4zpN-swn5Y6pa~gSoZ~PU0kAsBCmfmuaJFPrx6vZ3I-~yC3vJLMic5IQYEFAU3gIogKuiB7tT2zRdefATe9Kyfydgj~4IrfCu2kNqlHIrukF7GreHPFSJ8HvOokCuw4XMJAFKi4MeJGgSBreGmur3HylT37Gs0ZvQtbTEwM4awQ4w2NGGrb293WDi94Dc1-ENFt~In0fbt8~PGc7-kUhv23x4jli1NF1NbAudKQ0-9TZZNkDPoAkoRr92HVuK57FhqtIGg__&Key-Pair-Id=KKMPOJU8AYATR"},"avatar":"https:\/\/cdn.qr-code-generator.com\/account30094277\/41102779_1.jpg?Expires=1698265433&Signature=gG0MGrXCYrU2HIPMopetaGLA5Bly6Y385OZwAjF2J4kVbsdPYuiLHMdU2NKAiJfhTLTy5TdaOlJPMbRiSdFWm2Gv3PCNCOTjCZrsgczWQp2UV~4KECe~-ltMjRMUzCdOb0qPJgpvHRth4xndngagNKGe~CGuuIzhHA5bsjU0a0cvYbjmB-AHebjIGcwvli53vDPxfXkPpEjD0syEnGdttPG48JmkfWNdD6M~gKvkapCNaH1Y1q19pn5tI0HkREnKWw9jtLzt~U~s8GCXoppNmXhE-BT-FWX1JVGXtmAIQ1uhGOdgkM2eHrhA~k1RcDRHJ9Rt-lsDQoODwpkIDGJkeg__&Key-Pair-Id=KKMPOJU8AYATR","closePreview":false,"isPdfUploading":false,"previews":["https:\/\/cdn.qr-code-generator.com\/account30094277\/41102776_1.jpg?Expires=1698175931&Signature=JEbMw5MYofAZwD89f8kfdD1vQ8B0Pp6C0ylHs~4~qlwxiNLdwgDQ~H1rz~hrwZf9RIzPo32AVDz-UfGEMx2kHg2XS94NDg-f1D~QgZWuZqgFraWPjShgGkDu2mWHL2er8dRxlcERT0H9l6xui5KkKMuG61gji~HprGsO4pyOQT9sm~DsTAs9czTsVzP56fz5f9yL0i31Pji-t21K798tTh3utz5~-JjVmO-vfNKhU3CPVFg~SNBn9ls82wVeSFsPXGX7oX0lBZTQVrVepd~sCiUh1KFcBUg8wx6nDoGhBYoEbT12pKCAn5GbetvjM-GZHlDf4Q6PA6PgY19vjZhNeQ__&Key-Pair-Id=KKMPOJU8AYATR","\/\/qrcgcustomers.s3-eu-west-1.amazonaws.com\/account30094277\/41102779_1.jpg?0.6241324211446637"],"linkToPDF":false,"color1":"#1b45b4","color2":"#307fd5","welcome_extra":{"zoom":50,"background":"#ffffff"},"company":"PEPCO","title":"VIEW PDF BELOW","description":"Access full document on the secured link via\n{View Project Details}"},"showPreview":1,"welcome_screen":"\/\/qrcgcustomers.s3-eu-west-1.amazonaws.com\/account30094277\/41102812_1.png?0.1967125149972353"}); /** * Watch showPreview value * * @param p1 - new value * @param p2 - old value * */ $scope.$watch("view.showPreview", function (p1, p2) { if (p1 != undefined && p1 == 'infinite') { setTimeout(function () { $(".loading-welcome.welcome-screen").show(); $("#welcomeImg").fadeIn(1000); }, 500) } else if (p1 == undefined && p2 != undefined && p2 == 'infinite') { $("#welcomeImg").hide(); $(".loading-welcome").fadeOut(); } else if ((p1 != undefined && p2 != undefined && p1 != p2 ) || (p1 != undefined && p1 != 0 && p2 == undefined && p1 != p2)) { setTimeout(function () { $(".loading-welcome.welcome-screen").show(); $("#welcomeImg").hide(); $("#welcomeImg").fadeIn(1000); setTimeout(function () { $(".loading-welcome").fadeOut(); }, 2000) }, 500) } }); $(document).ready(function () { /** * Set the avatar width to a fix value * This will fix the flickering scrollbar issue on chrome * */ function setAvatarWidth(width) { if ($(window).innerWidth() <= 480) $('.sh-avatar').width(width - 70); else $('.sh-avatar').width(width); } var imageWidth = $('.sh-page').innerWidth(); setAvatarWidth(imageWidth); $(window).resize(function () { imageWidth = $('.sh-page').innerWidth(); setAvatarWidth(imageWidth) }); /** * To work, function 'copyLinkToClipboard' needs to be called from an event listener on the copy button * */ document.getElementById("copyButton").addEventListener("click", function () { $scope.copyLinkToClipboard(document.getElementById("shortUrl")); }); }); /** * Convert hex color to rgbA * * @param hex - color * @param opacity - value between 0-1 * */ $scope.hexToRgbA = function (hex, opacity) { var c; if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) { c = hex.substring(1).split(''); if (c.length == 3) { c = [c[0], c[0], c[1], c[1], c[2], c[2]]; } c = '0x' + c.join(''); return 'rgba(' + [(c >> 16) & 255, (c >> 8) & 255, c & 255].join(',') + ',' + opacity + ')'; } }; /** * Set text color based on the background * * @param color - background color * */ $scope.isColorLight = function (color) { var c; if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(color)) { c = color.substring(1).split(''); if (c.length == 3) { c = [c[0], c[0], c[1], c[1], c[2], c[2]]; } c = '0x' + c.join(''); var r = (c >> 16) & 255, g = (c >> 8) & 255, b = c & 255; // Counting the perceptive luminance // human eye favors green color... var a = 1 - (0.240 * r + 0.470 * g + 0.150 * b) / 255; return (a < 0.4); } }; } ); if (parent && typeof parent.ImHere === "function") { parent.ImHere(); } else { //Only load this on standalone pages not inframe working SocialShareKit.init(); } /** * Toggle fab * * @param id - id of the fab */ function toggleFab(id) { $(id + ' .prime').toggleClass('is-active'); $(id + ' #prime').toggleClass('is-float'); $($(id).parent()).toggleClass('fabOnTop'); $('#prime.fab').toggleClass('disabledClick'); $(id + ' .fixed-blur-bgd').toggle(); $(id + ' .chat').toggleClass('is-visible'); } $(document).ready(function () { $('#prime, .icon-event-close').click(function () { var id = $($(this).closest('.fabs')).attr('id'); toggleFab('#' + id); }); $('#share-fab-button').click(function () { toggleFab('#saveMenu'); }); $('.fixed-blur-bgd').click(function (event) { if (event.target == $(this)[0]) { $($("#prime.is-float").parent().parent()).removeClass('fabOnTop'); $('.prime').removeClass('is-active'); $('#prime').removeClass('is-float'); $('#prime.fab').removeClass('disabledClick'); $('.chat, .dialog-container').removeClass('is-visible'); $(this).hide(); } }); /** * Ripple effect on element */ var ink, d, x, y; $(".ripplelink").click(function (e) { if ($(this).find(".ink").length === 0) { $(this).prepend("<span class='ink'></span>"); } ink = $(this).find(".ink"); ink.removeClass("animate"); if (!ink.height() && !ink.width()) { d = Math.max($(this).outerWidth(), $(this).outerHeight()); ink.css({height: d, width: d}); } x = e.pageX - $(this).offset().left - ink.width() / 2; y = e.pageY - $(this).offset().top - ink.height() / 2; ink.css({top: y + 'px', left: x + 'px'}).addClass("animate"); }); }); /*]]>*/ </script> </body></html>