diff --git a/frontend/drupal/sites/all/modules/nakupovanje_1ka/nakupovanje_1ka.module b/frontend/drupal/sites/all/modules/nakupovanje_1ka/nakupovanje_1ka.module index 3b1bd4ae1..6d1244be8 100755 --- a/frontend/drupal/sites/all/modules/nakupovanje_1ka/nakupovanje_1ka.module +++ b/frontend/drupal/sites/all/modules/nakupovanje_1ka/nakupovanje_1ka.module @@ -7,10 +7,11 @@ function nakupovanje_1ka_menu() { $items = []; - $items['nakupovanje-api'] = [ + $items['nakupovanje-api/%'] = [ 'title' => 'API', //page title 'page callback' => 'nakupovanje_1ka_api', //callback function which is invoked when menu item is called. - 'access callback' => MENU_CALLBACK, //any user can access this page + 'access callback' => MENU_LOCAL_ACTION, //any user can access this page + //'type' => MENU_CALLBACK, 'page arguments' => [ 1, ], @@ -196,7 +197,56 @@ function nakupovanje_1ka_menu() function nakupovanje_1ka_api() { - return 'success'; + $api_url = 'http://1ka.test/frontend/payments/api.php'; + + // Ime akcije dobimo preko zadnjega GET parametra, ki ga Drupal samo uporabi + $action = arg(1); + + // GET params + $params = 'action='. $action; // Funkcija, ki jo želimo izvesti + + $post_data = $_POST; + + if(!empty($post_data) && sizeof($post_data) > 0){ + $request_method = 'POST'; + $raw_post_data = http_build_query($post_data); + } else { + $request_method = 'GET'; + $raw_post_data = ''; + } + + // Pripravimo stvari za izdelavo tokena + $request_url = $api_url.'?'.$params; + $data = $request_method . $request_url .$raw_post_data; + + // Nastavimo identifier in key userja + $private_key = 'NLFYb67/[pUE%W-s'; + + // Izracunamo hash (token) + $token = hash_hmac('sha256', $data, $private_key); + + + // Pripravimo klic – dodamo parametra »identifikator« in »token« + $ch = curl_init($request.'&token='.$token); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_method); + + if($request_method == 'POST') { + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); // JSON string za POST + curl_setopt($ch, CURLOPT_POST, TRUE); + } + + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HEADER ,1); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLINFO_HEADER_OUT, true); + + // Izvedemo klic + $result = curl_exec($ch); + curl_close($ch); + + print_r($result); + die(); } function nakupovanje_1ka_kosarica() diff --git a/frontend/drupal/sites/all/themes/pro1ka/js/script.js b/frontend/drupal/sites/all/themes/pro1ka/js/script.js index 20789675c..a23500cac 100755 --- a/frontend/drupal/sites/all/themes/pro1ka/js/script.js +++ b/frontend/drupal/sites/all/themes/pro1ka/js/script.js @@ -795,7 +795,7 @@ ) { var parametri = window.location.search.substr(1); - jQuery.post('/frontend/payments/api.php?action=cancel_narocilo_paypal', parametri).done(function (val) { + jQuery.post('/d/nakupovanje-api/cancel_narocilo_paypal', parametri).done(function (val) { val = JSON.parse(val); if (val.error) { @@ -811,7 +811,7 @@ ){ var parametri = window.location.search.substr(1); - jQuery.post('/frontend/payments/api.php?action=capture_narocilo_paypal', parametri).done(function (val) { + jQuery.post('/d/nakupovanje-api/capture_narocilo_paypal', parametri).done(function (val) { val = JSON.parse(val); if (val.error) { @@ -847,12 +847,19 @@ // PRidobimo pakete if (window.location.pathname.indexOf('zasebni-paketi') > -1 || window.location.pathname.indexOf('private-packages') > -1) { - jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) { + jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) { val = JSON.parse(val); jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly); jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly); }); + + // jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) { + // val = JSON.parse(val); + // + // jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly); + // jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly); + // }); } @@ -960,8 +967,7 @@ var podatki = jQuery('#narocilo-poslovni-uporabniki').serialize(); - - jQuery.post('/frontend/payments/api.php?action=send_poslovni_uporabniki', podatki).done(function (val) { + jQuery.post('/d/nakupovanje-api/send_poslovni_uporabniki', podatki).done(function (val) { val = JSON.parse(val); if (val.success) { @@ -971,6 +977,17 @@ } }); + + // jQuery.post('/frontend/payments/api.php?action=send_poslovni_uporabniki', podatki).done(function (val) { + // val = JSON.parse(val); + // + // if (val.success) { + // jQuery('#narocilo-poslovni-uporabniki').hide(); + // jQuery('#nakup-1ka-poslovni-uporabniki .uspesno-oddano-narocilo').show(); + // jQuery('.vsebina h1').text('Uspešno oddano naročilo'); + // } + // }); + }); jQuery(window).scroll(function () { @@ -1190,8 +1207,7 @@ function oddajNarociloNaStreznik() { var podatki = jQuery('form#narocilo-paketa-podatki').serialize(); - - jQuery.post('/frontend/payments/api.php?action=create_narocilo', podatki).done(function (val) { + jQuery.post('/d/nakupovanje-api/create_narocilo', podatki).done(function (val) { val = JSON.parse(val); if (val.error) { @@ -1273,7 +1289,8 @@ function posodobiCenoPaketa() { var trajanje = jQuery('[name="trajanje"]:checked').val(); - jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) { + + jQuery.post('/d/nakupovanje-api/get_paketi').done(function (val) { val = JSON.parse(val); var cenaIzpisGledeNaDDV = ''; @@ -1298,7 +1315,7 @@ function posodobiCenoPaketa() { // Preverimo, če ima kak popust od prej jQuery('.podatki-za-placilo-racuna').show(); - jQuery.post('/frontend/payments/api.php?action=get_active_subscription', { + jQuery.post('/d/nakupovanje-api/get_active_subscription', { 'package_id': paket, 'trajanje': trajanje, 'email': jQuery('#narocilo-paketa-podatki #f-email').val(), diff --git a/frontend/drupal/sites/all/themes/pro1ka/js/script_old_api.js b/frontend/drupal/sites/all/themes/pro1ka/js/script_old_api.js new file mode 100755 index 000000000..20789675c --- /dev/null +++ b/frontend/drupal/sites/all/themes/pro1ka/js/script_old_api.js @@ -0,0 +1,1434 @@ +/** + * @file + * A JavaScript file for the theme. + * + * In order for this JavaScript to be loaded on pages, see the instructions in + * the README.txt next to this file. + */ + +// JavaScript should be made compatible with libraries other than jQuery by +// wrapping it with an "anonymous closure". See: +// - https://drupal.org/node/1446420 +// - http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth +(function ($, Drupal, window, document) { + + 'use strict'; + + + // To understand behaviors, see https://drupal.org/node/756722#behaviors + Drupal.behaviors.my_custom_behavior = { + attach: function (context, settings) { + var adminMenu = ''; + if (jQuery('#admin-menu').length > 0) { + adminMenu = 'fixed-admin'; + } + + jQuery(document).ready(function () { + // Odpremo drop down menu za uporabnika + jQuery('#submenu-login').on('click', function () { + jQuery('#user-menu').toggle(); + }); + + // JEZIK pustimo samo 3 črke + var jezikText = jQuery('.language-link').text().substring(0, 4); + jQuery('.language-link').text(jezikText); + + // Iskalnik v navbaru + // Zapremo iskalnik + jQuery(document).on('click', '.search-close', function () { + jQuery('#iskanje').show('fast'); + jQuery('#iskanje-form').hide('fast'); + jQuery('.burger').css('z-index', ''); + }); + + //Odpremo iskalnik + jQuery('#iskanje').on('click', function () { + jQuery('#iskanje-form').show('fast'); + jQuery('#iskanje').hide('fast'); + jQuery('.burger').css('z-index', '-99'); + }); + + // Preusmerimo na url za iskanje, ko uporabnik pritisne enter + jQuery('#iskanje-input').on('keyup', function (event) { + if (event.keyCode == 13) { + var iskaniNiz = jQuery('#iskanje-input').val(); + + var action = jQuery('#iskanje-form').attr('data-action'); + + window.location.href = action + iskaniNiz; + } + }); + + // if (window.location.pathname.indexOf('/iskanje/') > -1) { + // jQuery('.container-sidenav h1').hide(); + // } + // END Iskalnik + + + /** + * Napredno iskanje + */ + // var drupalLang = 'sl'; + // var drupalButtonName = 'Iskanje po vprašalnikih'; + // if(location.pathname.split("/")[2] == 'en') { + // drupalLang = 'en'; + // drupalButtonName = 'Search surveys'; + // } + + // Dodamo Gumb za napredno iskanje + if (jQuery('#search-api-page-search-form').length > 0) { + // Če je uporabnik prijavljen dodamo opcijo iskanja po mojih anketah + var piskotek = "; " + document.cookie; + + if (piskotek.split("; unam=").length == 2) { + jQuery('#search-api-page-search-form [type="submit"]').after(''); + } + } + + jQuery('#edit-keys').bind('keyup', function () { + jQuery('#prikazi-moje-ankete').attr('href', '/admin/survey/index.php?search=' + jQuery(this).val() + '&lang=' + drupalLang); + }); + + + // Skrijemo napredno iskanje + jQuery(document).on('click', '#prikazi-advance-search', function () { + if (jQuery('.sprites').hasClass('plus')) { + jQuery('.sprites').removeClass('plus').addClass('minus'); + } else { + jQuery('.sprites').removeClass('minus').addClass('plus'); + } + + jQuery('fieldset#edit-advanced').toggle(); + }); + /*** end napredno iskanje ***/ + + + /** + * Quicktabs + */ + // Quick tabs dodamo ikone + jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-0, #quicktabs-tab-tabs_faq_manuals_video_eng-0').addClass('tab-povezava').prepend('
' + + '' + + '' + + '' + + '
'); + jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-1, #quicktabs-tab-tabs_faq_manuals_video_eng-1').addClass('tab-povezava').prepend('
' + + '' + + '' + + '' + + '
'); + jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-2, #quicktabs-tab-tabs_faq_manuals_video_eng-2').addClass('tab-povezava').prepend('
' + + '' + + '' + + '' + + '
'); + + //Dodamo naslove za posamezne tabe + jQuery('[id^=quicktabs-tab-tabs_faq_priporocila_video_slo], [id^=quicktabs-tab-tabs_faq_manuals_video_eng]').each(function () { + var id = jQuery(this).attr('id').slice(14); + var ime = jQuery(this).text(); + + // Če je v imenu active tab potem to odstranimo v naslovu + var isci = ime.search('(active tab)'); + if (isci > 0) { + ime = ime.slice(0, (isci - 1)); + } + + jQuery('#quicktabs-tabpage-' + id + ' .item-list').prepend('

' + ime + '

'); + }); + + // Quick tabs na angleški strani razširi 2 zavihka na 50% + if (jQuery('#quicktabs-tab-tabs_faq_manuals_video_eng-0').length) { + jQuery('.tabs-1ka ul.quicktabs-tabs > li').each(function () { + jQuery(this).addClass('width-50'); + }); + } + + // Quicktabs odpremo ustreznega glede na izbran url + var urlPars = window.location.pathname.split('/'); + + if (urlPars[4] == 'prirocniki' || urlPars[4] == 'manuals') { + jQuery('.quicktabs-tabs li').removeClass('active'); + jQuery('.quicktabs-tabs li:eq(1)').addClass('active'); + jQuery('.quicktabs-tabpage').addClass('quicktabs-hide'); + jQuery('.quicktabs-tabpage:eq(1)').removeClass('quicktabs-hide'); + + } + if (urlPars[4] == 'video') { + jQuery('.quicktabs-tabs li').removeClass('active'); + jQuery('.quicktabs-tabs li:eq(2)').addClass('active'); + jQuery('.quicktabs-tabpage').addClass('quicktabs-hide'); + jQuery('.quicktabs-tabpage:eq(2)').removeClass('quicktabs-hide'); + } + /*** end quictabs ***/ + + // POMOČ + // Skrij moje ankete + if (jQuery('.gumb1kazapri').length > 0) { + jQuery('.menu-630').hide(); + jQuery('.menu-489').hide(); + jQuery('.menu-952').hide(); + } + + // Nova 1ka + // Prijava modal + jQuery('#modal-open-login').on('click', function () { + jQuery('#modal-login').show(); + }); + + //Registracija modal + jQuery('#modal-open-registration, .brezplacni-nakup-samo-registracija').on('click', function () { + jQuery('#modal-registration').show(); + }); + + jQuery('.closemodal').on('click', function () { + jQuery('.rexister-modal').hide(); + jQuery('.w-input').val(''); + jQuery('.w-checkbox-input').prop('checked', false); + + //Odstranimo piskotek za nakup paketa in skrijemo tekst + document.cookie = "nakup=1;expires=Thu, 01 Jan 1970 00:00:01 GMT"; + jQuery('.nakup-prijava').hide(); + }); + + // Če gr za napako pri loginu + if (window.location.search.indexOf('?a=login') > -1) { + jQuery('#modal-login').show(); + jQuery('.w-form-fail').show(); + } + + jQuery('#gdpr-more').on('click', function () { + jQuery('#gdpr-vec-text').toggle(); + }); + + jQuery('.checkbox-field .checkbox-display').on('click', function () { + var oznacen = true; + if (jQuery(this).siblings('input:checked').length > 0) + oznacen = false; + + jQuery(this).siblings('input').prop('checked', oznacen); + }); + + + // Forma za registracijo + jQuery('#registracija-uporabnika .submit-btn').on('click', function (event) { + jQuery('.error-field').removeClass('error-field'); + jQuery('.error').removeClass('error'); + + // Obravnamo manjkajoča polja + if (jQuery('#register-form [name="email"]').val().length < 2) { + jQuery('#register-form [name="email"]').addClass('error error-field'); + } + + if (jQuery('#register-form [name="ime"]').val().length < 2) { + jQuery('#register-form [name="ime"]').addClass('error error-field'); + } + + if (!jQuery('#register-form [name="agree"]').is(':checked')) { + jQuery('#register-form [name="agree"]').addClass('error').siblings('#agreelabel, .checkbox-display').addClass('error'); + } + + if (jQuery('#register-form [name="email"]').val().length == 0 || jQuery('#register-form [name="ime"]').val().length == 0 || !jQuery('#register-form [name="agree"]').is(':checked')) { + return false; + } + + event.preventDefault(); + + var sendVariables = jQuery('#registracija-uporabnika').serialize(); + sendVariables += '&ajax=1'; + + jQuery.post('/frontend/api/api.php?action=register', sendVariables, function (data) { + var response = JSON.parse(data); + jQuery('.error-field').removeClass('error-field'); + + if (response.success && response.success == 1) { + jQuery('#reg-confirm-email').text(jQuery('#register-form [name="email"]').val()); + jQuery('#reg-confirm-ime').text(jQuery('#register-form [name="ime"]').val()); + jQuery('#reg-confirm-geslo').text('****'); + jQuery('#reg-confirm-gdpr').text('NE'); + + if (window.location.href.search('/d/en') > 0) { + if (jQuery('#GdprAgree').is(':checked')) { + jQuery('#reg-confirm-gdpr').text('YES'); + } else { + jQuery('#reg-confirm-gdpr').text('NO'); + } + } else { + if (jQuery('#GdprAgree').is(':checked')) { + jQuery('#reg-confirm-gdpr').text('DA'); + } + } + + if (jQuery('#register-form [name="geslo"]').val().length == 0) { + jQuery('#reg-confirm-geslo').text('/'); + } + + jQuery('#register-form').hide(); + jQuery('.glavni-naslov').hide(); + jQuery('#register-form-confirm').show(); + + + } else { + // Izpišemo napake + if (response.napaka && response.napaka.length > 0) { + jQuery('.napaka-registracija').show(); + + var napake = ''; + jQuery.each(response.napaka, function (key, val) { + napake += '
' + val + '
'; + }); + + jQuery('.napaka-registracija').html(napake); + } + + if (response.error_email) { + jQuery('#register-form [name="email"]').addClass('error-field'); + } + + if (response.error_ime) { + jQuery('#register-form [name="ime"]').addClass('error-field'); + } + + if (response.error_geslo) { + jQuery('#register-form [name="geslo"]').addClass('error-field'); + jQuery('#register-form [name="geslo2"]').addClass('error-field'); + } + + if (response.new_username.length > 0) { + jQuery('#register-form #registracija-vzdevek').val(response.new_username); + } + + //Ponastavi reCaptcho + if (grecaptcha) { + grecaptcha.reset(); + } + } + }); + + }); + + // Pri potrditvi omogočimo gum nazaj + jQuery('#reg-confirm-back').on('click', function () { + jQuery('#register-form-confirm').hide(); + jQuery('#register-form').show(); + }); + + //Pošljemo potrditven email + jQuery('#reg-confirm-next').on('click', function (event) { + event.preventDefault(); + + var sendVariables = jQuery('#registracija-uporabnika').serialize(); + sendVariables += '&ajax=1'; + + jQuery.post('/frontend/api/api.php?action=register_confirm', sendVariables, function (data) { + var response = JSON.parse(data); + + if (response.success && response.success == 1) { + var text = jQuery('#register-form-email-sent').html().replace("SFMAIL", jQuery('#reg-confirm-email').text()); + jQuery('#register-form-email-sent').html(text); + + jQuery('#reg-confirm-email').text(''); + jQuery('#reg-confirm-ime').text(''); + jQuery('#reg-confirm-geslo').text(''); + jQuery('#reg-confirm-gdpr').text(''); + + // Počistimo formo + jQuery(':input', '#register-form') + .not(':button, :submit') + .val('') + .removeAttr('checked'); + + jQuery('#register-form-confirm').hide(); + jQuery('#register-form-email-sent').show(); + + } + }); + + }); + + + // GUmbi na desni front + jQuery('#odpri-prijavo, .odpri-prijavo').on('click', function () { + jQuery('.rexister-modal').hide(); + jQuery('#modal-login').show(); + }); + jQuery(document).on('click', "#odpri-registracijo", function () { + jQuery('.rexister-modal').hide(); + jQuery('.w-form-fail').html('').hide(); + jQuery('#modal-registration').show(); + }); + + if (window.location.hash == '#neregistriran-uporabnik') { + jQuery('#spletna-uporaba-modal').show(); + } + + jQuery(document).on('click', '#gumb-spletna-uporaba, .gumb-spletna-uporaba', function (e) { + e.preventDefault(); + jQuery('#spletna-uporaba-modal').show(); + }); + jQuery('#gumb-lastna-namestitev').on('click', function () { + jQuery('#lastna-namestitev-modal').show(); + }); + + + // Izgubljeno geslo + jQuery('#open-modal-lost-password').on('click', function () { + jQuery('#modal-login').hide(); + jQuery('#modal-lost-password').show(); + }); + jQuery('#submit-lost-password').on('click', function () { + jQuery('.w-form-fail').hide(); + + var emailObnovitev = jQuery('#obnovitev-gesla').val(); + var jezik = jQuery('#modal-lost-password [name="jezik"]').val(); + + if (emailObnovitev.length == 0 || emailObnovitev.length > 1 && (emailObnovitev.search('@') == -1 || emailObnovitev.indexOf('.') == -1)) { + jQuery('#error-lost-password').show(); + + return false; + } + + // V kolikor je vse ok poljemo POST request, da preverimo v bazi + jQuery.post('/frontend/api/api.php?action=reset_password', { + email: emailObnovitev, + ajax: true, + jezik: jezik + }).done(function (val) { + val = JSON.parse(val); + + jQuery('#modal-lost-password .w-form-done').html('').hide(); + jQuery('#modal-lost-password .w-form-fail').hide(); + + if (val.type == 'success') { + jQuery('#modal-lost-password .w-form-done').html('
' + val.text + '
').show(); + + // Če je bil email uspešno poslal potem okno zapremo po 5 sekundah + setTimeout(function () { + jQuery("#modal-lost-password").hide(); + jQuery('#modal-lost-password .w-form-done').hide(); + jQuery("#obnovitev-gesla").val(''); + }, 2000); + + } else { + + // Napaka, če email ne obstaja v bazi + jQuery('#modal-lost-password .w-form-fail').html('
' + val.text + '
').show(); + + } + }); + }); + + // AKtivacija izgubljenega gesla + if (window.location.hash == '#aktivacija-gesla') { + jQuery('#modal-lost-password-activate').show(); + } + jQuery('#submit-lost-password-activation').on('click', function () { + jQuery('.w-form-fail').hide(); + jQuery('.error').removeClass('error'); + + var email = jQuery('#aktivacija-email').val(); + var geslo = jQuery('#aktivacija-geslo').val(); + var koda = ''; + var jezik = jQuery('#modal-lost-password [name="jezik"]').val(); + + var results = new RegExp('[\?&]code=([^&#]*)').exec(window.location.href); + if (results[1].length > 10) + koda = results[1]; + + if (email.length == 0 || geslo.length == 0 || koda.length == 0) { + jQuery('#error-aktivacija-gesla').show(); + + if (email.length == 0) { + jQuery('#aktivacija-email').addClass('error'); + } + + if (geslo.length == 0) { + jQuery('#aktivacija-geslo').addClass('error'); + } + + return false; + } + + + // V kolikor je vse ok poljemo POST request, da preverimo v bazi + jQuery.post('/frontend/api/api.php?action=reset_password_activate', { + email: email, + pass: geslo, + code: koda, + ajax: true, + lang: jezik + }).done(function (val) { + val = JSON.parse(val); + + jQuery('#error-aktivacija-gesla').removeClass('w-form-fail').removeClass('w-form-done').html('').hide(); + + if (val.type == 'success') { + jQuery('#error-aktivacija-gesla').addClass('w-form-done').html('
' + val.text + '
').show(); + + // Če je bil email uspešno poslal potem okno zapremo po 5 sekundah + setTimeout(function () { + window.location.href = val.action; + }, 5000); + + } else { + + // Napaka, če email ne obstaja v bazi + jQuery('#error-aktivacija-gesla').addClass('w-form-fail').html('
' + val.text + '
').show(); + + } + }); + }); + + //Prijava z ostalimi računi + jQuery('#agreelabel, #cutom-login-agree, .checkbox-agree').on('click', function () { + if (jQuery('#cutom-login-agree').is(':checked')) { + jQuery('#submit-other-login').show(); + } else { + jQuery('#submit-other-login').hide(); + } + }); + + jQuery('.prijava-ostale-nazaj').on('click', function () { + jQuery('#modal-other-login').hide() + jQuery('.rexister-modal').show(); + jQuery('#modal-other-login h3').show(); + }); + + jQuery('.ikona-custom-login').on('click', function () { + var atribut = jQuery(this).attr('data-login'); + + + jQuery('.aai-obvestilo').hide(); + jQuery('#submit-other-login').hide(); + + jQuery('.rexister-modal').hide(); + jQuery('#modal-other-login h3').hide(); + + jQuery('#cutom-login-agree').attr('checked', false); + + // Če obstaja piškotek, potemgumb naprej prikažemo + if (document.cookie.indexOf('remember-me=') > 0) { + jQuery('#cutom-login-agree').attr('checked', true); + jQuery('#submit-other-login').show(); + } + + if (atribut == 'aai') { + jQuery('.aai-obvestilo').show(); + } + + + jQuery('#modal-other-login #login-' + atribut + '-title').show(); + jQuery('#submit-other-login').attr('data-redirect', 'url-' + atribut); + jQuery('#modal-other-login').show(); + }); + + jQuery('#modal-other-login #submit-other-login').on('click', function () { + var ikona = jQuery(this).attr('data-redirect'); + var url = jQuery('[name="' + ikona + '"]').val(); + + //Preverimo, če gre za zapomni se me (remember) + if (jQuery('#custom-login-remember-me').attr('checked')) { + var date = new Date(new Date().setFullYear(new Date().getFullYear() + 1)); + document.cookie = 'remember-me=1; expires=' + date + '; path=/' + } + + document.location.href = url; + }); + /**end prijava z ostalimi računi **/ + + // Če uporabnik ni prijavljen potem moje ankete odprejo možnost za prijavo + if (jQuery('[href*="/admin/survey/index.php?lang="]').length > 0 || jQuery('[data-href*="/admin/survey/index.php?lang="]').length > 0) { + + // preverimo če obstaja piškot, da je uporabnik prijavljen + if (document.cookie.indexOf('unam=') > 0) { + var dataHref = jQuery('[data-href*="/admin/survey/index.php?lang="]'); + + if (dataHref.length > 0) { + dataHref.attr('href', dataHref.attr('data-href')); + + jQuery('#gumb-spletna-uporaba').attr('href', dataHref.attr('data-href')).attr('id', ''); + + dataHref.attr('data-href', ''); + } + + var href = jQuery('[href*="/admin/survey/index.php?lang="]'); + if (href.length > 0 && dataHref.length < 1) { + jQuery('#gumb-spletna-uporaba').attr('href', href.attr('href')).attr('id', ''); + } + + + jQuery('[href*="/admin/survey/index.php?lang="]').removeClass('gumb-spletna-uporaba'); + + } else { + var href = jQuery('[href*="/admin/survey/index.php?lang="]'); + + if (href.length > 0) { + href.attr('data-href', href.attr('href')).attr('href', '#'); + } + + jQuery('[data-href*="/admin/survey/index.php?lang="]').addClass('gumb-spletna-uporaba'); + } + } + + + // Meni za mobilnike + jQuery('.burger').on('click', function () { + + if (jQuery('.nav-container .navulwrap').css('display') == 'block') { + + jQuery('.nav-container .navulwrap').hide(); + jQuery(this).css('border-color', '#979797'); + jQuery('.div-block-13').css('background-color', '#979797'); + jQuery('.logolink').css('z-index', ''); + jQuery('.navwrapinner').css('position', ''); + + } else { + + jQuery('.nav-container .navulwrap').show(); + jQuery('.nav-ul-2').appendTo('.glavni-meni > li.active > a.active').show(); + jQuery(this).css('border-color', 'transparent'); + jQuery('.div-block-13').css('background-color', '#979797'); + jQuery('.logolink').css('z-index', '-9'); + jQuery('.navwrapinner').css('position', 'fixed'); + + } + + // jQuery('ul.nav-ul').show(); + // jQuery('ul.nav-ul').prepend(''); + // if (jQuery('.nav-ul > li.active-trail').length > 0) { + // jQuery('.nav-ul > li.active-trail').append(jQuery('aside.nav-ul-2 .menu-level-2').html()); + // jQuery('.nav-ul > li.active-trail > .menu').addClass('nav-ul-2-mobile'); + // } + }); + jQuery(document).on('click', '#mobile-menu-close', function () { + jQuery('ul.nav-ul').hide(); + jQuery('.nav-ul-2-mobile').remove(); + jQuery(this).remove(); + }); + + + jQuery('.nakup-brez-registracije').on('click', function () { + jQuery('#modal-login').show(); + jQuery('.nakup-prijava').show(); + + var paket = jQuery(this).attr('data-paket'); + + var cas = new Date(); + cas.setMinutes(cas.getMinutes() + 30); + document.cookie = "nakup=1; expires=" + cas + ";path=/"; + document.cookie = "paket=" + paket + "; expires=" + cas + ";path=/"; + }); + + // Naročila + jQuery('.racun-na-podjetje').on('click', function () { + jQuery('.podatki-za-podjetje').toggle(); + + if (jQuery('#racun-na-podjetje').is(':checked')) { + jQuery('.polje-za-podjetje').attr('required', 'required'); + } else { + jQuery('.polje-za-podjetje').removeAttr('required'); + jQuery('.polje-za-podjetje').val(''); + jQuery('#zavezanec-za-ddv').prop('checked', false); + } + }); + + jQuery('#zavezanec-za-ddv, .checkbox-zavezanec-za-ddv, [name="podjetje_drzava"]').on('click', function () { + posodobiCenoPaketa(); + }); + + // V kolikor gre za e-račun + jQuery('[name="podjetje_eracun"]').on('click', function(){ + if(jQuery('[name="podjetje_eracun"]').is(':checked')){ + jQuery('.p-e-racun').show(); + } else { + jQuery('.p-e-racun').hide(); + } + }); + + jQuery('#narocilo-paketa-podatki .naprej').on('click', function (e) { + e.preventDefault(); + + jQuery('.error-field').removeClass('error-field'); + jQuery('.error-color').removeClass('error-color'); + + if (!jQuery('[name="payment_method"]').is(":checked")) { + jQuery('[name="payment_method"]').siblings().addClass('error-field'); + } + + if(!jQuery('[name="trajanje"]').is(":checked")){ + jQuery('[name="trajanje"]').siblings().addClass('error-field'); + } + + // Dodamo opozorilov input polja in tudi sklop obarvamo rdeče + jQuery(':input[required]:visible').each(function () { + if (jQuery(this).val() == '') { + jQuery(this).addClass('error-field'); + } + } + ); + + + jQuery('.error-field') + .parents('.accordion-toggle') + .siblings('.accordion-head') + .find('.accordion-title') + .addClass('error-color'); + + if (jQuery('.error-field').length > 0) { + return ''; + } + + // Pri trajanju je pomembno,da pravilno sklanjamo + var trajanje = jQuery('[name="trajanje"]:checked').val(); + if (trajanje == 12) { + trajanje += ' mesecev'; + } else if (trajanje == 3) { + trajanje += ' mesece'; + } else { + trajanje += ' mesec'; + } + + jQuery('#forma-trajanje').text(trajanje); + + + jQuery('#forma-email').text(jQuery('#f-email').val()); + jQuery('#forma-ime').text(jQuery('#f-ime').val()); + if (jQuery('#f-telefon').val().length > 0) { + jQuery('#forma-telefon').text(jQuery('#f-telefon').val()); + jQuery('#col-forma-telefon').show(); + } + + // Iz forme poberemo pdoatke o podjetju + if (jQuery('#racun-na-podjetje').is(':checked')) { + jQuery('#forma-p-naziv').text(jQuery('[name="podjetje_ime"]').val()); + jQuery('#forma-p-ddv').text(jQuery('[name="podjetje_davcna"]').val()); + jQuery('#forma-d-naslov').text(jQuery('[name="podjetje_naslov"]').val()); + jQuery('#forma-d-postna-st').text(jQuery('[name="podjetje_postna"]').val()); + jQuery('#forma-d-posta-ime').text(jQuery('[name="podjetje_posta"]').val()); + jQuery('#forma-d-drzava').text(jQuery('[name="podjetje_drzava"] :selected').val()); + } + + var placilo = ""; + if (jQuery('[name="lang"]').val() == 'sl') { + + switch (jQuery('[name="payment_method"]:checked').val()) { + case "2": + placilo = "Plačilo preko PayPal računa"; + break; + case "3": + placilo = "Plačilo s kreditno kartico"; + break; + default: + placilo = "Plačilo po predračunu"; + } + + } else { + + switch (jQuery('[name="payment_method"]:checked').val()) { + case "2": + placilo = "Payment via PayPal account"; + break; + case "3": + placilo = "Credit card payment"; + break; + default: + placilo = "Payment by pro forma invoice"; + } + + } + + jQuery('#forma-nacin-placila').text(placilo); + + jQuery('#nakup-1ka').hide(); + jQuery('#predogled-nakupa-1ka').show(); + }); + + // Vremo se en korak prej pri izbiri naročila + jQuery('#nazaj-na-nakup-1ka').on('click', function () { + jQuery('#nakup-1ka').show(); + jQuery('#predogled-nakupa-1ka').hide(); + }); + + // Oddamo naročilo + jQuery('#oddaj-narocilo').on('click', function (e) { + e.preventDefault(); + + oddajNarociloNaStreznik(); + }); + + jQuery('#button-placilo-po-predracunu').on('click', function () { + + jQuery('.vrsta-placila').hide(); + jQuery('.obvestila').html('Obdelujem . . .'); + + + var narocilo = jQuery('#izbria-nacina-placila-1ka [name="narocilo_id"]').val(); + }); + + //Pri menjavi placila prikazemo ustrezno polje + jQuery('[name="payment_method"]').on('change', function () { + //Plačilo preko Stripa + preverimoZaVrstoPlacila(); + }); + + // Uspešno oddan predračun ali plačilo preko spleta + if (jQuery('.narocilo-1ka-pdf').length > 0) { + if (document.cookie.indexOf('pdf=') < 1) { + return window.location.href = '/'; + } + + var piskotek = ";" + document.cookie; + + if (piskotek.indexOf("; pdf=") > 0) { + + // Pobrišemo vse nastavljene piškotke povezane z nakupom + document.cookie = "pdf=1;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/"; + document.cookie = "vrsta_placila=0;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/"; + document.cookie = "brezplacen_preklop=0;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/"; + + } + } + + if ( + (window.location.pathname.indexOf('/narocilo/paypal-cancel') > -1 && location.search.split('narocilo_id=').length > 1) || + (window.location.pathname.indexOf('/paypal-purchase/cancel') > -1 && location.search.split('narocilo_id=').length > 1) + ) { + var parametri = window.location.search.substr(1); + + jQuery.post('/frontend/payments/api.php?action=cancel_narocilo_paypal', parametri).done(function (val) { + val = JSON.parse(val); + + if (val.error) { + return jQuery('.procesiram-narocilo').text(val.error); + } + + }); + } + + if ( + (window.location.href.indexOf('/narocilo/paypal?narocilo_id') > -1 && location.search.split('narocilo_id=').length > 1) || + (window.location.href.indexOf('/paypal-purchase/success?narocilo_id') > -1 && location.search.split('narocilo_id=').length > 1) + ){ + var parametri = window.location.search.substr(1); + + jQuery.post('/frontend/payments/api.php?action=capture_narocilo_paypal', parametri).done(function (val) { + val = JSON.parse(val); + + if (val.error) { + return jQuery('.procesiram-narocilo').text(val.error); + } + + }); + } + + // jQuery('.accordion-head').on('click', function(){ + // var st = jQuery(this).attr("data-open"); + // + // jQuery('.data-'+st).toggle(); + // }); + + //Odpiranje funkcionalnosti pri paketih + jQuery('.accordion-head').on('click', function () { + jQuery(this).toggleClass('active'); + jQuery(this).siblings().toggleClass('active').removeStyle(); + }); + + jQuery('.razpri-zapri-vse').on('click', function () { + jQuery(this).toggleClass('active'); + + if (jQuery(this).hasClass('active')) { + jQuery('.accordion-head').addClass('active'); + jQuery('.accordion-head').siblings().addClass('active'); + } else { + jQuery('.accordion-head').removeClass('active'); + jQuery('.accordion-head').siblings().removeClass('active'); + } + }); + + // PRidobimo pakete + if (window.location.pathname.indexOf('zasebni-paketi') > -1 || window.location.pathname.indexOf('private-packages') > -1) { + jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) { + val = JSON.parse(val); + + jQuery('[data-price="2"]').text(val.paketi[2].price[12].monthly); + jQuery('[data-price="3"]').text(val.paketi[3].price[12].monthly); + }); + } + + + if (window.location.pathname.indexOf('izvedi-nakup') > -1 || window.location.pathname.indexOf('/purchase/') > -1) { + // Če uporabnik ni prijavljen + if (document.cookie.indexOf('unam=') < 1) { + return window.location.href = '/'; + } + + //Nastavimo prevzeto plačevanje s karticam + jQuery('[name="payment_method"][value="3"]').prop('checked', true); + preverimoZaVrstoPlacila(); + + posodobiCenoPaketa(); + } + + jQuery('#nakup-1ka .izbira').on('change', function () { + posodobiCenoPaketa(); + }); + + jQuery('#nakup-1ka #polje-drzava').on('change', function(){ + if(jQuery(this).val() == 'Slovenija' || jQuery(this).val() == 'Slovenia'){ + jQuery('#nakup-1ka #polje-podjetje-eracun').show(); + } else { + jQuery('#nakup-1ka #polje-podjetje-eracun').hide(); + jQuery('[name="podjetje_eracun"]').prop('checked', false); + } + }); + + jQuery('[name="podjetje_davcna"]').keyup(function () { + var davcna = jQuery('[name="podjetje_davcna"]').val().replace(/\D/g, ''); // samo številke + + // if(davcna.length == 8) { + // $("#obvestilceDavcna").val("Iščemo ime podjetja s to davčno številko ..."); + // $.ajax({ + // url: "https://www.go-tel.si/tecaji/poizvedba.php", + // type: "post", + // data: { + // davcna:davcna + // }, + // headers: { + // "accept": "application/json", + // "Access-Control-Allow-Origin":"*" + // }, + // success: function(response) { + // if(response!=undefined) { + // var rez=JSON.parse(response); + // return console.log(rez); + // + // // if(rez!=undefined) { + // // if(rez.naziv) { + // // $("#firma_naziv").val(rez.naziv); + // // $("#firma_naslov").val(rez.naslov); + // // $("#firma_postna").val(rez.posta); + // // $("#firma_posta").val(rez.kraj); + // // } + // // else + // // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno."); + // // } + // // else + // // $("#obvestilceDavcna").html("V bazi ne najdemo podjetja s to davčno številko ... Podatke vnesite ročno."); + // } + // }, + // error: function() { + // // pocistiPolja(); + // } + // }); + // } + }); + + /* + * Posredujemo podatke za poslovne uporabnike + */ + jQuery('#narocilo-poslovni-uporabniki .submit-btn').on('click', function (e) { + e.preventDefault(); + + + jQuery('.error-field').removeClass('error-field'); + jQuery('.error-color').removeClass('error-color'); + + if (!jQuery('[name="vrsta_domene"]').is(":checked")) { + jQuery('[name="vrsta_domene"]').siblings('span').addClass('error-color'); + } + + if (!jQuery('#strinjanje_s_pogoji').is(":checked")) { + jQuery('#strinjanje_s_pogoji').siblings('span').addClass('error-color'); + } + + // Dodamo opozorilov input polja in tudi sklop obarvamo rdeče + jQuery(':input[required]:visible').each(function () { + if (jQuery(this).val() == '') { + jQuery(this).addClass('error-field'); + } + } + ); + + if (jQuery('.error-field, .error-color').length > 0) { + return ''; + } + + //Onemogočimo dvojno pošiljanje + var pocakaj = jQuery(this).attr('data-wait'); + jQuery(this).val(pocakaj).attr('disabled', 'disabled'); + + + var podatki = jQuery('#narocilo-poslovni-uporabniki').serialize(); + + + jQuery.post('/frontend/payments/api.php?action=send_poslovni_uporabniki', podatki).done(function (val) { + val = JSON.parse(val); + + if (val.success) { + jQuery('#narocilo-poslovni-uporabniki').hide(); + jQuery('#nakup-1ka-poslovni-uporabniki .uspesno-oddano-narocilo').show(); + jQuery('.vsebina h1').text('Uspešno oddano naročilo'); + } + }); + + }); + + jQuery(window).scroll(function () { + var scroll = jQuery('.nav-container').offset().top; + + if (scroll > 50) { + jQuery('.nav-container').addClass('nav-sticky'); + } else { + jQuery('.nav-container').removeClass('nav-sticky'); + } + }); + + // BREADCRUM ZAMENJAMO ZNAK + jQuery('.breadcrumb__separator').text(''); + + + // //Mnenje uporabnikom - dodamo manjkajoč DIV + jQuery('.slidearrow-mnenja.w-slider-arrow-right').on('click', function () { + // var width = jQuery('.w-slider-mask').width(); + // var dataWidth = jQuery('.slide-mnenje').attr('data-width') || 0; + // + // var sumWidth = -width + +dataWidth; + // if((jQuery('.slide-mnenje').length/2 - 1)*width == -dataWidth){ + // sumWidth = 0; + // } + // + // jQuery('.slide-mnenje').css({ transform: "translateX("+sumWidth+"px)", opacity: 1, transition: "transform 500ms ease 0s" }); + // jQuery('.slide-mnenje').attr('data-width', sumWidth); + + jQuery.each(jQuery('[data-show]'), function (i, val) { + var st = jQuery(this).attr('data-show'); + jQuery(this).removeAttr('data-show').hide(); + + st = +st + 1; + + if (st > 9) { + jQuery('.slide-mnenje').eq(0).attr('data-show', 1).show(); + jQuery('.slide-mnenje').eq(1).attr('data-show', 2).show(); + } else { + jQuery('.slide-mnenje').eq(st).attr('data-show', st + 1).show(); + } + }); + + }); + + jQuery('.slidearrow-mnenja.w-slider-arrow-left').on('click', function () { + // var width = jQuery('.w-slider-mask').width(); + // var dataWidth = jQuery('.slide-mnenje').attr('data-width') || 0; + // + // var sumWidth = +dataWidth + +width; + // if(dataWidth == 0){ + // sumWidth = - (jQuery('.slide-mnenje').length/2 - 1) * width; + // } + // + // jQuery('.slide-mnenje').css({ transform: "translateX("+sumWidth+"px)", opacity: 1, transition: "transform 500ms ease 0s" }); + // jQuery('.slide-mnenje').attr('data-width', sumWidth); + + jQuery.each(jQuery('[data-show]'), function (i, val) { + var st = jQuery(this).attr('data-show'); + jQuery(this).removeAttr('data-show').hide(); + + st = +st - 2; + + if (st < 1) { + jQuery('.slide-mnenje').eq(8).attr('data-show', 9).show(); + jQuery('.slide-mnenje').eq(9).attr('data-show', 10).show(); + } else { + jQuery('.slide-mnenje').eq(st - 1).attr('data-show', st).show(); + } + }) + }); + + // Prikaz novic + if (jQuery('.submitted span').attr('content')) { + var letoNovice = (new Date(jQuery('.submitted span').attr('content'))).getFullYear(); + + jQuery('.breadcrumb a[href="/d/en/news"]').text('News'); + jQuery('.breadcrumb a[href="/d/en/news/' + letoNovice + '"]').text(letoNovice); + + jQuery('.breadcrumb a[href="/d/sl/novice"]').text('Novice'); + jQuery('.breadcrumb a[href="/d/sl/novice/' + letoNovice + '"]').text(letoNovice); + } + + }); + } + + + }; + +})(jQuery, Drupal, this, this.document); + +function CheckEmail(text) { + jQuery('#modal-registration .w-form-fail').html('').hide(); + jQuery('.w-input').removeClass('error'); + + var text = text || 'Prosimo, popravite email'; + var Email = jQuery('#register-form [name="email"]').val(); + + if (Email.length > 1 && (Email.search('@') == -1 || Email.indexOf('.') == -1)) { + jQuery('#modal-registration .w-form-fail').html('
' + text + '
').show(); + jQuery('#modal-registration [type="email"]').addClass('error'); + + + return false; + } + + return true; +} + +function InsertName() { + var Email = jQuery('#register-form [name="email"]').val(); + var lokacija = Email.search('@'); + + if (Email.search('@') == -1) { + lokacija = Email.length; + } + + var Ime = Email.substring(0, lokacija); + if (jQuery('#register-form [name="ime"]').val().length < 2) { + jQuery('#register-form [name="ime"]').val(Ime); + } +} + +function CheckEmailTypo(text) { + var email = jQuery('#register-form [name="email"]').val(); + var domains = ['gmail.com', 'hotmail.com', 'guest.arnes.si', 'siol.net']; + + var splitEmail = email.split('@'); + + for (var i = 0; i < domains.length; i++) { + var domain = domains[i]; + + if (preveriZaTipkarskoNapakoVemailu(splitEmail[1], domain)) { + jQuery('#modal-registration .w-form-fail').html('
' + text + ' @' + domain + '?
').show(); + return jQuery('#modal-registration [type="email"]').addClass('error'); + } + } + + return ''; +} + + +function preveriZaTipkarskoNapakoVemailu(uporabnikovaDomena, domena) { + // Domeni se ujemata + if (uporabnikovaDomena && domena && uporabnikovaDomena.includes(domena)) + return false; + + //Preverimo če vsebuje dve piki ali vejico + if (new RegExp('(\\.{2})|(\,)').test(uporabnikovaDomena) && uporabnikovaDomena.substring(0, 3) == domena.substring(0, 3)) { + return true; + } + + // domeno razbijemo, da preverimo napake za posamezne črke gm|ail + for (var i = 1; i < domena.length; i++) { + var prviDel = domena.substring(0, i); + var preostenekBesede = domena.substring(i); + + + // preverimo, če so črke napačne + if (new RegExp(prviDel + '.' + preostenekBesede.substring(1)).test(uporabnikovaDomena)) { + return true; + } + + // preverimo, če je dodana črka preveč + if (new RegExp(prviDel + '.' + preostenekBesede).test(uporabnikovaDomena)) { + return true; + } + + // majkajoča črka + if (preostenekBesede !== 'mail' && new RegExp('(' + prviDel + '{0}' + preostenekBesede + ')|(' + domena + '{0})').test(uporabnikovaDomena)) { + return true; + } + + if (domena == 'gmail.com' && new RegExp('gmail.si|gmail.net').test(uporabnikovaDomena) || + domena == 'guest.arnes.si' && new RegExp('arnes.si').test(uporabnikovaDomena) || + domena == 'siol.net' && new RegExp('siol.com').test(uporabnikovaDomena)) { + return true; + } + + if (domena == 'hotmail.com' && new RegExp('hotmail.si').test(uporabnikovaDomena)) { + return true; + } + + // test for switched letters + var switchedLetters = [ + domena.substring(0, i - 1), + domena.charAt(i), + domena.charAt(i - 1), + domena.substring(i + 1) + ].join(''); + + if (uporabnikovaDomena.includes(switchedLetters)) { + return true; + } + } + + return false; +} + +//Fro APP install banner +window.addEventListener('beforeinstallprompt', function (e) { + var piskotek = "; " + document.cookie + ";"; + //if cookies are not accepted, dont show install banner (because install banner covers cookie banner) + if (piskotek.split("; cookie-agreed=2").length != 2) { + e.preventDefault(); + } +}); + +function oddajNarociloNaStreznik() { + jQuery('.pregled-narocila').hide(); + jQuery('.procesiram-narocilo').show(); + + // V kolikor je omenjeno polje izpolnjeno potem gre za robota in preusmerimo na začetno stran + if (jQuery('[name="narocilo-robotsko-narocilo"]').val().length > 0) { + return window.location = '/'; + } + + var podatki = jQuery('form#narocilo-paketa-podatki').serialize(); + + + jQuery.post('/frontend/payments/api.php?action=create_narocilo', podatki).done(function (val) { + val = JSON.parse(val); + + if (val.error) { + jQuery('.procesiram-narocilo').text(val.error).css('color', 'red'); + + return setTimeout(function(){ + jQuery('.pregled-narocila').show(); + if(jQuery('[name="payment_method"]:checked').val() == 3){ + jQuery('#oddaj-stripe').show(); + } else { + jQuery('#oddaj-narocilo').show(); + } + jQuery('.submit-btn.naprej').show(); + jQuery('#nazaj-na-nakup-1ka').show(); + jQuery('.procesiram-narocilo').hide(); + jQuery('.procesiram-narocilo').text('Poteka obdelava').css('color', 'black'); + }, 3000); + } + + var cas = new Date(); + cas.setMinutes(cas.getMinutes() + 30); + + document.cookie = "vrsta_placila=" + jQuery('[name="payment_method"]:checked').val() + ";expires=" + cas + ";path=/"; + + if(val.success) { + var paymentMethod = jQuery('[name="payment_method"]:checked').val(); + var paymentLang = jQuery('#narocilo-paketa-podatki [name="lang"]').val(); + var urlRedirect = '/'; + + if (paymentMethod == 1) { + document.cookie = "pdf=" + val.payment_link + ";expires=" + cas + ";path=/"; + + // Glede na jezik preusmerimo na slovensko oz. angleško verzijo + var urlRedirect = "/d/narocilo-pregled/predracun/pdf"; + if (paymentLang == 'en') { + urlRedirect = "/d/en/purchase/payment-details/pdf"; + } + + } else if (paymentMethod == 2) { + + urlRedirect = val.paypal_link; + + } else if (paymentMethod > 1) { + document.cookie = "pdf=" + val.racun + ";expires=" + cas + ";path=/"; + + // Glede na jezik preusmerimo na slovensko oz. angleško verzijo + var urlRedirect = "/d/narocilo-pregled/racun/pdf"; + if (paymentLang == 'en') { + urlRedirect = "/d/en/purchase/invoice/pdf"; + } + } + + window.location = urlRedirect; + } + + + }); +} + +function preverimoZaVrstoPlacila() { + + if (jQuery('[name="payment_method"]:checked').val() == 3) { + + jQuery('.placilo-kartica').show(); + jQuery('#oddaj-stripe').show(); + jQuery('#oddaj-narocilo').hide(); + + } else { + + jQuery('.placilo-kartica').hide(); + jQuery('#oddaj-stripe').hide(); + jQuery('#oddaj-narocilo').show(); + + } +} + +function posodobiCenoPaketa() { + var paket = jQuery('[name="package_id"]:checked').val(); + var trajanje = jQuery('[name="trajanje"]:checked').val(); + + + jQuery.post('/frontend/payments/api.php?action=get_paketi').done(function (val) { + val = JSON.parse(val); + + var cenaIzpisGledeNaDDV = ''; + jQuery('.cena-z-ddv-text').show(); + jQuery('.zavezanec-za-ddv').hide(); + if (jQuery('#zavezanec-za-ddv').is(':checked') && jQuery('#racun-na-podjetje').is(':checked') && jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenija' && jQuery('[name="podjetje_drzava"] :selected').val() != 'Slovenia') { + cenaIzpisGledeNaDDV = '_without_tax'; + jQuery('.cena-z-ddv-text').hide(); + jQuery('.zavezanec-za-ddv').show(); + } + + if(val.paketi[paket] && trajanje > 0) { + jQuery('#nakup-1ka .ime-paketa, #predogled-nakupa-1ka .ime-paketa').text(val.paketi[paket].name); + jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(val.paketi[paket].price[trajanje]['final' + cenaIzpisGledeNaDDV]); + } + + jQuery('#cena-trajanje1m').text(val.paketi[paket].price[1]['monthly' + cenaIzpisGledeNaDDV]); + jQuery('#cena-trajanje3m').text(val.paketi[paket].price[3]['monthly' + cenaIzpisGledeNaDDV]); + jQuery('#cena-trajanje12m').text(val.paketi[paket].price[12]['monthly' + cenaIzpisGledeNaDDV]); + + + // Preverimo, če ima kak popust od prej + jQuery('.podatki-za-placilo-racuna').show(); + + jQuery.post('/frontend/payments/api.php?action=get_active_subscription', { + 'package_id': paket, + 'trajanje': trajanje, + 'email': jQuery('#narocilo-paketa-podatki #f-email').val(), + }).done(function (response) { + response = JSON.parse(response); + + jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').hide(); + + // V kolikor se cena s popustom razlikuje od privzete cene, potem prikažemo še končno ceno s popustom + if (response['final'] !== response['full']) { + jQuery('#nakup-1ka .cena-brez-popusta, #predogled-nakupa-1ka .cena-brez-popusta').text(response['full' + cenaIzpisGledeNaDDV]); + jQuery('#nakup-1ka .cena-brez-popusta-sklop, #predogled-nakupa-1ka .cena-brez-popusta-sklop').show(); + + jQuery('#nakup-1ka .cena-paketa, #predogled-nakupa-1ka .cena-paketa').text(response['final' + cenaIzpisGledeNaDDV]); + + // Če je cena s popustom 0 potem onemogočimo izbiro plačila + if (response['final'] == 0) { + jQuery('.podatki-za-placilo-racuna').hide(); + jQuery('[name="payment_method"][value="1"]').prop('checked', true); + preverimoZaVrstoPlacila(); + } + } + }); + }); +} + +function lang() { + return jQuery('[name="lang"]').val(); +} + +//Stripe payment +function cardValidation() { + var valid = true; + + jQuery('.error-field').removeClass('error-field'); + + var name = jQuery('.placilo-kartica #stripe-name'); + var email = jQuery('#narocilo-paketa-podatki [name="email"]'); + var cardNumber = jQuery('.placilo-kartica #stripe-card-number'); + var month = jQuery('.placilo-kartica #stripe-month'); + var year = jQuery('.placilo-kartica #stripe-year'); + var cvc = jQuery('.placilo-kartica #stripe-cvc'); + + jQuery("#stripe-error-message").html("").hide(); + + if (name.val().trim() == "") { + name.addClass('error-field'); + valid = false; + } + if (email.val().trim() == "") { + valid = false; + } + + if (cardNumber.val().trim() == "") { + cardNumber.addClass('error-field'); + valid = false; + } + + if (month.val().trim() == "") { + month.addClass('error-field'); + valid = false; + } + if (year.val().trim() == "") { + year.addClass('error-field'); + valid = false; + } + if (cvc.val().trim() == "") { + cvc.addClass('error-field'); + valid = false; + } + + if (valid == false) { + var opozorilo = "Vsa polja so obvezna!"; + if (lang() == 'en') { + opozorilo = "All Fields are required!"; + } + jQuery("#stripe-error-message").html(opozorilo).show(); + } + + return valid; +} + + +function stripePay(e) { + e.preventDefault(); + + // V kolikor je omenjeno polje izpolnjeno potem gre za robota in preusmerimo na začetno stran + if (jQuery('[name="stripe-robotsko-narocilo"]').val().length > 0) { + return window.location = '/'; + } + + var valid = cardValidation(); + + if (valid == true) { + jQuery(".submit-btn").hide(); + jQuery("#nazaj-na-nakup-1ka").hide(); + // jQuery( "#loader" ).css("display", "inline-block"); + + Stripe.setPublishableKey(jQuery('.placilo-kartica #stripe-token').val()); + + Stripe.createToken({ + number: jQuery('.placilo-kartica #stripe-card-number').val(), + cvc: jQuery('.placilo-kartica #stripe-cvc').val(), + exp_month: jQuery('.placilo-kartica #stripe-month').val(), + exp_year: jQuery('.placilo-kartica #stripe-year').val() + }, stripeResponseHandler); + + //submit from callback + return false; + } +} + +//callback to handle the response from stripe +function stripeResponseHandler(status, response) { + if (response.error) { + //enable the submit button + jQuery('#oddaj-stripe').show(); + + jQuery("#loader").css("display", "none"); + + //display the errors on the form + jQuery("#stripe-error-message").html(response.error.message).show(); + } else { + //get token id + var token = response['id']; + + //insert the token into the form + jQuery('#narocilo-paketa-podatki').append(""); + + //submit form to the server + oddajNarociloNaStreznik(); + } +} diff --git a/frontend/payments/classes/class.ApiNarocilaController.php b/frontend/payments/classes/class.ApiNarocilaController.php index b5a7bcc02..43f803a6b 100644 --- a/frontend/payments/classes/class.ApiNarocilaController.php +++ b/frontend/payments/classes/class.ApiNarocilaController.php @@ -24,11 +24,11 @@ class ApiNarocilaController{ // Preverimo, ce je klic ok (token) - //if($this->checkToken()){ + if($this->checkToken()){ // Izvedemo akcijo $this->executeAction(); - //} + } // Logiramo response klica @@ -75,7 +75,6 @@ class ApiNarocilaController{ } private function checkToken(){ - $raw_post_data = ''; if($this->method == 'POST' && $this->data){ @@ -83,16 +82,19 @@ class ApiNarocilaController{ } // Dobimo request (brez id in token) - $request = ($_SERVER["HTTPS"] == 'on') ? 'https://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] : 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; + $request_url = ($_SERVER["HTTPS"] == 'on') ? 'https://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] : 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; + if(!isset($_SERVER['HTTP_IDENTIFIER'])) - $request = preg_replace('/([?&])identifier=[^&]+(&|$)/', '$1', $request); + $request_url = preg_replace('/([?&])identifier=[^&]+(&|$)/', '$1', $request_url); + if(!isset($_SERVER['HTTP_TOKEN'])) - $request = preg_replace('/([?&])token=[^&]+(&|$)/', '$1', $request); + $request_url = preg_replace('/([?&])token=[^&]+(&|$)/', '$1', $request_url); + if(!isset($_SERVER['HTTP_TOKEN']) || !isset($_SERVER['HTTP_IDENTIFIER'])) - $request = substr($request, 0, -1); + $request_url = substr($request_url, 0, -1); // Na nasi strani naredimo hmac podatkov z ustreznim private key-em - $data = $this->method . $request . $raw_post_data; + $data = $this->method . $request_url . $raw_post_data; $token = hash_hmac('sha256', $data, $this->private_key); if($this->params['token'] == $token)