• Class
  • Tree
  • Deprecated

Classes

  • Papi_Admin
  • Papi_Admin_Ajax
  • Papi_Admin_Assets
  • Papi_Admin_Columns
  • Papi_Admin_Menu
  • Papi_Admin_Meta_Box
  • Papi_Admin_Meta_Box_Tabs
  • Papi_Admin_Meta_Handler
  • Papi_Admin_Option_Handler
  • Papi_Admin_Taxonomy
  • Papi_Admin_View
  • Papi_Attachment_Type
  • Papi_CLI
  • Papi_CLI_Command
  • Papi_CLI_Post_Command
  • Papi_CLI_Term_Command
  • Papi_CLI_Type_Command
  • Papi_Conditional_Rules
  • Papi_Container
  • Papi_Core_Autoload
  • Papi_Core_Box
  • Papi_Core_Conditional
  • Papi_Core_Conditional_Rule
  • Papi_Core_Data_Handler
  • Papi_Core_Meta_Store
  • Papi_Core_Property
  • Papi_Core_Tab
  • Papi_Core_Type
  • Papi_Entry_Type
  • Papi_Loader
  • Papi_Option_Store
  • Papi_Option_Type
  • Papi_Page_Type
  • Papi_Porter
  • Papi_Porter_Driver
  • Papi_Porter_Driver_Core
  • Papi_Post_Store
  • Papi_Property
  • Papi_Property_Bool
  • Papi_Property_Checkbox
  • Papi_Property_Color
  • Papi_Property_Datetime
  • Papi_Property_Divider
  • Papi_Property_Dropdown
  • Papi_Property_Editor
  • Papi_Property_Email
  • Papi_Property_File
  • Papi_Property_Flexible
  • Papi_Property_Gallery
  • Papi_Property_Group
  • Papi_Property_Hidden
  • Papi_Property_Html
  • Papi_Property_Image
  • Papi_Property_Link
  • Papi_Property_Number
  • Papi_Property_Post
  • Papi_Property_Radio
  • Papi_Property_Reference
  • Papi_Property_Relationship
  • Papi_Property_Repeater
  • Papi_Property_String
  • Papi_Property_Term
  • Papi_Property_Text
  • Papi_Property_Url
  • Papi_Property_User
  • Papi_Taxonomy_Type
  • Papi_Term_Store

Functions

  • papi
  • papi_action_delete_value
  • papi_append_post_type_query
  • papi_body_class
  • papi_cache_delete
  • papi_cache_get
  • papi_cache_key
  • papi_cache_set
  • papi_camel_case
  • papi_cast_string_value
  • papi_convert_to_string
  • papi_current_user_is_allowed
  • papi_delete_field
  • papi_delete_option
  • papi_delete_property_meta_value
  • papi_delete_term_field
  • papi_display_page_type
  • papi_doing_ajax
  • papi_entry_type_exists
  • papi_esc_html
  • papi_f
  • papi_field_shortcode
  • papi_field_value
  • papi_filter_conditional_rule_allowed
  • papi_filter_format_value
  • papi_filter_load_value
  • papi_filter_settings_directories
  • papi_filter_settings_only_page_type
  • papi_filter_settings_only_taxonomy_type
  • papi_filter_settings_show_page_type
  • papi_filter_settings_show_standard_page_type
  • papi_filter_settings_show_standard_page_type_in_filter
  • papi_filter_settings_show_standard_taxonomy_type
  • papi_filter_settings_sort_order
  • papi_filter_settings_standard_page_type_description
  • papi_filter_settings_standard_page_type_name
  • papi_filter_settings_standard_page_type_thumbnail
  • papi_filter_settings_standard_taxonomy_type_name
  • papi_filter_update_value
  • papi_from_property_array_slugs
  • papi_get_all_core_type_files
  • papi_get_all_entry_types
  • papi_get_all_files_in_directory
  • papi_get_all_page_types
  • papi_get_class_name
  • papi_get_core_type_base_path
  • papi_get_core_type_file_path
  • papi_get_entry_type
  • papi_get_entry_type_by_id
  • papi_get_entry_type_by_meta_id
  • papi_get_entry_type_count
  • papi_get_entry_type_css_class
  • papi_get_entry_type_id
  • papi_get_entry_type_template
  • papi_get_field
  • papi_get_file_path
  • papi_get_meta_id
  • papi_get_meta_id_column
  • papi_get_meta_store
  • papi_get_meta_type
  • papi_get_only_objects
  • papi_get_option
  • papi_get_options_and_properties
  • papi_get_or_post
  • papi_get_page
  • papi_get_page_new_url
  • papi_get_page_type_id
  • papi_get_page_type_key
  • papi_get_page_type_name
  • papi_get_parent_post_id
  • papi_get_post_id
  • papi_get_post_type
  • papi_get_post_type_label
  • papi_get_post_types
  • papi_get_property_class_name
  • papi_get_property_meta_value
  • papi_get_property_type
  • papi_get_property_type_key
  • papi_get_property_type_key_f
  • papi_get_qs
  • papi_get_sanitized_post
  • papi_get_slugs
  • papi_get_taxonomies
  • papi_get_taxonomy
  • papi_get_taxonomy_label
  • papi_get_taxonomy_type_id
  • papi_get_taxonomy_type_name
  • papi_get_template_file_name
  • papi_get_term_field
  • papi_get_term_id
  • papi_get_term_slugs
  • papi_html_name
  • papi_html_tag
  • papi_include_query_strings
  • papi_include_template
  • papi_is_empty
  • papi_is_json
  • papi_is_method
  • papi_is_option_type
  • papi_is_page_type
  • papi_is_property
  • papi_is_property_type_key
  • papi_is_rule
  • papi_load_page_type_id
  • papi_load_taxonomy_type_id
  • papi_maybe_convert_to_array
  • papi_maybe_convert_to_object
  • papi_maybe_get_callable_value
  • papi_maybe_json_decode
  • papi_maybe_json_encode
  • papi_nl2br
  • papi_option_shortcode
  • papi_option_type_exists
  • papi_populate_properties
  • papi_property
  • papi_remove_trailing_quotes
  • papi_render_html_tag
  • papi_render_properties
  • papi_render_property
  • papi_require_text
  • papi_required_html
  • papi_rule
  • papi_santize_data
  • papi_set_page_type_id
  • papi_set_taxonomy_type_id
  • papi_slugify
  • papi_sort_order
  • papi_supports_term_meta
  • papi_tab
  • papi_tabs_setup
  • papi_taxonomy_shortcode
  • papi_template
  • papi_template_include
  • papi_to_array
  • papi_to_property_array_slugs
  • papi_underscorify
  • papi_update_field
  • papi_update_option
  • papi_update_property_meta_value
  • papi_update_property_meta_value_cache_delete
  • papi_update_term_field
  • papify
  • the_papi_field
  • the_papi_option
  • the_papi_page_type_name
  • the_papi_taxonomy_type_name
  • the_papi_term_field
  • unpapify
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 
<?php

/**
 * Datetime property.
 */
class Papi_Property_Datetime extends Papi_Property {

    /**
     * Get default settings.
     *
     * @return array
     */
    public function get_default_settings() {
        return [
            'format'           => 'YYYY-MM-DD hh:mm:ss',
            'show_seconds'     => false,
            'show_time'        => true,
            'show_week_number' => false,
            'use_24_hours'     => get_locale() === 'sv_SE'
        ];
    }

    /**
     * Render property html.
     */
    public function html() {
        $settings = $this->get_settings();
        $value    = $this->get_value();

        $settings_json = [
            'i18n' => [
                'previousMonth' => __( 'Previous Month', 'papi' ),
                'nextMonth'     => __( 'Next Month', 'papi' ),
                'midnight'      => __( 'Midnight', 'papi' ),
                'months'        => [
                    __( 'January', 'papi' ),
                    __( 'February', 'papi' ),
                    __( 'March', 'papi' ),
                    __( 'April', 'papi' ),
                    __( 'May', 'papi' ),
                    __( 'June', 'papi' ),
                    __( 'July', 'papi' ),
                    __( 'August', 'papi' ),
                    __( 'September', 'papi' ),
                    __( 'October', 'papi' ),
                    __( 'November', 'papi' ),
                    __( 'December', 'papi' )
                ],
                'noon'          => __( 'Noon', 'papi' ),
                'weekdays'      => [
                    __( 'Sunday', 'papi' ),
                    __( 'Monday', 'papi' ),
                    __( 'Tuesday', 'papi' ),
                    __( 'Wednesday', 'papi' ),
                    __( 'Thursday', 'papi' ),
                    __( 'Friday', 'papi' ),
                    __( 'Saturday', 'papi' )
                ],
                'weekdaysShort' => [
                    __( 'Sun', 'papi' ),
                    __( 'Mon', 'papi' ),
                    __( 'Tue', 'papi' ),
                    __( 'Wed', 'papi' ),
                    __( 'Thu', 'papi' ),
                    __( 'Fri', 'papi' ),
                    __( 'Sat', 'papi' )
                ]
            ]
        ];

        // Remove i18n setting if it exists.
        if ( isset( $settings->i18n ) ) {
            unset( $settings->i18n );
        }

        // Remove default time format if show time is false.
        if ( isset( $settings->show_time ) && ! $settings->show_time && isset( $settings->format ) ) {
            $settings->format = trim(
                str_replace( 'hh:mm:ss', '', $settings->format )
            );
        }

        // Convert all sneak case key to camel case.
        foreach ( (array) $settings as $key => $val ) {
            if ( ! is_string( $key ) ) {
                continue;
            }

            $settings_json[papi_camel_case( $key )] = $val;
        }

        // Papi has `use24Hours` as key and Pikaday has `use24hour`.
        // This code will fix it.
        if ( isset( $settings_json['use24Hours'] ) ) {
            $settings_json['use24hour'] = $settings_json['use24Hours'];
            unset( $settings_json['use24Hours'] );
        }

        papi_render_html_tag( 'input', [
            'class'         => 'papi-property-datetime',
            'data-settings' => (object) $settings_json,
            'id'            => $this->html_id(),
            'name'          => $this->html_name(),
            'type'          => 'text',
            'value'         => $value
        ] );
    }
}
API documentation generated by ApiGen