PageSourceSearch

https://www.phoenixmedia.ro/phx/wp-content/themes/ohio-child/js/login-custom.js

js phoenixmedia.ro collected 2026-10-08 19:11:29 UTC 17,198 bytes, 420 lines download raw bytes

1
2jQuery(document).ready(function($) {
3    function handleLoginSuccess(container, responsename, urlSetNume, cookieInfo) {
4        container.find('.login-ok-name').html("" + responsename['me']['nume']);
5        container.find('.loadingsearchmain').hide();
6        container.find('.menu-search-cl').show();
7        container.find('.logout').addClass('logout-active');
8        $('.header-notification').show();
9        container.find('.menu-classified h2').html(
10            '<a href="https://clienti.phoenixmedia.ro/STOC6.0/" target="_blank">STOC Plus</a> &nbsp;  &nbsp; <a href="https://clienti.phoenixmedia.ro/csm/index.php?v=3.2" target="_blank">CSM</a>'
11        );
12        if (!container.find('.account-showroom-logo').length) {
13            $('<a href="https://clienti.phoenixmedia.ro/SHOWROOM/" target="_blank" class="account-showroom-logo"><img class="dndark" src="https://www.phoenixmedia.ro/phx/wp-content/uploads/2025/08/Group-3-3.svg" alt="SHOWROOM"/><img class="dbdark" src="https://www.phoenixmedia.ro/phx/wp-content/uploads/2025/08/Group-3-5.svg" alt="SHOWROOM"/></a>')
14                .insertAfter(container.find('.menu-classified h2'));
15        }
16
17        $.ajax({
18            url: urlSetNume + "src/_storeNume.php",
19            type: "post",
20            crossDomain: true,
21            dataType: 'json',
22            data: { n: responsename['me']['nume'], e: responsename['entity_db'] },
23            xhrFields: { withCredentials: true }
24        });
25
26        $('#login-ok-name').html(responsename['me']['nume']);
27        $('#loginNameAjax').val(responsename['me']['nume']);
28        $('#logout').show();
29
30        $.ajax({
31            url: urlSetNume + "src/_storeOffersNat.php",
32            type: "post",
33            data: { k: cookieInfo }
34        });
35    }
36    // footerlogin login
37    $(".footerlogin .login-step1-button").click(function () {
38        var email = $(".footerlogin .login-email").val();
39        if (email.length > 0) {
40            $('.footerlogin .login-step-1').hide("fast");
41            $('.footerlogin .login-step-2').fadeIn();
42            $(".footerlogin .login-email").css("border", "1px solid #A3A7B0");
43        } else {
44            $(".footerlogin .login-email").val("");
45            $(".footerlogin .login-email").attr("placeholder", "ClientID not accepted");
46            $(".footerlogin .login-email").css("border", "1px solid red");
47        }
48    });
49
50    $(".footerlogin .login-step2-button").click(function () {
51        var pas = $(".footerlogin .login-password").val();
52        var email = $(".footerlogin .login-email").val();
53        $('.footerlogin .menu-search-cl').hide();
54
55        if (pas.length > 0 && email.length > 0) {
56            request = $.ajax({
57                url: "https://clienti.phoenixmedia.ro/stormers-auth.php?wsl=1",
58                type: "post",
59                crossDomain: true,
60                dataType: 'json',
61                //async: true,
62                data: {"u": email, "p": pas},
63                xhrFields: {withCredentials: true}
64            });
65            request.done(function (response, textStatus, jqXHR) {
66                if (response['auth'] == "ok") {
67                    $('.footerlogin .loadingsearchmain').show();
68                    $('.footerlogin .login-step-1').hide();
69                    $('.footerlogin .login-step-2').hide();
70                    $('.footerlogin .login-ok').show();
71                    $('.footerlogin .login-err').hide();
72
73                    getName = $.ajax({
74                        url: "https://api.phoenixmedia.ro/v1/csm/",
75                        type: "get",
76                        crossDomain: true,
77                        dataType: 'jsonp',
78                        xhrFields: {withCredentials: true}
79                    });
80
81                    getName.done(function (responsename, textStatus, jqXHR) {
82                        var urlSetNume = $('.customAjaxCall').val();
83                        var cookieInfo = getCookie('SSOsess');
84                        // handleLoginSuccess($('.footerlogin'), responsename, urlSetNume, cookieInfo);
85                        handleLoginSuccess($('.overlaylogin'), responsename, urlSetNume, cookieInfo);
86                    });
87
88                    if (typeof response['redirect'] != "undefined") {
89                        location.href = response['redirect'];
90                    }
91                } else {
92                    $('.footerlogin .login-step-1').hide();
93                    $('.footerlogin .login-step-2').hide();
94                    $('.footerlogin .login-ok').hide();
95                    $('.footerlogin .login-err').show();
96                    logoutSSO();
97                }
98            });
99        }
100    });
101
102    $('.footerlogin .login-err-tryagain').click(function () {
103        $('.footerlogin .login-step-1').show();
104        $('.footerlogin .login-step-2').hide();
105        $('.footerlogin .login-ok').hide();
106        $('.footerlogin .login-err').hide();
107    });
108
109    /**************** notification settings *********************************/
110    $('body').on("click",".footerlogin .btn-settings-n", function (){
111        $('.footerlogin .loadingsearchmain').show();
112        $.ajax({
113            url: $('#ajaxabsoluturl').val() + 'src/notification_settings.php',
114            method: "POST",
115            data: {
116                'k': '1',
117                'lang': 'ro',
118                'n': $('.footerlogin .login-ok-name').text()
119            },
120            success: function (dat) {
121                $('.footerlogin .loadingsearchmain').hide();
122                $('.footerlogin .notification-modal').html(dat).css('display', 'flex');
123            }
124        });
125    });
126
127    $("body").on("click",".footerlogin .close-btn-modal, .footerlogin .transparent-bk", function(){
128        $('.footerlogin .notification-modal').css('display', 'none');
129    });
130
131    $('body').on('change', '.footerlogin .slider-checkbox input[type="checkbox"]', function() {
132        if (parseInt($(this).val()) === 2) {
133            $(this).removeClass('checked').addClass('unchecked').val('1');
134        } else {
135            $(this).removeClass('unchecked').addClass('checked').val('2');
136        }
137    });
138
139    $("body").on("input change",".footerlogin .slideran", function (){
140        let valoareSelectata = parseInt($(this).val());
141        let dataValues = $(this).data('values');
142        let valori = dataValues.split(',');
143        let valoareText = valori[valoareSelectata - 1];
144        $(this).prev('.labelrange').text(valoareText);
145    });
146
147    $("body").on("click",".footerlogin .close-btn-modal, .footerlogin .transparent-bk", function(){
148        var notificationData = [];
149        $('.footerlogin .box-input').each(function() {
150            var item = {};
151            item.id = $(this).data('id');
152            item.type = $(this).hasClass('slider-range-wrp') ? 'slider' : 'checkbox';
153            if (item.type === 'checkbox') {
154                item.defaultKey = $(this).find('input[type="checkbox"]').val();
155            } else if (item.type === 'slider') {
156                item.defaultKey = $(this).find('input[type="range"]').val();
157            }
158            notificationData.push(item);
159        });
160        var jsonData = JSON.stringify(notificationData);
161        $.ajax({
162            url: $('#ajaxabsoluturl').val() + 'src/notification_settings.php',
163            method: "POST",
164            data: {
165                'store': '1',
166                'j': jsonData
167            }
168        });
169    });
170    /**************** notification settings *********************************/
171
172    $('#logout').click(function(){
173        logoutSSO();
174        $('#loginNameAjax').val('');
175        location.reload();
176    });
177
178    // overlaylogin login
179    $(".overlaylogin .login-step1-button").click(function () {
180        console.log('overlay');
181        var email = $(".overlaylogin .login-email").val();
182        if (email.length > 0) {
183            $('.overlaylogin .login-step-1').hide("fast");
184            $('.overlaylogin .login-step-2').fadeIn();
185            $(".overlaylogin .login-email").css("border", "1px solid #A3A7B0");
186        } else {
187            $(".overlaylogin .login-email").val("");
188            $(".overlaylogin .login-email").attr("placeholder", "ClientID not accepted");
189            $(".overlaylogin .login-email").css("border", "1px solid red");
190        }
191    });
192
193    $(".overlaylogin .login-step2-button").click(function () {
194        var pas = $(".overlaylogin .login-password").val();
195        var email = $(".overlaylogin .login-email").val();
196        $('.overlaylogin .menu-search-cl').hide();
197
198        if (pas.length > 0 && email.length > 0) {
199            request = $.ajax({
200                url: "https://clienti.phoenixmedia.ro/stormers-auth.php?wsl=1",
201                type: "post",
202                crossDomain: true,
203                dataType: 'json',
204                //async: true,
205                data: {"u": email, "p": pas},
206                xhrFields: {withCredentials: true}
207            });
208            request.done(function (response, textStatus, jqXHR) {
209                if (response['auth'] == "ok") {
210                    $('.overlaylogin .loadingsearchmain').show();
211                    $('.overlaylogin .login-step-1').hide();
212                    $('.overlaylogin .login-step-2').hide();
213                    $('.overlaylogin .login-ok').show();
214                    $('.overlaylogin .login-err').hide();
215
216                    getName = $.ajax({
217                        url: "https://api.phoenixmedia.ro/v1/csm/",
218                        type: "get",
219                        crossDomain: true,
220                        dataType: 'jsonp',
221                        xhrFields: {withCredentials: true}
222                    });
223
224                    getName.done(function (responsename, textStatus, jqXHR) {
225                        var urlSetNume = $('.customAjaxCall').val();
226                        var cookieInfo = getCookie('SSOsess');
227                        // handleLoginSuccess($('.footerlogin'), responsename, urlSetNume, cookieInfo);
228                        handleLoginSuccess($('.overlaylogin'), responsename, urlSetNume, cookieInfo);
229                    });
230
231                    if (typeof response['redirect'] != "undefined") {
232                        location.href = response['redirect'];
233                    }
234                } else {
235                    $('.overlaylogin .login-step-1').hide();
236                    $('.overlaylogin .login-step-2').hide();
237                    $('.overlaylogin .login-ok').hide();
238                    $('.overlaylogin .login-err').show();
239                    logoutSSO();
240                }
241            });
242        }
243    });
244
245    $('.overlaylogin .login-err-tryagain').click(function () {
246        $('.overlaylogin .login-step-1').show();
247        $('.overlaylogin .login-step-2').hide();
248        $('.overlaylogin .login-ok').hide();
249        $('.overlaylogin .login-err').hide();
250    });
251
252    /**************** notification settings *********************************/
253    $('body').on("click",".btn-settings-n", function (){
254        $('.overlaylogin .loadingsearchmain').show();
255        $.ajax({
256            url: $('#ajaxabsoluturl').val() + 'src/notification_settings.php',
257            method: "POST",
258            data: {
259                'k': '1',
260                'lang': 'ro',
261                'n': $('#login-ok-name').text()
262            },
263            success: function (dat) {
264                $('.overlaylogin .loadingsearchmain').hide();
265                $('.overlaylogin .notification-modal').html(dat).css('display', 'flex');
266            }
267        });
268    });
269
270    $("body").on("click",".overlaylogin .close-btn-modal, .overlaylogin .transparent-bk", function(){
271        $('.overlaylogin .notification-modal').css('display', 'none');
272    });
273
274    $('body').on('change', '.overlaylogin .slider-checkbox input[type="checkbox"]', function() {
275        if (parseInt($(this).val()) === 2) {
276            $(this).removeClass('checked').addClass('unchecked').val('1');
277        } else {
278            $(this).removeClass('unchecked').addClass('checked').val('2');
279        }
280    });
281
282    $("body").on("input change",".overlaylogin .slideran", function (){
283        let valoareSelectata = parseInt($(this).val());
284        let dataValues = $(this).data('values');
285        let valori = dataValues.split(',');
286        let valoareText = valori[valoareSelectata - 1];
287        $(this).prev('.labelrange').text(valoareText);
288    });
289
290    $("body").on("click",".overlaylogin .close-btn-modal, .overlaylogin .transparent-bk", function(){
291        var notificationData = [];
292        $('.overlaylogin .box-input').each(function() {
293            var item = {};
294            item.id = $(this).data('id');
295            item.type = $(this).hasClass('slider-range-wrp') ? 'slider' : 'checkbox';
296            if (item.type === 'checkbox') {
297                item.defaultKey = $(this).find('input[type="checkbox"]').val();
298            } else if (item.type === 'slider') {
299                item.defaultKey = $(this).find('input[type="range"]').val();
300            }
301            notificationData.push(item);
302        });
303        var jsonData = JSON.stringify(notificationData);
304        $.ajax({
305            url: $('#ajaxabsoluturl').val() + 'src/notification_settings.php',
306            method: "POST",
307            data: {
308                'store': '1',
309                'j': jsonData
310            }
311        });
312    });
313    /**************** notification settings *********************************/
314
315    var typingTimer;
316    const doneTypingInterval = 500;
317
318    $('.menu-search-cl').keyup(function() {
319        var elementSearch = $(this);
320        clearTimeout(typingTimer);
321        typingTimer = setTimeout(function () {
322            if(elementSearch.val().length >= 2) {
323                performSearch(elementSearch);
324            } else {
325                $('.search-content-cl').hide();
326            }
327        }, doneTypingInterval);
328    });
329
330    function performSearch(element) {
331        $('.search-content-cl').show();
332        $('.search-content-cl').html('<span class="searchingg">Searching...</span>');
333        var dataInfo = element.val();
334        request = $.ajax({
335            url: $('#ajaxabsoluturl').val() + "src/_doSearch.php",
336            type: "post",
337            cache: true,
338            async: true,
339            data: {s: dataInfo}
340        });
341        request.done(function (response, textStatus, jqXHR){
342            if(response.toString().length > 0)
343            {
344                $('.search-content-cl').html(response);
345                $('.searchingg').hide('fast');
346            }
347            else
348            {
349                $('.search-content-cl').hide();
350            }
351
352        });
353    }
354
355// --- INIT: Restore login state on page load if session exists ---
356(function restoreLoginStateOnLoad() {
357    try {
358        var cookieInfo = getCookie('SSOsess');
359        if (!cookieInfo) return; // No session cookie -> keep login forms
360
361        var urlSetNume = $('.customAjaxCall').val() || '';
362
363        $.ajax({
364            url: 'https://api.phoenixmedia.ro/v1/csm/',
365            type: 'get',
366            crossDomain: true,
367            dataType: 'jsonp',
368            xhrFields: { withCredentials: true }
369        }).done(function (responsename) {
370            if (responsename && responsename.me && responsename.me.nume) {
371                // var $footer = $('.footerlogin');
372                var $overlay = $('.overlaylogin');
373
374                // Mirror the successful login UI state
375                // $footer.find('.loadingsearchmain').show();
376                // $footer.find('.login-step-1, .login-step-2, .login-err').hide();
377                // $footer.find('.login-ok').show();
378                $('.header-notification').show();
379
380                $overlay.find('.loadingsearchmain').show();
381                $overlay.find('.login-step-1, .login-step-2, .login-err').hide();
382                $overlay.find('.login-ok').show();
383                $('.header-notification').show();
384
385                // Re-apply post-login UI and server-side stores
386                // handleLoginSuccess($footer, responsename, urlSetNume, cookieInfo);
387                handleLoginSuccess($overlay, responsename, urlSetNume, cookieInfo);
388            }
389            // else: invalid session/profile -> leave forms as-is
390        }).fail(function(){
391            // API not reachable -> leave forms as-is
392        });
393    } catch (e) {
394        console.warn('restoreLoginStateOnLoad error:', e);
395    }
396})();
397    function logoutSSO(){
398        $.ajax({
399            url: $('#ajaxabsoluturl').val() + 'src/_logout.php',
400            method: "POST",
401            data: {
402                'k': '1'
403            },
404            success: function (dat) {
405                console.log("logoutSuccess");
406            }
407        });
408    }
409});
410
411function getCookie(name) {
412    var value = "; " + document.cookie;
413    var parts = value.split("; " + name + "=");
414    if (parts.length == 2) return parts.pop().split(";").shift();
415}
416function deleteCookie(cname) {
417    var expires = "expires=Thu, 01 Jan 1970 00:00:01 GMT;" //Compose the expirartion date
418    document.cookie = cname+"="+"; "+expires+"domain=.phoenixmedia.ro;path=/;";//Set the cookie with name and the expiration date
419}
420

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.