HEX
Server: LiteSpeed
System: Linux linux31.centraldnserver.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
User: salamatk (1501)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open
Upload Files
File: //home/salamatk/www/wp-content/plugins/woodmart-plus/inc/services/jalali/assets/jalali.js

(function($){
    
    $(document).ready(function(){

        
            // Date picker fields regenaret.
        $( '.sale_price_dates_fields input' ).each(function () {
            if ($(this).hasClass('hasDatepicker')) {
                $(this).datepicker('destroy'); // حذف datepicker جیکوئری UI
            }
        });
        
        $(document).on('woocommerce_variations_loaded',function(wrapper){

            $( '.sale_price_dates_fields' ).each( function () {
                
                $( this ).find( 'input' ).each(function(){

                    var $this = $(this);
                    var $paretns = $this.parents('.woocommerce_variation');
                    // variation-needs-update
                    if ($(this).hasClass('hasDatepicker')) {
                        $(this).datepicker('destroy'); // حذف datepicker جیکوئری UI
                    }
                    
                    var sale_price_dates_from ='';
                    var sale_price_dates_to = '';
                    var $selectedBefore = '';
                    var $selectedDate = '';

                    if( $(this).hasClass('sale_price_dates_from') )
                    {
                        
                        var $variation_name_sale_from = $(this).attr('name');
                        $(this).attr('name','');
                        sale_price_dates_from = $(this).val();
                        $selectedBefore = sale_price_dates_from.length ? 1 : 0;
                        $selectedDate = sale_price_dates_from.length ? sale_price_dates_from.replace(/-/gi, "/") : null;
                        var $date_sale_from = sale_price_dates_from.length ? toGaregorian(sale_price_dates_from) : '';
                        $(this).after('<input class="input_generated_from" type="hidden" name="'+$variation_name_sale_from+'" value="'+$date_sale_from+'">');
                        $(this).on('change',function(){
                            if( $(this).val() == '' )
                            {
                                $(this).next('.input_generated_from').val('');
                            }
                        });
                    }
                    
                    if( $(this).hasClass('sale_price_dates_to') )
                    {
                        var $variation_name_sale_to = $(this).attr('name');
                        $(this).attr('name','');

                        sale_price_dates_to = $(this).val();
                        $selectedBefore = sale_price_dates_to.length ? 1 : 0;
                        $selectedDate = sale_price_dates_to.length ? sale_price_dates_to.replace(/-/gi, "/") : null;
                        var $date_sale_to = sale_price_dates_to.length ? toGaregorian(sale_price_dates_to) : '';
                        $(this).after('<input class="input_generated_to" type="hidden" name="'+$variation_name_sale_to+'" value="'+$date_sale_to+'">')
                        $(this).on('change',function(){
                            if( $(this).val() == '' )
                            {
                                $(this).next('.input_generated_to').val('');
                            }
                        });
                    }
                    
                    $(this).persianDatepicker({
                        formatDate: "YYYY-0M-0D", 
                        selectedBefore: $selectedBefore,
                        selectedDate: $selectedDate,
                        onSelect:function()
                        {
                            $paretns.addClass('variation-needs-update');
                            if( $this.hasClass('sale_price_dates_from') )
                            {
                                var gdate_from = $this.attr("data-gdate");
                                if( gdate_from !== "NaN-0NaN-0NaN" ){
                                    $this.next('.input_generated_from').val(gdate_from);
                                }
                            }
                            if( $this.hasClass('sale_price_dates_to') )
                            {
                                var gdate_to = $this.attr("data-gdate");
    
                                if( gdate_to !== "NaN-0NaN-0NaN" ){
                                    $this.next('.input_generated_to').val(gdate_to);
                                }
                            }
                        }
                    });

                });
            });
        });

        $( '.sale_price_dates_fields' ).each( function () {
            
            $( this ).find( 'input' ).each(function(){

                var $this = $(this);
                var sale_price_dates_from ='';
                var sale_price_dates_to = '';
                var $selectedBefore = '';
                var $selectedDate = '';
                
                if( $(this).attr('id') === '_sale_price_dates_from' )
                {
                    sale_price_dates_from = $(this).val();
                    var $name_sale_from = $(this).attr('name');
                    $(this).attr('name','');
                    $selectedBefore = sale_price_dates_from.length ? 1 : 0;
                    $selectedDate = sale_price_dates_from.length ? sale_price_dates_from.replace(/-/gi, "/") : null
                    var $date_sale_from = sale_price_dates_from.length ? toGaregorian(sale_price_dates_from) : '';
                    $(this).after('<input class="input_generated_from" type="hidden" name="'+$name_sale_from+'" value="'+$date_sale_from+'">');
                    $(this).on('change',function(){
                        if( $(this).val() == '' )
                        {
                            $('.input_generated_from').val('');
                        }
                    });
                }

                if( $(this).attr('id') === '_sale_price_dates_to' )
                {
                    sale_price_dates_to = $(this).val();
                    var $name_sale_to = $(this).attr('name');
                    $(this).attr('name','');
                    $selectedBefore = sale_price_dates_to.length ? 1 : 0;
                    $selectedDate = sale_price_dates_to.length ? sale_price_dates_to.replace(/-/gi, "/") : null
                    var $date_sale_to = sale_price_dates_to.length ? toGaregorian(sale_price_dates_to) : '';
                    $(this).after('<input class="input_generated_to" type="hidden" name="'+$name_sale_to+'" value="'+$date_sale_to+'">')

                    $(this).on('change',function(){
                        if( $(this).val() == '' )
                        {
                            $('.input_generated_to').val('');
                        }
                    });
                }
                    
                $(this).persianDatepicker({
                    formatDate: "YYYY-0M-0D", 
                    selectedBefore: $selectedBefore,
                    selectedDate: $selectedDate,
                    onSelect:function(){
                        
                        if( $this.attr('id') === '_sale_price_dates_from' )
                        {
                            var gdate_from = $this.attr("data-gdate");
                            if( gdate_from !== "NaN-0NaN-0NaN" ){
                                $('.input_generated_from').val(gdate_from);
                            }
                        }
                        if( $this.attr('id') === '_sale_price_dates_to' )
                        {
                            var gdate_to = $this.attr("data-gdate");

                            if( gdate_to !== "NaN-0NaN-0NaN" ){
                                $('.input_generated_to').val(gdate_to);
                            }
                        }
                        
                    }
                });
            });
    
        });

        
        
        var $datePicker = $('#woocommerce-order-data .date-picker');

        if( $datePicker.length )
        {
            $datePicker.datepicker('destroy');
            var selectdate = $datePicker.val();
            var $name = $datePicker.attr( 'name');
            $datePicker.attr( 'name','');
            
            $date = toGaregorian(selectdate);
            
            $datePicker.after('<input class="input_generated" type="hidden" name="'+$name+'" value="'+$date+'">')
    
            $datePicker.persianDatepicker( {
                formatDate: "YYYY-0M-0D",
                selectedBefore: selectdate.length ? 1 : 0,
                selectedDate: selectdate.length ? selectdate.replace(/-/gi, "/") : null,
                onSelect:function(){
                    var gdate = $datePicker.attr("data-gdate");
                    
                    if( gdate !== "NaN-0NaN-0NaN" )
                    {
                        $('.input_generated').val(gdate);
                    }
                }
            } );
        }

        var $couponDatePicker = $('#coupon_options .date-picker');
        if( $couponDatePicker.length )
        {
            $couponDatePicker.datepicker('destroy');
            var selectdate = $couponDatePicker.val();
            var $name = $couponDatePicker.attr( 'name');
            $couponDatePicker.attr( 'name','');

            $couponDatePicker.after('<input class="input_generated" type="hidden" name="'+$name+'" value="'+selectdate+'">')

            $couponDatePicker.persianDatepicker( {
                formatDate: "YYYY-0M-0D",
                selectedBefore: selectdate.length ? 1 : 0,
                selectedDate: selectdate.length ? toJalali(selectdate).replace(/-/gi, "/") : null,
                onSelect:function(){
                    var gdate = $couponDatePicker.attr("data-gdate");
                    
                    if( gdate !== "NaN-0NaN-0NaN" )
                    {
                        $('.input_generated').val(gdate);
                    }
                }
            } );

            $couponDatePicker.on('change',function(){
                if( $(this).val() == '' )
                {
                    $('.input_generated').val('');
                }
            });
        }

        var adminDate =  $('[id*="post-"]');
        
        if( adminDate.length )
        {
            adminDate.each(function(){
                var $this = $(this);
                // $this.find('input[name="aa"]')
                // console.log( $this );
            });
        }

        $(document.body).on('click','.editinline,.edit-timestamp',function(){
            

            var adminTrPost = $('tr[id*="edit-"],#timestampdiv');

            if( !adminTrPost.length ) return;

            let year_input = adminTrPost.find('input[name="aa"]');

            let year_milad = year_input.val();
            let month_miladi = adminTrPost.find('select[name="mm"]').find(':selected').val();
            let day_milad = adminTrPost.find('input[name="jj"]').val();

            let month_option = adminTrPost.find('select[name="mm"]>option');

            let $shamsi_year = shamsi_year();
                
            var $objectJalali = toJalali( year_milad + '-' + month_miladi + '-' + day_milad ,true );
            
            month_option.each(function(){
                $(this).text($shamsi_year[$(this).val()]['output']);
                $(this).attr('data-text',$shamsi_year[$(this).val()]['output']);
                $(this).val($shamsi_year[$(this).val()]['value']);
                                
            });
            adminTrPost.find('select[name="mm"]> option[value="0'+$objectJalali.jm+'"]').prop('selected', true);
            
            year_input.val($objectJalali.jy);
            adminTrPost.find('input[name="jj"]').val($objectJalali.jd);
        });

        $(document).ready(function(){
            var $filterDate = $('#filter-by-date option');
            var $shamsi_year = shamsi_year();

            $filterDate.each(function(){
                var $this = $(this);
                var $value = $this.val();
                if( 0 != $value )
                {
                    // let part1 = $value.split(" ");
                    let part1 = $value.slice(0, 4);
                    let part2 = $value.slice(4);
                    
                    $shamsi_year[part2]['output'] //out put;

                    var $objectJalali = toJalali( part1 + '-3-21' ,true );

                    $this.text( $shamsi_year[part2]['output'] +' '+ $objectJalali.jy );
                }
            });
            
        })
        function shamsi_year(){

            return {
                '01':{
                    'output' : 'بهمن',
                    'value' : '11'
                },
                '02':{
                    'output' : 'اسفند',
                    'value' : '12'
                },
                '03' : {
                    'output' : 'فروردین',
                    'value' : '01'
                },
                '04' : {
                    'output' : 'اردیبهشت',
                    'value' : '02'
                },
                '05' : {
                    'output' : 'خرداد',
                    'value' : '03'
                },
                '06' : {
                    'output' : 'تیر',
                    'value' : '04'
                },
                '07' : {
                    'output' : 'مرداد',
                    'value' : '05'
                },
                '08' : {
                    'output' : 'شهریور',
                    'value' : '06'
                },
                '09' : {
                    'output' : 'مهر',
                    'value' : '07'
                },
                '10' : {
                    'output' : 'آبان',
                    'value' : '08'
                },
                '11' : {
                    'output' : 'آذر',
                    'value' : '09'
                },
                '12' : {
                    'output' : 'دی',
                    'value' : '10'
                },

            };
            
        }
        function getShamsiYear(miladiYear) {
            const jalaliDate = jalaali.toJalaali(miladiYear, 3, 21); // 21 مارس
            return jalaliDate.jy;
        }
        
        function getMiladiYear(shamiYear) {
            console.log( shamiYear );
            const jalaliDate = jalaali.toGregorian(shamiYear, '01', '01'); // 21 مارس
            return jalaliDate.gy;
        }

        function toGaregorian( date )
        {
            if( !date ) return '';
            
            let [jy, jm, jd] = date.split('-').map(Number);
            let jalaliDate = { jy, jm, jd };
            let gregorianDate = jalaali.toGregorian(jalaliDate.jy, jalaliDate.jm, jalaliDate.jd);
            
            return `${gregorianDate.gy}-${String(gregorianDate.gm).padStart(2, '0')}-${String(gregorianDate.gd).padStart(2, '0')}`;
        }
        
        function toJalali( date,object = false )
        {
            
            let [jy, jm, jd] = date.split('-').map(Number);
            let jalaliDate = { jy, jm, jd };
            let gregorianDate = jalaali.toJalaali(jalaliDate.jy, jalaliDate.jm, jalaliDate.jd);
            
            if( object )
            {
                return gregorianDate;
            }

            return `${gregorianDate.jy}-${String(gregorianDate.jm).padStart(2, '0')}-${String(gregorianDate.jd).padStart(2, '0')}`;
        }
        
       
    });
})( jQuery );