GRAYBYTE WORDPRESS FILE MANAGER4951

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/giriqfky/trustyourlawyer.com/wp-content/plugins/ninja-forms/includes/Fields/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/giriqfky/trustyourlawyer.com/wp-content/plugins/ninja-forms/includes/Fields//Date.php
<?php if ( ! defined( 'ABSPATH' ) ) exit;

/**
 * Class NF_Fields_Date
 */
class NF_Fields_Date extends NF_Fields_Textbox
{
    protected $_name = 'date';

    protected $_nicename = 'Date';

    protected $_section = 'common';

    protected $_icon = 'calendar';

    protected $_type = 'date';

    protected $_templates = 'date';

    protected $_test_value = '12/12/2022';

    protected $_settings = array( 'date_mode', 'date_default', 'date_format', 'year_range', 'time_settings' );

    protected $_settings_exclude = array( 'default', 'input_limit_set', 'disable_input' );

    public function __construct()
    {
        parent::__construct();

        $this->_nicename = esc_html__( 'Date/Time', 'ninja-forms' );

        add_filter( 'ninja_forms_localize_field_date', [ $this,'localizeField'], 10, 2);
        add_filter( 'ninja_forms_localize_field_date_preview', [ $this,'localizeField'], 10, 2);
        add_filter( 'ninja_forms_custom_columns', [ $this, 'custom_columns' ], 10, 2 );
        add_filter( 'ninja_forms_subs_export_field_value_' . $this->_name, array( $this, 'filter_csv_value' ), 10, 2 );
        add_filter( 'ninja_forms_merge_tag_value_' . $this->_name, array( $this, 'filter_merge_tag_value' ), 10, 2 );
    }

    public function process( $field, $data )
    {
        return $data;
    }

    private function get_format( $format )
    {
        $lookup = array(
            'MM/DD/YYYY' => esc_html__( 'm/d/Y', 'ninja-forms' ),
            'MM-DD-YYYY' => esc_html__( 'm-d-Y', 'ninja-forms' ),
            'MM.DD.YYYY' => esc_html__( 'm.d.Y', 'ninja-forms' ),
            'DD/MM/YYYY' => esc_html__( 'd/m/Y', 'ninja-forms' ),
            'DD-MM-YYYY' => esc_html__( 'd-m-Y', 'ninja-forms' ),
            'DD.MM.YYYY' => esc_html__( 'd.m.Y', 'ninja-forms' ),
            'YYYY-MM-DD' => esc_html__( 'Y-m-d', 'ninja-forms' ),
            'YYYY/MM/DD' => esc_html__( 'Y/m/d', 'ninja-forms' ),
            'YYYY.MM.DD' => esc_html__( 'Y.m.d', 'ninja-forms' ),
            'dddd, MMMM D YYYY' => esc_html__( 'l, F d Y', 'ninja-forms' ),
        );

        return ( isset( $lookup[ $format ] ) ) ? $lookup[ $format ] : $format;
    }

    /**
     * 
     * 
     * @since  3.0
     * @param  array  $field  Array of field settings
     * @return void
     */
    public function localizeField( $field )
    {
        /**
         * Time-specific settings below.
         * If this is a "date_only" field, we can bail early.
         */
        if ( isset ( $field[ 'settings' ][ 'date_mode' ] ) && 'date_only' == $field[ 'settings' ][ 'date_mode' ] ) {
            return $field;
        }

        /**
         * Hours Select Options
         */
        $hours_options = $this->get_hours_options( false, $field );

        $field[ 'settings' ][ 'hours_options' ] = $hours_options;

        /**
         * Minutes Select Options
         */
        $minutes_options = $this->get_minutes_options( false, $field );

        $field[ 'settings' ][ 'minutes_options' ] = $minutes_options;

        return $field;
    }

    public function custom_columns( $field_value, $field )
    {
        if( $this->_name != $field->get_setting( 'type' ) ) return $field_value;
        return $this->stringify_value( $field_value, $field );
    }

    public function filter_csv_value( $field_value, $field ) {
        $field_value = $this->stringify_value( $field_value, $field );
        return parent::filter_csv_value( $field_value, $field );
    }

    public function admin_form_element( $id, $value )
    {
        $form_id = get_post_meta( absint( $_GET[ 'post' ] ), '_form_id', true );

        $field = Ninja_Forms()->form( $form_id )->get_field( $id );

        // If the value is an array, output an appropriate edit element.
        if ( ! is_array( $value ) ) return '<input class="widefat" name="fields[' . $id . '][date]" value="' . $value . '" type="text">';

        $edit_values = '';

        // Get our date and time, the combine them into a string.
        $date = isset ( $value[ 'date' ] ) ? $value[ 'date' ] : '';
        $hour = isset ( $value[ 'hour' ] ) ? $value[ 'hour' ] : '';
        $minute = isset ( $value[ 'minute' ] ) ? $value[ 'minute' ] : '';
        $ampm = isset ( $value[ 'ampm' ] ) ? $value[ 'ampm' ] : '';
        $time = '';

        $hours_options = $this->get_hours_options( $hour, $field );
        $minutes_options = $this->get_minutes_options( $minute, $field );        

        if ( ! empty ( $date ) ) {
            $edit_values = '<input class="" name="fields[' . $id . '][date]" value="' . $date . '" type="text">';
        }

        if ( ! empty ( $hour ) && ! empty ( $minute ) ) {
            $edit_values .= '<select class="" name="fields[' . $id . '][hour]" id="">' . $hours_options . '</select>';
            $edit_values .= ':<select class="" name="fields[' . $id . '][minute]" id="">' . $minutes_options . '</select>';
        
            // Display an edit for am/pm if necessary
            if ( 1 != $field->get_setting( 'hours_24' ) ) {
                $selected_am = ( 'am' == $ampm ) ? 'selected="selected"' : '';
                $selected_pm = ( 'pm' == $ampm ) ? 'selected="selected"' : '';
                $edit_values .= ' <select class="" name="fields[' . $id . '][ampm]" id="">
                    <option value="am" ' . $selected_am . '>AM</option>
                    <option value="pm" ' . $selected_pm . '>PM</option>
                </select>';
            }
        }

        return $edit_values;
    }

    private function stringify_value( $field_value, $field )
    {
        if ( ! is_array( $field_value ) ) {
            return $field_value;
        }

        // Get our date and time, the combine them into a string.
        $date = isset ( $field_value[ 'date' ] ) ? $field_value[ 'date' ] : '';
        $hour = isset ( $field_value[ 'hour' ] ) ? $field_value[ 'hour' ] : '';
        $minute = isset ( $field_value[ 'minute' ] ) ? $field_value[ 'minute' ] : '';
        $ampm = isset ( $field_value[ 'ampm' ] ) ? $field_value[ 'ampm' ] : '';
        $time = '';

        if ( ! empty ( $hour ) && ! empty ( $minute ) ) {
            $time = ' ' . $hour . ':' . $minute;
            // Display an edit for am/pm if necessary
            if ( 1 != $field->get_setting( 'hours_24' ) ) {
                $time .= ' ' . $ampm;
            }
        }

        return $date . $time;
    }

    private function get_hours_options( $hour, $field )
    {
        $hours_24 = 1;

        if ( is_object( $field ) ) {
            $hours_24 = $field->get_setting( 'hours_24' );
        } elseif ( is_array( $field ) && isset ( $field[ 'settings' ][ 'hours_24' ] ) ) {
            $hours_24 = $field[ 'settings' ][ 'hours_24' ];
        }

        // Defaults
        $hours = 12;
        $first_hour = 1;
        $hours_options = '<option value="12">12</option>';

        if ( 1 == $hours_24 ) {
            $hours = 24;
            $first_hour = 0;
            $hours_options = '';
        }

        for ( $i = $first_hour; $i < $hours; $i++ ) {
            $output = $i;
            if ( $i < 10 ) {
                $output = '0' . $i;
            }

            $selected = '';

            if ( $hour == $output ) {
                $selected = 'selected="selected"';
            }

            $hours_options .= '<option value="' . $output . '" ' . $selected . '>' . $output . '</option>';
        }

        return $hours_options;
    }

    private function get_minutes_options( $minute, $field )
    {
        if ( is_object( $field ) ) {
            $minute_increment = $field->get_setting( 'minute_increment' );
        } elseif ( is_array( $field ) && isset ( $field[ 'settings' ][ 'minute_increment' ] ) ) {
            $minute_increment = $field[ 'settings' ][ 'minute_increment' ];
        }

        if ( empty( $minute_increment ) ) {
            $minute_increment = 1;
        }

        /**
         * Minutes Select Options
         */
        $minutes_options = '';

        $i = 0;
        while ( $i < 60 ) {
            $output = $i;
            if ( $i < 10 ) {
                $output = '0' . $i;
            }

            $selected = '';

            if ( $minute == $output ) {
                $selected = 'selected="selected"';
            }

            $minutes_options .= '<option value="' . $output . '" ' . $selected . '>' . $output . '</option>';
            $i += $minute_increment;
        }

        return $minutes_options;
    }

    /**
     * Filter Merge Tag Value
     * This is what provides the merge tag with the fields value.
     * @since 3.0
     *
     * @param $value Field value
     * @param $field field model
     * @return string|void
     */
    public function filter_merge_tag_value( $value, $field )
    {
        if ( ! isset( $field[ 'settings' ][ 'date_mode' ] ) ||
            'date_only' == $field[ 'settings' ][ 'date_mode' ] ) {
            return $value;
        }

        /**
         * Explode our value at each ','.
         * It'll be in a format like 01/05/2021,hour,minute,ampm.
         */
        
        $exploded_value = explode( ',', $value );
        
        $date = $exploded_value[0];
        $hour = $exploded_value[1];
        $minute = $exploded_value[2];

        $time = $hour . ':' . $minute;

        if ( isset ( $exploded_value[3] ) ) {
            $time .= ' ' . $exploded_value[3];
        }

        if ( 'time_only' == $field[ 'settings' ][ 'date_mode' ] ) {
            if($time === ':' && !strpos($value, ',')) {
                return $value;
            } else {
                return $time;
            } 
        }

        return $date . ' ' . $time;
    }
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 10 2025 04:32:23
giriqfky / giriqfky
0755
.htaccess
0.41 KB
July 10 2025 04:32:23
giriqfky / giriqfky
0644
Address.php
0.678 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Address2.php
0.649 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Button.php
0.546 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Checkbox.php
6.439 KB
July 07 2025 22:00:20
giriqfky / giriqfky
0644
City.php
0.581 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Color.php
0.608 KB
March 15 2016 02:24:24
giriqfky / giriqfky
0644
Confirm.php
1.012 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCard.php
0.572 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCardCVC.php
0.803 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCardExpiration.php
0.975 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCardFullName.php
0.842 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCardNumber.php
0.844 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
CreditCardZip.php
0.776 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Date.php
9.434 KB
July 07 2025 22:00:20
giriqfky / giriqfky
0644
Email.php
1.603 KB
September 30 2024 22:20:16
giriqfky / giriqfky
0644
FirstName.php
1.134 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
HTML.php
2.262 KB
July 29 2024 13:30:44
giriqfky / giriqfky
0644
Hidden.php
0.954 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
LastName.php
1.126 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
ListCheckbox.php
2.09 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
ListCountry.php
4.855 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
ListImage.php
5.282 KB
October 24 2024 00:36:22
giriqfky / giriqfky
0644
ListModifier.php
0.468 KB
March 15 2016 02:24:24
giriqfky / giriqfky
0644
ListMultiSelect.php
2.031 KB
August 17 2021 13:06:24
giriqfky / giriqfky
0644
ListRadio.php
0.999 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
ListSelect.php
1.035 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
ListState.php
1.375 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Note.php
1.498 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Number.php
0.683 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Password.php
0.779 KB
February 08 2021 23:03:26
giriqfky / giriqfky
0644
PasswordConfirm.php
2.454 KB
March 12 2025 21:40:36
giriqfky / giriqfky
0644
Phone.php
0.61 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Product.php
8.379 KB
February 22 2023 23:20:58
giriqfky / giriqfky
0644
Quantity.php
0.673 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Recaptcha.php
3.26 KB
October 04 2023 20:07:10
giriqfky / giriqfky
0644
RecaptchaV3.php
0.422 KB
June 07 2021 21:40:12
giriqfky / giriqfky
0644
Repeater.php
8.702 KB
April 30 2024 21:16:06
giriqfky / giriqfky
0644
Shipping.php
2.505 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Spam.php
1.817 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
StarRating.php
0.771 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Submit.php
0.867 KB
July 29 2024 13:30:44
giriqfky / giriqfky
0644
Terms.php
6.291 KB
November 18 2024 20:55:28
giriqfky / giriqfky
0644
Textarea.php
1.597 KB
February 09 2023 21:52:18
giriqfky / giriqfky
0644
Textbox.php
1.011 KB
February 09 2023 21:52:18
giriqfky / giriqfky
0644
TimedSubmit.php
0.537 KB
March 15 2016 02:24:24
giriqfky / giriqfky
0644
Total.php
1.192 KB
February 22 2023 23:20:58
giriqfky / giriqfky
0644
Unknown.php
2.835 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
Zip.php
0.596 KB
February 04 2020 21:17:42
giriqfky / giriqfky
0644
hr.php
0.88 KB
July 29 2024 13:30:44
giriqfky / giriqfky
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF