Advertisement
Guest User

Untitled

a guest
May 10th, 2017
799
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.50 KB | None | 0 0
  1. <----------------------------------------------------------------------------------
  2. Site: https://www.proguides.com/
  3. Debug of BOT 1
  4. Combo: carchijam@gmail.com:toystroy2
  5. Direct Connection
  6. ----------------------------------------------------------------------------------
  7.  
  8. <-----Bot Status: Authenticating----->
  9. <-----Sent Headers----->
  10. POST /registration/functions/loginVerification.php HTTP/1.1
  11. Accept: */*
  12. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
  13. Host: www.proguides.com
  14. Pragma: no-cache
  15. Connection: keep-alive
  16. Content-Type: application/x-www-form-urlencoded
  17. Content-Length: 146
  18. Cookie: uid=1090734258591346b6826fb; Max-Age=315360000; session_id=925280c797e640ec2883a3a2bd81bf7993939dbe71a6daee55fc0f0dae983ad81981e11a2e56b90a864770edf3724122c1171184d9d220d9a6f0a8b58ce86f090a3ea28fe41f63f6cb4db46e8a481844036cf4d7b586eebdaa9d756a717552933d1482a166d0bce9d31117763b4ba987a3bb1658f1d74e84fa064843ee99d242200f057780036aa6858d9b4510b8e754cfb93518ee25d1ac8210b3e05a4f78b529bff2dac66f25519080029b9ef9963843971d5441229b04784db50608880453bbbae5e7c0ab3c5ec44b92d82d44fabc7eddfde631f91742354433951e284e3125fec385ae6907e4ef98afbd2a1ed97d59a10caa973fbf131efeb9a7d0c177; PHPSESSID=e0a8iuriqabtnohoc683leitg6; __cfduid=d0e81a35d2a76429147e586a4f2a5b31d1494435510
  19. Post Data:
  20. email=carchijam@gmail.com&password=toystroy2&errorReturnURL=https%3A%2F%2Fwww.proguides.com%2F&successReturnURL=https%3A%2F%2Fwww.proguides.com%2F
  21.  
  22.  
  23. <-----Received Headers----->
  24. HTTP/1.1 302 Found
  25. Date: Wed, 10 May 2017 18:07:32 GMT
  26. Content-Type: text/html; charset=UTF-8
  27. Transfer-Encoding: chunked
  28. Connection: keep-alive
  29. Location: https://www.proguides.com/?login_status=account_not_found
  30. Server: cloudflare-nginx
  31. CF-RAY: 35ced6b14cf86218-LIS
  32.  
  33.  
  34.  
  35. <-----Bot Status: Authenticating----->
  36. <-----Sent Headers----->
  37. GET /?login_status=account_not_found HTTP/1.0
  38. Accept: */*
  39. Pragma: no-cache
  40. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
  41. Host: www.proguides.com
  42. Cookie: uid=1090734258591346b6826fb; Max-Age=315360000; session_id=925280c797e640ec2883a3a2bd81bf7993939dbe71a6daee55fc0f0dae983ad81981e11a2e56b90a864770edf3724122c1171184d9d220d9a6f0a8b58ce86f090a3ea28fe41f63f6cb4db46e8a481844036cf4d7b586eebdaa9d756a717552933d1482a166d0bce9d31117763b4ba987a3bb1658f1d74e84fa064843ee99d242200f057780036aa6858d9b4510b8e754cfb93518ee25d1ac8210b3e05a4f78b529bff2dac66f25519080029b9ef9963843971d5441229b04784db50608880453bbbae5e7c0ab3c5ec44b92d82d44fabc7eddfde631f91742354433951e284e3125fec385ae6907e4ef98afbd2a1ed97d59a10caa973fbf131efeb9a7d0c177; PHPSESSID=e0a8iuriqabtnohoc683leitg6; __cfduid=d0e81a35d2a76429147e586a4f2a5b31d1494435510
  43.  
  44.  
  45. <-----Received Headers----->
  46. HTTP/1.1 302 Found
  47. Date: Wed, 10 May 2017 18:07:32 GMT
  48. Content-Type: text/html; charset=UTF-8
  49. Connection: close
  50. Expires: Thu, 19 Nov 1981 08:52:00 GMT
  51. Cache-Control: no-store, no-cache, must-revalidate
  52. Pragma: no-cache
  53. Location: https://www.proguides.com/checkout
  54. Server: cloudflare-nginx
  55. CF-RAY: 35ced6b5e98661f4-LIS
  56.  
  57.  
  58.  
  59. <-----Bot Status: Authenticating----->
  60. <-----Sent Headers----->
  61. GET /checkout HTTP/1.0
  62. Accept: */*
  63. Pragma: no-cache
  64. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
  65. Host: www.proguides.com
  66. Cookie: uid=1090734258591346b6826fb; Max-Age=315360000; session_id=925280c797e640ec2883a3a2bd81bf7993939dbe71a6daee55fc0f0dae983ad81981e11a2e56b90a864770edf3724122c1171184d9d220d9a6f0a8b58ce86f090a3ea28fe41f63f6cb4db46e8a481844036cf4d7b586eebdaa9d756a717552933d1482a166d0bce9d31117763b4ba987a3bb1658f1d74e84fa064843ee99d242200f057780036aa6858d9b4510b8e754cfb93518ee25d1ac8210b3e05a4f78b529bff2dac66f25519080029b9ef9963843971d5441229b04784db50608880453bbbae5e7c0ab3c5ec44b92d82d44fabc7eddfde631f91742354433951e284e3125fec385ae6907e4ef98afbd2a1ed97d59a10caa973fbf131efeb9a7d0c177; PHPSESSID=e0a8iuriqabtnohoc683leitg6; __cfduid=d0e81a35d2a76429147e586a4f2a5b31d1494435510
  67.  
  68.  
  69. <-----Received Headers----->
  70. HTTP/1.1 200 OK
  71. Date: Wed, 10 May 2017 18:07:33 GMT
  72. Content-Type: text/html; charset=UTF-8
  73. Connection: close
  74. Expires: Thu, 19 Nov 1981 08:52:00 GMT
  75. Cache-Control: no-store, no-cache, must-revalidate
  76. Pragma: no-cache
  77. Vary: Accept-Encoding
  78. Server: cloudflare-nginx
  79. CF-RAY: 35ced6b7cd6d6200-LIS
  80.  
  81.  
  82.  
  83. <-----Received Source----->
  84.  
  85. <!DOCTYPE html>
  86. <html lang="en">
  87. <head>
  88.  
  89. <meta charset="utf-8">
  90. <title>ProGuides - Increase Your Ranking Today!</title>
  91. <meta name="description" content=""/>
  92. <meta name="keywords" content=""/>
  93.  
  94. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/style.css"/>
  95. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/carousel.css"/>
  96. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/screen.css"/>
  97. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/select.css"/>
  98. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/chosen.css"/>
  99. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/font-awesome.min.css"/>
  100. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/site_custom.css"/>
  101. <link rel="icon" type="image/x-icon" href="https://www.proguides.com/favicon.png"/>
  102. <link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800" rel="stylesheet" type="text/css">
  103.  
  104. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  105. <script type="text/javascript" src="https://www.proguides.com/public/js/modernizr.js"></script>
  106. <script type="text/javascript" src="https://www.proguides.com/public/js/detectizr.js"></script>
  107. <script type="text/javascript" src="https://www.proguides.com/public/js/peity.js"></script>
  108. <script type="text/javascript" src="https://www.proguides.com/public/js/switchery.js"></script>
  109. <script type="text/javascript" src="https://www.proguides.com/public/js/select.js"></script>
  110. <script type="text/javascript" src="https://www.proguides.com/public/js/carousel.js"></script>
  111. <script type="text/javascript" src="https://www.proguides.com/public/js/parallax.js"></script>
  112. <script type="text/javascript" src="https://www.proguides.com/public/js/chosen.js"></script>
  113. <script type="text/javascript" src="https://www.proguides.com/public/js/script.js"></script>
  114. <script type="text/javascript" src="https://www.proguides.com/public/js/standard.js"></script>
  115.  
  116. <script type="text/javascript">
  117. window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
  118. d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
  119. _.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
  120. $.src="//v2.zopim.com/?34QcOsn4KZzGOslEdtXJxKzXn4N3X9c4";z.t=+new Date;$.
  121. type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
  122. </script>
  123.  
  124. <script>
  125. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  126. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  127. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  128. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  129.  
  130. ga('create', 'UA-63817350-1', 'auto');
  131. ga('send', 'pageview');
  132.  
  133. </script>
  134.  
  135.  
  136.  
  137. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/dropdown.css"/>
  138. <link rel="stylesheet" media="all" type="text/css" href="https://www.proguides.com/public/css/scrollbar.css"/>
  139. <script type="text/javascript" src="https://www.proguides.com/public/js/core.js"></script>
  140. <script type="text/javascript" src="https://www.proguides.com/public/js/dropdown.js"></script>
  141. <script type="text/javascript" src="https://www.proguides.com/public/js/touch.js"></script>
  142. <script type="text/javascript" src="https://www.proguides.com/public/js/scrollbar.js"></script>
  143. <script type="text/javascript" src="https://www.proguides.com/public/js/ScrollMagic.js"></script>
  144. <script type="text/javascript" src="https://www.proguides.com/public/js/TweenMax.min.js"></script>
  145. <script type="text/javascript" src="https://www.proguides.com/public/js/animation.gsap.js"></script>
  146.  
  147. <script type="text/javascript" src="https://static.xsolla.com/embed/paystation/1.0.4/widget.min.js"></script>
  148.  
  149. <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
  150. <script type="text/javascript" src="https://www.proguides.com/public/js/jquery.payment.js"></script>
  151. <script type="text/javascript">
  152. $(document).ready(function(){
  153. var page_container = new PageContainer();
  154. var paypal_checkout = new PayPalCheckout();
  155. var stripe_checkout = new StripeCheckout();
  156. var xsolla_checkout = new XsollaCheckout();
  157.  
  158. // Housekeeping prepare the house~[]
  159. $("#form-cvc-input").payment('formatCardCVC');
  160. $("#form-exp-input").payment('formatCardExpiry')
  161. $("#form-ccnumber-input").payment('formatCardNumber');
  162. $('select.checkout-select').dropdown();
  163.  
  164. $('#stripe-option').bind("click", function(e) {
  165. $(this).addClass('active');
  166. $('#stripe-form-container').slideDown('slow');
  167. });
  168.  
  169. // For selecting the subscription plan type (i.e. monthly vs annual)
  170. $('.plans .option button').bind("click", function(e){
  171. $('.plans .option').removeClass('active');
  172. $(this).closest('.option').addClass('active');
  173. $('#step1').addClass('done');
  174. $('#step2').slideDown('slow');
  175. /*
  176. Different payment methods may require different plans, so handle that here. For instance, our PayPal handler takes the frontend representation of plans, but Stripe requires the backend representation of plans. By default, if for some reason the plan given doesn't match up with something we expect... use the monthly plans.
  177. */
  178. switch ($(this).attr('data-value')){
  179. case "proguides_trial_monthly_membership":
  180. $('#plan-cost').html('9.99');
  181. paypal_checkout.setPlanType('proguides_trial_monthly_membership');
  182. stripe_checkout.setPlanType('proguides_trial_monthly_membership');
  183. break;
  184. case "proguides_trial_annual_membership":
  185. $('#plan-cost').html('60.00');
  186. paypal_checkout.setPlanType('proguides_trial_annual_membership');
  187. stripe_checkout.setPlanType('proguides_trial_annual_membership');
  188. break;
  189. case "proguides_notrial_monthly_membership":
  190. $('#plan-cost').html('9.99');
  191. paypal_checkout.setPlanType('proguides_notrial_monthly_membership');
  192. stripe_checkout.setPlanType('proguides_notrial_monthly_membership');
  193. break;
  194. case "proguides_notrial_annual_membership":
  195. $('#plan-cost').html('60.00');
  196. paypal_checkout.setPlanType('proguides_notrial_annual_membership');
  197. stripe_checkout.setPlanType('proguides_notrial_annual_membership');
  198. break;
  199. default:
  200. $('#plan-cost').html('9.99');
  201. paypal_checkout.setPlanType('proguides_trial_monthly_membership');
  202. stripe_checkout.setPlanType('proguides_trial_monthly_membership');
  203. break;
  204. }
  205.  
  206. $('.plans .option:not(.active)').find('button').html('Select');
  207. $(this).html('<i class="fa fa-check-circle"></i> Selected');
  208. });
  209.  
  210. $('.plans .option button').on("mouseenter", function(e){
  211. $(this).closest('.option').addClass('hovered');
  212. });
  213. $('.plans .option button').bind("mouseleave", function(e){
  214. $(this).closest('.option').removeClass('hovered');
  215. });
  216. /*
  217. PAYPAL PURCHASE EVENT LISTENER
  218. */
  219. $('#paypal-option').on('click', function(){
  220. paypal_checkout.processCheckoutRequest();
  221. });
  222. /*
  223. STRIPE PURCHASE EVENT LISTENER
  224. */
  225. $(stripe_checkout.layout.payment_form).on('submit', function(){
  226. stripe_checkout.processCheckoutRequest();
  227. return false;
  228. });
  229. // Interesting that we even need this here...
  230. $(stripe_checkout.layout.submit_button).on('click', function(){
  231. stripe_checkout.processCheckoutRequest();
  232. return false;
  233. });
  234. /*
  235. XSOLLA PURCHASE EVENT LISTENER
  236. */
  237. $(xsolla_checkout.layout.parent_selector).on('click', function(){
  238. XPayStationWidget.open();
  239. });
  240.  
  241. function PageContainer(){
  242. this.registration_form_disabled = false,
  243. this.dashboard_links = ".loggedin",
  244. this.email = "#form-email-input",
  245. this.password = "#form-password-input",
  246. // Error fields
  247. this.error_email = "#email-error",
  248. this.error_password = "#password-error",
  249. // RegistrationForm refers to the form for inputting desired email and password
  250. this.lockRegistrationForm = function(){
  251. this.registration_form_disabled = true;
  252. $(this.email).prop("readonly", true);
  253. $(this.password).prop("readonly", true);
  254. },
  255. this.unlockRegistrationForm = function(){
  256. this.registration_form_disabled = false;
  257. $(this.email).prop("readonly", false);
  258. $(this.password).prop("readonly", false);
  259. },
  260. this.registrationFormIsLocked = function(){
  261. return this.registration_form_disabled;
  262. },
  263. this.showError = function(selector, message){
  264. $(selector).html(message).fadeIn();
  265. },
  266. this.removeError = function(selector){
  267. $(selector).fadeOut(function(){
  268. $(this).html('');
  269. });
  270. }
  271. }
  272.  
  273. function PayPalCheckoutContainer(){
  274. this.parent_selector = "#paypal-option",
  275. this.payment_form = "#paypal-form-container .payment-form",
  276. // Input fields required for all payment methods
  277. this.plan_type = "#paypal-form-container .payment-form input[name='plan_type']"
  278. }
  279.  
  280. function PayPalCheckout(){
  281. this.layout = new PayPalCheckoutContainer(),
  282. this.page_container = new PageContainer(),
  283. // Sets the plan type code based on a given frontend plan type code.
  284. this.setPlanType = function(type){
  285. $(this.layout.plan_type).val(type);
  286. },
  287. this.processCheckoutRequest = function(){
  288. // Set the custom field to contain the customer's desired login data
  289. $(this.layout.payment_form).append('<input type="hidden" name="email" value="' + $(this.page_container.email).val() + '">')
  290. .append('<input type="hidden" name="password" value="' + $(this.page_container.password).val() + '">')
  291. .get(0).submit();
  292. }
  293. }
  294.  
  295. function StripeCheckoutContainer(){
  296. // @var bool If true, clicking on checkout will not trigger a response. This is intended primarily to prevent multiple charges.
  297. this.checkout_submit_locked = false,
  298. this.parent_selector = "#stripe-option",
  299. this.payment_form = "#stripe-form-container .payment-form",
  300. this.submit_button = "#stripe-form-container .payment-form button[type='submit']",
  301. // Error fields
  302. this.uppermost_error_field = "#stripe-form-container .payment-form .ccnumber-error",
  303. this.error_cc_number = "#stripe-form-container .payment-form .ccnumber-error",
  304. this.error_cvc = "#stripe-form-container .payment-form .cvc-error",
  305. this.error_exp_date = "#stripe-form-container .payment-form .exp-error",
  306. this.error_generic = "#stripe-form-container .payment-form .generic-payment-error",
  307. // Input fields required for all payment methods
  308. this.plan_type = "#stripe-form-container .payment-form input[name='plan_type']",
  309. // Input fields specific to Stripe's requirements
  310. this.cardholder_name = "#stripe-form-container .payment-form input[name='cardholder_name']",
  311. this.cc_number = "#stripe-form-container .payment-form input[name='cc_number']",
  312. this.zipcode = "#stripe-form-container .payment-form input[name='zipcode']",
  313. this.exp_month = "#stripe-form-container .payment-form select[name='exp_month']",
  314. this.exp_year = "#stripe-form-container .payment-form select[name='exp_year']",
  315. this.cvc = "#stripe-form-container .payment-form input[name='cvc']",
  316. // Methods
  317. this.lockForm = function(){
  318. this.checkout_submit_locked = true;
  319. },
  320. this.unlockForm = function(){
  321. this.checkout_submit_locked = false;
  322. },
  323. this.showError = function(selector, message){
  324. $(selector).html(message).fadeIn();
  325. },
  326. this.removeError = function(selector){
  327. $(selector).fadeOut(function(){
  328. $(this).html('');
  329. });
  330. },
  331. // @return bool
  332. this.isLocked = function(){
  333. return this.checkout_submit_locked;
  334. }
  335. }
  336.  
  337. function StripeCheckout(){
  338. this.layout = new StripeCheckoutContainer(),
  339. this.page_container = new PageContainer(),
  340. this.publishable_key = "pk_live_ihrc2K7oHW0IpL4kOijnDKD1",
  341. // Sets the plan type code based on a given frontend plan type code.
  342. this.setPlanType = function(type){
  343. $(this.layout.plan_type).val(type);
  344. },
  345. // Call this to initiate the checkout process
  346. this.processCheckoutRequest = function(){
  347. // layout lock is to prevent checking out twice while the first checkout request is still processing
  348. if (!this.layout.isLocked()){
  349. this.layout.lockForm();
  350. var email = $(this.layout.email).val();
  351. var password = $(this.layout.password).val();
  352. var cc_number = $(this.layout.cc_number).val();
  353. var exp_month = $(this.layout.exp_month).val();
  354. var exp_year = $(this.layout.exp_year).val();
  355. var cvc = $(this.layout.cvc).val();
  356. var card_type = $.payment.cardType(cc_number);
  357. /*
  358. Check for any errors in the input parameters before we send off to Stripe
  359. */
  360. if (!$.payment.validateCardNumber(cc_number)){
  361. this.layout.removeError(this.layout.error_generic);
  362. this.layout.showError(this.layout.error_cc_number, "Invalid Card Number");
  363. this.layout.unlockForm();
  364. } else if (!$.payment.validateCardExpiry(exp_month, exp_year)){
  365. this.layout.removeError(this.layout.error_generic);
  366. this.layout.showError(this.layout.error_cc_number, "Expiration Date Invalid");
  367. this.layout.unlockForm();
  368. } else if (!$.payment.validateCardCVC(cvc, card_type)){
  369. this.layout.removeError(this.layout.error_generic);
  370. this.layout.showError(this.layout.error_cvc, "Invalid CVC");
  371. this.layout.unlockForm();
  372. } else {
  373. this.layout.removeError(this.layout.error_generic);
  374. Stripe.setPublishableKey(this.publishable_key);
  375. // Checkout is called asynchronously, so the locks must be acquired here and not within the checkout execution.
  376. Stripe.card.createToken($(this.layout.payment_form), this.executeCheckout.bind(this));
  377. }
  378. }
  379. },
  380. // Callback for executing the checkout calls to stripe.
  381. this.executeCheckout = function(status, response){
  382. /*
  383. IMPORTANT - this should only be called from within processCheckoutRequest(), which also handles the locking to prevent duplicate charges.
  384. */
  385. if (response.error){
  386. this.layout.showError(this.layout.uppermost_error_field, response.error.message);
  387. // Since the last click resulted in a failure, unlock the form for the next user attempt.
  388. this.layout.unlockForm();
  389. } else{
  390. $.ajax({
  391. context: this,
  392. type: "POST",
  393. url: $(this.layout.payment_form).attr('action'),
  394. data: {'stripe_token' : response.id, 'email' : $(this.page_container.email).val(), 'password' : $(this.page_container.password).val(), 'plan_type' : $(this.layout.plan_type).val(), 'cardholder_name' : $(this.layout.cardholder_name).val()},
  395. success: function(response){
  396. response = jQuery.parseJSON(response);
  397.  
  398. if (response.status == "success"){
  399. // Redirect if the membership has been successfully created.
  400. window.location.href = 'https://www.proguides.com/settings';
  401. } else{
  402. switch (response.reason){
  403. case 'card_already_used_for_trial':
  404. this.layout.showError(this.layout.uppermost_error_field, "This card is not eligible for a trial as it has been used previously for a trial. Please click the Checkout button to be billed and begin your Proguides membership immediately!");
  405. $(this.layout.submit_button).html("Checkout");
  406. $(this.layout.plan_type).val(response.plan_suggested);
  407. setTimeout(
  408. // Wait before unlocking so that the user has a little time to notice the alert so they don't accidentally do a rapid double click.
  409. function(){
  410. stripe_checkout.layout.unlockForm();
  411. }, 750);
  412. break;
  413. case 'stripe':
  414. this.layout.showError(this.layout.uppermost_error_field, "An error occurred with our payment provider. Please refresh this page and try again or choose a different payment method.");
  415. this.layout.unlockForm();
  416. break;
  417. case 'card':
  418. this.layout.showError(this.layout.uppermost_error_field, "Your card was declined. Please try a different card or choose a different payment method.");
  419. this.layout.unlockForm();
  420. break;
  421. default:
  422. this.layout.showError(this.layout.uppermost_error_field, "An error occurred. Please refresh this page and try again or choose a different payment method.");
  423. this.layout.unlockForm();
  424. break;
  425. }
  426. }
  427. }
  428. });
  429. }
  430. }
  431. }
  432.  
  433. /*
  434. Note that for Xsolla, if we are using PaymentUI, we have no need to specify the plan type, as that is determined by the user within PaymentUI.
  435. */
  436. function XsollaCheckoutContainer(){
  437. this.parent_selector = "#xsolla-option",
  438. this.payment_form = "#xsolla-form-container .payment-form",
  439. this.xsolla_token = "#xsolla-form-container .payment-form input[name='xsolla_token']"
  440. }
  441.  
  442. function XsollaCheckout(){
  443. this.layout = new XsollaCheckoutContainer()
  444. }
  445.  
  446. // Disable double submits
  447. $('#account-signup-form').on("submit", function(e) {
  448. // Make sure the payment form isn't disabled
  449. if (!page_container.registrationFormIsLocked()){
  450. // Prevent the email and password from being modified and lock this form
  451. page_container.lockRegistrationForm();
  452. $.ajax({
  453. type: "POST",
  454. url: "payment/common/functions/checkAndCreateUser.php",
  455. data: {'email' : $(page_container.email).val(), 'password' : $(page_container.password).val()},
  456. success: function(response){
  457. var response = jQuery.parseJSON(response);
  458. // Difference actions and locations to go to depending on the chosen payment method
  459. if (response.status == "success"){
  460. // Replace the user dashboard since they are now logged in
  461. $(page_container.dashboard_links).fadeOut().addClass('dashboardlinks').removeClass('userlinks').html(response.dashboard).fadeIn();
  462.  
  463. // Grab the xsolla token now that we've set an email for the user
  464. $.ajax({
  465. type: "POST",
  466. url: "payment/xsolla/functions/getToken.php",
  467. success: function(response){
  468. response = jQuery.parseJSON(response);
  469. if (response.status == "success"){
  470. $(xsolla_checkout.layout.parent_selector).fadeIn();
  471. $(xsolla_checkout.layout.xsolla_token).val(response.token);
  472. // Prepare the Xsolla lightbox
  473. var options = {
  474. 'access_token' : $(xsolla_checkout.layout.xsolla_token).val(),
  475. }
  476. var s = document.createElement('script');
  477. s.type = "text/javascript";
  478. s.async = true;
  479. s.src = "//static.xsolla.com/embed/paystation/1.0.6/widget.min.js";
  480. s.addEventListener('load', function (e) {
  481. XPayStationWidget.init(options);
  482. }, false);
  483. var head = document.getElementsByTagName('head')[0];
  484. head.appendChild(s);
  485. }
  486. }
  487. });
  488.  
  489. // Remove the errors displayed, if any.
  490. page_container.removeError(page_container.error_email);
  491. page_container.removeError(page_container.error_password);
  492.  
  493. $('#annie').fadeOut();
  494. $('#bard').fadeOut();
  495. $('#step2').slideUp(function(){
  496. $('html, body').animate({
  497. scrollTop: $('.steps').offset().top
  498. });
  499. $('#step1').slideUp(function(){
  500. $('#step3').fadeIn('slow');
  501. });
  502. });
  503. } else{
  504. // If failure, display errors
  505. if (response.problem == "email"){
  506. page_container.removeError(page_container.error_password);
  507. page_container.showError(page_container.error_email, "Email already in use.");
  508. } else if (response.problem == "password"){
  509. page_container.removeError(page_container.error_email);
  510. page_container.showError(page_container.error_password, "Password must be at least 7 characters long.");
  511. }
  512. // In case of an error, unlock the form
  513. page_container.unlockRegistrationForm();
  514. }
  515. }
  516. });
  517. }
  518.  
  519. // Prevent the form from submitting with the default action
  520. return false;
  521. });
  522.  
  523. var controller = new ScrollMagic.Controller({globalSceneOptions: {triggerHook: "onEnter", duration: "300%"}});
  524.  
  525. var scene1 = new ScrollMagic.Scene({triggerElement: ".main"})
  526. .setTween(".steps", {backgroundPositionY: "-700px", ease: Linear.easeNone})
  527. .addTo(controller);
  528.  
  529. var scene2 = new ScrollMagic.Scene({triggerElement: ".main"})
  530. .setTween("#testimonials-section", {backgroundPositionY: "-700px", ease: Linear.easeNone})
  531. .addTo(controller);
  532. });
  533. </script>
  534. <style>.payment-option{position:relative;}.payment-option .text-description{color:#232323;font-size:18pt;font-weight:bold;letter-spacing:-1px;margin:0px 30px;}.payment-option .subtext{position:absolute;bottom:3px;left:40px;font-size:10px;color:#232323;}.content.checkout #step3 .payment-option i{color:#232323;}#stripe-form-container .payment-form button[type="submit"]{text-transform:uppercase;background-color:#00a9ff;color:white;border:none;padding:10px;font-size:14pt;font-family:'Open Sans';text-align:center;width:275px;margin-bottom:20px;cursor:pointer;}</style>
  535. </head>
  536. <body class="checkout">
  537. <div class="main">
  538. <script type="text/javascript" charset="utf-8">
  539. $(function(){
  540. // Set active for initial value
  541. $('.languages .language-options a[value=' + 'en_US' + ']').addClass('active');
  542.  
  543. // toggle language selector
  544. $('.languages a.main-btn').bind('click', function(){
  545. $('.languages .language-options').fadeToggle(350);
  546. });
  547.  
  548. // languages show more
  549. $('.dropdown.languages a.show-more').bind('click', function(){
  550. $(this).parent().hide();
  551. $('.dropdown.languages .option.hidden').removeClass('hidden');
  552. $('.dropdown.languages .options').addClass('expanded');
  553. });
  554.  
  555. // $('.dropdown.languages').show();
  556.  
  557. // On language change from the header
  558. $('.languages .language-options a, .languages .options a.option').on('click', function(){
  559. $.ajax({
  560. type: "POST",
  561. url: "https://www.proguides.com/functions/set_language.php",
  562. data: {language : $(this).attr('data-value')},
  563. success: function(response){
  564. location.reload();
  565. }
  566. });
  567. });
  568.  
  569. // If there is an autodetected language...
  570. $('.dropdown').hide();
  571. $('.dropdown.languages').show();
  572. })
  573. </script>
  574. <div class="nav loggedin">
  575. <div class="container">
  576. <div class="logo">
  577. <h1>
  578. <a href="/" id="logo">Proguides</a>
  579. </h1>
  580. </div>
  581. <div class="dashboardlinks loggedin">
  582. <a class="d-notifications dash-inbox">
  583. <span class="badge"></span>
  584. </a>
  585. <div class="dash-welcome">
  586. WELCOME, <span class="dash-user"><a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="eba6aabfbfa3aebcc5bca3a2bfbfa2a5acbfa4a5abaca6aaa2a7c5a8a4a6">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></span>
  587. </div>
  588. <div class="dash-items">
  589. <a class="d-account" href="https://www.proguides.com/settings">ACCOUNT</a>
  590. <a class="d-feedback" href="https://docs.google.com/forms/d/1MrGWy1k8Mw6s-QQqADFuJpD92mZgYbpeLfoDZIoV7vg/viewform?c=0&w=1" target="_blank">VOTE FOR NEXT GUIDE</a>
  591. <a class="d-logout" href="https://www.proguides.com/registration/logout">LOG OUT</a>
  592. <div class="languages">
  593. <a class="main-btn">
  594. <img class="language-icon" src="https://www.proguides.com/public/media/languages/en_US.png">
  595. <span>English</span>
  596. </a>
  597. <div class="language-options">
  598. <a data-value="en_US">English</a>
  599. <a data-value="es_ES">Espaol</a>
  600. <a data-value="zh_TW"> ()</a>
  601. <a data-value="zh_CN"> ()</a>
  602. </div>
  603. </div>
  604. </div>
  605. <div class="comment-list">
  606. <div class="list-item unread">
  607. <img src="https://www.proguides.com/public/media/apellation-pg-logo.png">
  608. <div class="copy">
  609. <p><span class="vip"><a class="new-comment-header-alert" data-notification-id="32067" href="https://www.proguides.com/checkout">Your ProGuides subscription has expired! Please renew your membership to gain access to personalized guides, courses, and more!</a></span></p>
  610. <span class="date">8 months ago</span>
  611. </div>
  612. </div>
  613. </div>
  614. </div>
  615. <script>
  616. $(document).ready(function(){
  617. // Fill in activity counter for notifications
  618. if (1 > 0){
  619. $('.dash-inbox').addClass('active');
  620. $('.dash-inbox .badge').html(1);
  621. }
  622.  
  623. // Upon clicking the dash inbox, mark as read every notification marked as unread
  624. $('.dash-inbox').on('click', function(e){
  625. var unread_notification_ids = [];
  626.  
  627. $('.comment-list .list-item.unread').each(function(index, value){
  628. unread_notification_ids.push($(this).find('.new-comment-header-alert').attr('data-notification-id'));
  629. });
  630.  
  631. console.log({'action' : 'mark_read', 'notification_ids' : unread_notification_ids});
  632. markNotificationsAsRead(unread_notification_ids);
  633.  
  634. });
  635.  
  636. function markNotificationsAsRead(notification_ids){
  637. notification_ids = notification_ids.join(',');
  638. $.ajax({
  639. type: "POST",
  640. url: "https://www.proguides.com/functions/notifications/POST_MarkNotificationsAsRead.php",
  641. data: {'action' : 'mark_read', 'notification_ids' : notification_ids},
  642. success: function(response){
  643. response = jQuery.parseJSON(response);
  644. if (response.status == "success"){
  645. $('.dash-inbox').removeClass('active');
  646. $('.dash-inbox .badge').html('');
  647. }
  648. }
  649. });
  650. }
  651. });
  652. </script>
  653. <div class="clear"></div>
  654. </div>
  655. </div>
  656.  
  657. <style>.fixed_footer_area{left:20px;bottom:5px;position:fixed;width:340px;z-index:9999;}.fixed_footer_area a{color:#00a9ff;text-decoration:none;}.fixed_footer_area .notification{display:none;width:100%;background-color:#E2E7EE;color:#464747;border-radius:2px;border:solid 4px #9DABC9;padding:15px 15px;margin:5px auto;overflow:auto;position:relative;}.fixed_footer_area .notification img.thumbnail{display:inline-block;float:left;max-width:40px;height:auto;}.fixed_footer_area .notification span.close{font-size:21px;line-height:14px;color:#2f2f2f;position:absolute;top:0;right:0;padding:2px 3px 0 0;}.fixed_footer_area .notification span.close:hover{color:#009aff;cursor:pointer;}.fixed_footer_area .notification .text{font-size:14px;display:inline-block;float:right;padding-left:5px;width:85%;}.fixed_footer_area .notification .text .content{width:235px;padding:0;}.fixed_footer_area .notification .text p{margin:0;}.fixed_footer_area .notification .text span.date{font-size:13px;color:#555;}.fixed_footer_area .notification .text .controls span{font-size:12px;float:right;color:#0f0f0f;}.fixed_footer_area .notification .text .controls span:hover{color:#009aff;cursor:pointer;}</style>
  658. <div class="content guides checkout" style="padding-bottom: 0;">
  659. <div class="steps">
  660. <div id="bard">
  661. <img src="public/media/checkout-bard.png">
  662. </div>
  663. <div class="container" style="padding-bottom: 30px;">
  664. <div id="step1">
  665. <div class="cta">
  666. <h1>Learn the winning formula.</h1>
  667. <h2>Start your free 7-day trial</h2>
  668. <p>Choose a plan to get started with your 100% risk free trial in less than 60 seconds.</p>
  669. </div>
  670. <div class="plans">
  671. <div id="monthly-plan" class="option">
  672. <div class="plan-type">
  673. <h1>Monthly Subscription</h1>
  674. </div>
  675. <div class="plan-desc">
  676. <div class="option-indicator"></div>
  677. <div class="pricing">
  678. <p class="price">$9.99/Month</p>
  679. <p class="frequency">Billed Month to Month.</p>
  680. </div>
  681. <div class="divider"></div>
  682. <ul>
  683. <li>Full access to our winning program.</li>
  684. <li>Your questions answered by the best players.</li>
  685. <li>Cancel anytime.</li>
  686. </ul>
  687. <button data-value="proguides_trial_monthly_membership">Select</button>
  688. </div>
  689. </div>
  690. <div id="yearly-plan" class="option">
  691. <div class="plan-type">
  692. <h1>Yearly Subscription</h1>
  693. </div>
  694. <div class="plan-desc">
  695. <div class="option-indicator"></div>
  696. <div class="pricing">
  697. <p class="price">$4.99/Month</p>
  698. <p class="frequency">Billed $60 Annually.</p>
  699. </div>
  700. <div class="divider"></div>
  701. <ul>
  702. <li>Full access to our winning program.</li>
  703. <li>Your questions answered by the best players.</li>
  704. <li>Cancel anytime.</li>
  705. <li><strong>SAVE 50%</strong></li>
  706. </ul>
  707. <button data-value="proguides_trial_annual_membership">Select</button>
  708. </div>
  709. </div>
  710. <div class="clear"></div>
  711. </div>
  712. </div>
  713. <div id="step2">
  714. <div id="trial-note">
  715. <p><strong>You will not be charged during the 7-Day trial period.</strong></p>
  716. <p>Cancel anytime.</p>
  717. </div>
  718. <div class="divider"></div>
  719. <div class="cta">
  720. <h1>Sign up to start your free 7 day trial</h1>
  721. <p>No commitments, cancel online any time.</p>
  722. </div>
  723. <div id="account-signup">
  724.  
  725. <form id="account-signup-form">
  726. <input id="form-email-input" type="hidden" name="email" value="matthew.whittington@gmail.com">
  727. <input id="form-password-input" type="hidden" name="password" value="nullified_value">
  728. <input id="form-flag" type="hidden" name="form_flag" value="passthrough">
  729. <button type="submit" id="account-check-button">Continue</button>
  730. <p id="terms">By clicking "Continue", you agree to the ProGuides <br> <a href="tos" style="text-decoration: none;">Terms of Service</a> and <a href="tos" style="text-decoration: none;">Privacy Policy</a>.</a></p>
  731. </form>
  732.  
  733. </div>
  734. </div>
  735. <div id="step3">
  736. <h1>Last step, choose a payment method</h1>
  737.  
  738. <div id="paypal-option" class="payment-option">
  739. <img src="public/media/paypal.png"/>
  740. <div>
  741. <i class="fa fa-2x fa-chevron-right"></i>
  742. </div>
  743. </div>
  744. <div id="paypal-form-container" style="display: none;">
  745.  
  746. <form class="payment-form" action="https://www.proguides.com/payment/paypal-rest/initiateMembership" method="POST" target="_top">
  747. <input type="hidden" name="plan_type">
  748. </form>
  749.  
  750. </div>
  751.  
  752. <div id="stripe-option" class="payment-option">
  753. <ul>
  754. <li>
  755. <img src="public/media/visa.png">
  756. </li>
  757. <li>
  758. <img src="public/media/mastercard.png">
  759. </li>
  760. <li>
  761. <img src="public/media/discover.png">
  762. </li>
  763. <li>
  764. <img src="public/media/american.png">
  765. </li>
  766. <li class="text-description">
  767. Credit Card </li>
  768. </ul>
  769. <div>
  770. <i class="fa fa-2x fa-chevron-right"></i>
  771. </div>
  772. </div>
  773. <div id="stripe-form-container">
  774.  
  775. <form class="payment-form" method="POST" action="https://www.proguides.com/payment/stripe/createMembership.php" autocomplete="on">
  776. <div>
  777. <input class="cardname" type="text" placeholder="Cardholder's Name" data-stripe="name" name="cardholder_name">
  778. </div>
  779. <span class="generic-payment-error ccnumber-error"></span>
  780. <span class="generic-payment-error exp-error"></span>
  781. <span class="generic-payment-error cvc-error"></span>
  782. <div style="display: flex; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex;">
  783. <div style="width: 40%; -webkit-box-flex: 1 40%; -webkit-flex: 1 40%; -ms-flex: 1 40%; flex: 1 40%; border: 2px solid #eeeeee; border-right: none;">
  784. <input id="form-ccnumber-input" class="cardnum" type="text" data-stripe="number" name="cc_number" placeholder="Credit Card Number" autocomplete="cc-number">
  785. </div>
  786. <div style="width: 30%; -webkit-box-flex: 1 30%; -webkit-flex: 1 30%; -ms-flex: 1 30%; flex: 1 30%; border: 2px solid #eeeeee; border-left: none; background-color: white; padding: 0px 10px;">
  787. <img src="public/media/secured-payment.png"/>
  788. </div>
  789. <div style="width: 30%; -webkit-box-flex: 1 30%; -webkit-flex: 1 30%; -ms-flex: 1 30%; flex: 1 30%; border: 2px solid #eeeeee; border-left: none;">
  790. <input type="text" data-stripe="address_zip" name="zipcode" placeholder="Zip / Postal Code" autocomplete="cczip">
  791. </div>
  792. </div>
  793. <div style="display: flex; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex;">
  794. <div style="width: 32%; -webkit-box-flex: 1 32%; -webkit-flex: 1 32%; -ms-flex: 1 32%; flex: 1 32%; border: 2px solid #eeeeee; border-top: none; ">
  795.  
  796. <select class="checkout-select" data-stripe="exp-month" name="exp_month">
  797. <option>Expiration Month</option>
  798. <option value="1">January - 1</option>
  799. <option value="2">February - 2</option>
  800. <option value="3">March - 3</option>
  801. <option value="4">April - 4</option>
  802. <option value="5">May - 5</option>
  803. <option value="6">June - 6</option>
  804. <option value="7">July - 7</option>
  805. <option value="8">August - 8</option>
  806. <option value="9">September - 9</option>
  807. <option value="10">October - 10</option>
  808. <option value="11">November - 11</option>
  809. <option value="12">December - 12</option>
  810. </select>
  811. </div>
  812. <div style="width: 38%; -webkit-box-flex: 1 38%; -webkit-flex: 1 38%; -ms-flex: 1 38%; flex: 1 38%; border: 2px solid #eeeeee; border-left: none; border-top: none; ">
  813. <select class="checkout-select" data-stripe="exp-year" name="exp_year">
  814. <option>Expiration Year</option>
  815. <option value="2017">2017</option>
  816. <option value="2018">2018</option>
  817. <option value="2019">2019</option>
  818. <option value="2020">2020</option>
  819. <option value="2021">2021</option>
  820. <option value="2022">2022</option>
  821. <option value="2023">2023</option>
  822. <option value="2024">2024</option>
  823. <option value="2025">2025</option>
  824. <option value="2026">2026</option>
  825. <option value="2027">2027</option>
  826. <option value="2028">2028</option>
  827. <option value="2029">2029</option>
  828. <option value="2030">2030</option>
  829. <option value="2031">2031</option>
  830. <option value="2032">2032</option>
  831. <option value="2033">2033</option>
  832. <option value="2034">2034</option>
  833. <option value="2035">2035</option>
  834. <option value="2036">2036</option>
  835. </select>
  836. </div>
  837. <div style="width: 25%; -webkit-box-flex: 1 25%; -webkit-flex: 1 25%; -ms-flex: 1 25%; flex: 1 25%; border: 2px solid #eeeeee; border-left: none; border-right: none; border-top: none; ">
  838. <input class="short" type="text" data-stripe="cvc" name="cvc" placeholder="CVV" autocomplete="off">
  839. </div>
  840. <div style="width: 5%; -webkit-box-flex: 1 5%; -webkit-flex: 1 5%; -ms-flex: 1 5%; flex: 1 5%; border: 2px solid #eeeeee; border-left: none; border-top: none; background-color: white; padding: 0px 5px; display: flex; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; -webkit-align-items: center; align-items: center;">
  841. <img src="public/media/cvv.png" style="flex: 1 auto; width: 100%;"/>
  842. </div>
  843. </div>
  844.  
  845. <div class="trial-question">
  846. <p>Why do I need to enter a credit card now?</p>
  847. <div style="display: flex; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex;">
  848. <p style="width: 75%; -webkit-box-flex: 1 75%; -webkit-flex: 1 75%; -ms-flex: 1 75%; flex: 1 75%; padding-right: 75px;">
  849. A valid credit card is required for ProGuide's Free 7-Day Trial. You will not be charged if you cancel your free trial at any time before May 17, 2017. If you do not cancel your subscription, you will be charged $<span id="plan-cost"></span> on May 17, 2017.
  850. </p>
  851. <button type="submit" style="width: 25%; -webkit-box-flex: 1 25%; -webkit-flex: 1 25%; -ms-flex: 1 25%; flex: 1 25%">Start Your Free Week!</button>
  852. </div>
  853. </div>
  854. <input class="plan-type" type="hidden" name="plan_type">
  855. </form>
  856.  
  857. </div>
  858.  
  859. <div id="xsolla-option" class="payment-option" style="display: none;">
  860. <ul>
  861. <li>
  862. <img src="public/media/skrill.png">
  863. </li>
  864. <li>
  865. <img src="public/media/maestro.png">
  866. </li>
  867. <li>
  868. <img src="public/media/paysafecard.png">
  869. </li>
  870. <li>
  871. <img src="public/media/mobile_pay.png">
  872. </li>
  873. <li class="text-description">
  874. More Methods </li>
  875. </ul>
  876. <div>
  877. <i class="fa fa-2x fa-chevron-right"></i>
  878. </div>
  879. <span class="subtext">*Trial periods are only available when paying with PayPal or Credit Card.</span>
  880. </div>
  881. <div id="xsolla-form-container">
  882.  
  883. <form class="payment-form">
  884. <input type="hidden" name="plan_type">
  885. <input type="hidden" name="xsolla_token">
  886. </form>
  887.  
  888. </div>
  889. </div>
  890. </div>
  891. </div>
  892. <div id="icons-section">
  893. <div id="icons-wrapper">
  894. <div id="annie">
  895. <img src="public/media/checkout-annie.png">
  896. </div>
  897. <div class="icon-container">
  898. <img src="public/media/icon-strategy.png">
  899. <div class="icon-title">
  900. Increase your skills </div>
  901. <div class="icon-desc">
  902. Our constantly updated videos and courses break down the fundamentals and key strategies to increase your skills (and ranking) fast! </div>
  903. </div>
  904. <div class="icon-container">
  905. <img src="public/media/icon-learn.png">
  906. <div class="icon-title">
  907. Learn from your favorite Pros </div>
  908. <div class="icon-desc">
  909. Learn the secrets to mastering League of Legends directly from your favorite pro player or streamer. </div>
  910. </div>
  911. <div class="icon-container">
  912. <img src="public/media/icon-hd.png">
  913. <div class="icon-title">
  914. Watch in full HD </div>
  915. <div class="icon-desc">
  916. Watch all video series in 1080p HD on all your available devices. </div>
  917. </div>
  918. </div>
  919. </div>
  920. <div id="testimonials-section">
  921. <div id="testimonial-overlay"></div>
  922. <h1>Here's What Our Members Are Saying</h1>
  923. <div id="testimonials-wrapper">
  924. <div class="testimonial-container">
  925. <div class="testimonial">
  926. <div class="title">"The Best League Companion"</div>
  927. When I started playing ranked I was in Silver 5, but I always felt like I could do better. I started to figure out what I was doing wrong by asking questions to ProGuides' top ranked staff (Genius) and watching their advanced guides. I climbed all the way through Silver and Gold. I'm now in Platinum division and still climbing. </div>
  928. <div class="author">
  929. <img src="//ddragon.leagueoflegends.com/cdn/5.24.1/img/champion/Garen.png">
  930. <div>
  931. <div class="author-name">Bryan Yang</div>
  932. <div class="author-rank">Platinum IV</div>
  933. </div>
  934. </div>
  935. </div>
  936. <div class="testimonial-container">
  937. <div class="testimonial">
  938. <div class="title">"It Actually Works!"</div>
  939. I began playing League for the first time at the beginning of the year. I started using ProGuides before I even reached level 30. The knowledge I gained from these guides dramatically improved my gameplay. Once I reached level 30, I jumped right into ranked games. Having nearly a decade of experience in other MOBAs such as Dota, I have never used a site like this, but I'm so glad I did. I learned fast enough to reach Diamond in less than 4 months. </div>
  940. <div class="author">
  941. <img src="//ddragon.leagueoflegends.com/cdn/5.24.1/img/champion/Vayne.png">
  942. <div>
  943. <div class="author-name">Mark Williams</div>
  944. <div class="author-rank">Diamond V</div>
  945. </div>
  946. </div>
  947. </div>
  948. <div class="testimonial-container">
  949. <div class="testimonial">
  950. <div class="title">Amazing Guides</div>
  951. I've been playing League for over four years. In all that time, I've never gotten above Bronze on ranked ladder. I've tried everything I can from reading online guides to watching Twitch streamers, but nothing worked for me. However, when I tried out ProGuides, I was able to follow their courses and learn new concepts easily. I'm happy to say I finally climbed out of Bronze and am now currently in Gold 5. </div>
  952. <div class="author">
  953. <img src="//ddragon.leagueoflegends.com/cdn/5.24.1/img/champion/Thresh.png">
  954. <div>
  955. <div class="author-name">Nick Davis</div>
  956. <div class="author-rank">Gold V</div>
  957. </div>
  958. </div>
  959. </div>
  960. </div>
  961. </div>
  962. <div class="clear"></div>
  963. </div>
  964. <div class="footertop">
  965. <div class="container">
  966. <ul class="features">
  967. <li class="hd">
  968. <div class="copy">
  969. <h4>FULL HD</h4>
  970. <p>All of our videos are in full 1080p HD and feature crystal clear audio, guaranteed.</p>
  971. </div>
  972. </li>
  973. <li class="support">
  974. <div class="copy">
  975. <h4>LIVE SUPPORT</h4>
  976. <p>Members get exclusive live support access. Were here to help. 24 hours a day, 7 days a week.</p>
  977. </div>
  978. </li>
  979. <li class="community">
  980. <div class="copy">
  981. <h4>SATISFACTION GUARANTEED</h4>
  982. <p>Your satisfaction is guaranteed. Cancel anytime within your 7 day trial period if you are not 100% satisfied.</p>
  983. </div>
  984. </li>
  985. </ul>
  986. <div class="clear"></div>
  987. </div>
  988. </div>
  989. <div class="footer">
  990. <div class="container">
  991. <div class="bottom">
  992. <div class="block sitemap">
  993. <h2>SITE MAP</h2>
  994. <div class="fsitemap">
  995. <a href="https://www.proguides.com/">Home</a>
  996. <a href="https://www.proguides.com/guides">All Guides</a>
  997. <a href="https://www.proguides.com/tos">Terms of Service</a>
  998. <a href="https://www.proguides.com/careers">Careers</a>
  999. <a class="footer-partners-contact" href="#">Partners</a>
  1000. <a class="footer-contact-us" href="#">Contact Us</a>
  1001. </div>
  1002. </div>
  1003. <div class="block social">
  1004. <h2>SOCIAL MEDIA</h2>
  1005. <div class="fsocial">
  1006. <a href="https://www.youtube.com/watch?v=8yjHLlzJOT4">
  1007. <img src="https://www.proguides.com/public/media/yt-icon.png">
  1008. YouTube
  1009. </a>
  1010. <a href="https://www.facebook.com/proguidescom">
  1011. <img src="https://www.proguides.com/public/media/fb-icon.png">
  1012. Facebook
  1013. </a>
  1014. <a href="https://twitter.com/proguidescom">
  1015. <img src="https://www.proguides.com/public/media/tw-icon.png">
  1016. Twitter
  1017. </a>
  1018. <a class="app" href="https://itunes.apple.com/us/app/proguides/id1167170419?mt=8" target="_blank">
  1019. <img src="https://www.proguides.com/public/media/appstore.png" alt=""/>
  1020. </a>
  1021. </div>
  1022. </div>
  1023. <div class="block partners">
  1024. <h2>OUR PARTNERS</h2>
  1025. <div class="fpartners">
  1026. <a href="https://www.twitch.tv/mushisgosu">
  1027. <img src="https://www.proguides.com/public/media/gosu-icon.png">
  1028. Hi Im Gosu
  1029. </a>
  1030. <a href="https://www.twitch.tv/flosd">
  1031. <img src="https://www.proguides.com/public/media/boxbox-icon.png">
  1032. BoxBox
  1033. </a>
  1034. <a href="https://www.youtube.com/user/luigidragon">
  1035. <img src="https://www.proguides.com/public/media/pants-icon.png">
  1036. PantsAreDragon
  1037. </a>
  1038. <a href="https://twitter.com/AlexIchLoL">
  1039. <img src="https://www.proguides.com/public/media/alexich3.png">
  1040. Alex Ich
  1041. </a>
  1042. <a href="https://www.teamliquidpro.com/">
  1043. <img src="https://www.proguides.com/public/media/teamliquid.png">
  1044. Team Liquid
  1045. </a>
  1046. <a href="https://www.youtube.com/user/GamingCurios">
  1047. <img src="https://www.proguides.com/public/media/gaming-icon.png">
  1048. Gaming Curios
  1049. </a>
  1050. <a href="https://www.youtube.com/user/Redmercy">
  1051. <img src="https://www.proguides.com/public/media/redmercy-icon.png">
  1052. RedMercy
  1053. </a>
  1054. <a href="https://twitter.com/ProphetCrumbz">
  1055. <img src="https://www.proguides.com/public/media/crumbz3.png">
  1056. Crumbz
  1057. </a>
  1058. <a href="http://na.op.gg/">
  1059. <img src="https://www.proguides.com/public/media/opgg-icon.png">
  1060. OP.GG
  1061. </a>
  1062. <a href="https://www.youtube.com/user/ThePhylol">
  1063. <img src="https://www.proguides.com/public/media/phylol-icon.png">
  1064. PhyLol
  1065. </a>
  1066. <a href="https://www.youtube.com/user/foxdropLoL">
  1067. <img src="https://www.proguides.com/public/media/fox-icon.png">
  1068. Fox Drop
  1069. </a>
  1070. <a href="http://www.bestbans.com/">
  1071. <img src="https://www.proguides.com/public/media/bestbans3.png">
  1072. Best Bans
  1073. </a>
  1074. </div>
  1075. </div>
  1076. </div>
  1077. <div class="clear"></div>
  1078. </div>
  1079. </div>
  1080. <div class="footerbottom">
  1081. <div class="container">
  1082. <div class="copyright">
  1083. <p>ProGuides | Copyright &copy; 2017 ProGuides. All rights reserved.</p>
  1084. </div>
  1085. <div class="media">
  1086. <img src="https://www.proguides.com/public/media/ssl-icon.png">
  1087. <img src="https://www.proguides.com/public/media/visa-icon.png" style="height: 26px; width: 42px;">
  1088. <img src="https://www.proguides.com/public/media/mc-icon.png" style="height: 26px; width: 42px;">
  1089. <img src="https://www.proguides.com/public/media/discover-icon.png" style="height: 26px; width: 42px;">
  1090. <img src="https://www.proguides.com/public/media/ae-icon.png" style="height: 26px; width: 42px;">
  1091. <img src="https://www.proguides.com/public/media/skrill_2.png" style="height: 26px; width: 42px;">
  1092. <img src="https://www.proguides.com/public/media/paypal-icon.png" style="height: 26px; width: 42px;">
  1093. <img src="https://www.proguides.com/public/media/paysafe_2.png" style="height: 26px; width: 42px;">
  1094. <img src="https://www.proguides.com/public/media/mobile_pay_2.png" style="height: 26px; width: 42px;">
  1095. </div>
  1096. <div class="clear"></div>
  1097. </div>
  1098. </div>
  1099. <div class="footerbottom">
  1100. <div class="container">
  1101. <p>All League of Legends artwork is sole property of Riot Games, Inc. ProGuides are in no way affiliated with, associated with or endorsed by Riot Games, Inc. League of Legends and Riot Games are trademarks of Riot Games, Inc.</p>
  1102. </div>
  1103. </div>
  1104. <input type="hidden" id="admin-flag-save" value="0"> </div>
  1105. </body>
  1106. </html>
  1107.  
  1108.  
  1109.  
  1110.  
  1111. ----------------------------------------------------------------------------------
  1112. <-----Bot Status: No keys found upon 200 - OK -> Check answer - Source Length: 45401----->
  1113. ---------------------------------------------------------------------------------->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement