Overview

Classes

  • Papi_Admin
  • Papi_Admin_Ajax
  • Papi_Admin_Assets
  • Papi_Admin_Management_Pages
  • Papi_Admin_Menu
  • Papi_Admin_Meta_Box
  • Papi_Admin_Meta_Box_Tabs
  • Papi_Admin_Option_Handler
  • Papi_Admin_Post_Handler
  • Papi_Admin_View
  • Papi_Attachment_Type
  • Papi_Conditional_Rules
  • Papi_Container
  • Papi_Core_Autoload
  • Papi_Core_Conditional
  • Papi_Core_Conditional_Rule
  • Papi_Core_Data_Handler
  • Papi_Core_Page
  • Papi_Core_Property
  • Papi_Core_Type
  • Papi_Loader
  • Papi_Option_Page
  • Papi_Option_Type
  • Papi_Page_Type
  • Papi_Page_Type_Meta
  • Papi_Porter
  • Papi_Porter_Driver
  • Papi_Porter_Driver_Core
  • Papi_Post_Page
  • 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_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

Functions

  • current_page
  • papi
  • papi_action_delete_value
  • papi_action_include
  • 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_dashify
  • papi_delete_field
  • papi_delete_option
  • papi_delete_property_meta_value
  • papi_display_page_type
  • papi_doing_ajax
  • papi_esc_html
  • papi_f
  • papi_field
  • papi_field_shortcode
  • papi_field_value
  • papi_fields
  • papi_filter_conditional_rule_allowed
  • papi_filter_core_load_one_type_on
  • papi_filter_format_value
  • papi_filter_load_value
  • papi_filter_settings_directories
  • papi_filter_settings_only_page_type
  • papi_filter_settings_page_type_column_title
  • 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_sort_order
  • papi_filter_settings_standard_page_description
  • papi_filter_settings_standard_page_name
  • papi_filter_settings_standard_page_thumbnail
  • papi_filter_update_value
  • papi_from_property_array_slugs
  • papi_get_all_files_in_directory
  • papi_get_all_page_type_files
  • papi_get_all_page_types
  • papi_get_box_property
  • papi_get_class_name
  • papi_get_field
  • papi_get_file_path
  • papi_get_number_of_pages
  • 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_query_strings
  • papi_get_page_type
  • papi_get_page_type_base_path
  • papi_get_page_type_by_id
  • papi_get_page_type_by_post_id
  • papi_get_page_type_id
  • papi_get_page_type_key
  • papi_get_page_type_meta_value
  • papi_get_page_type_name
  • papi_get_page_type_template
  • 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_options
  • 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_tab_options
  • papi_html_name
  • papi_html_tag
  • papi_include_template
  • papi_is_empty
  • papi_is_json
  • papi_is_method
  • papi_is_option_page
  • papi_is_option_type
  • papi_is_page_type
  • papi_is_property
  • papi_is_property_type_key
  • papi_is_rule
  • papi_management_page_type_render_box
  • 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_page_type_exists
  • papi_populate_properties
  • papi_property
  • papi_remove_papi
  • 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_setup_tabs
  • papi_slugify
  • papi_sort_order
  • papi_tab
  • papi_template
  • papi_template_include
  • papi_to_array
  • papi_to_property_array_slugs
  • papi_translate_keys
  • papi_underscorify
  • papi_update_field
  • papi_update_option
  • papi_update_property_meta_value
  • papi_with
  • papify
  • the_papi_field
  • the_papi_option
  • the_papi_page_type_name
  • Overview
  • Class
  1: <?php
  2: 
  3: /**
  4:  * Datetime property.
  5:  */
  6: class Papi_Property_Datetime extends Papi_Property {
  7: 
  8:     /**
  9:      * Get default settings.
 10:      *
 11:      * @return array
 12:      */
 13:     public function get_default_settings() {
 14:         return [
 15:             'format'           => 'YYYY-MM-DD hh:mm:ss',
 16:             'show_seconds'     => false,
 17:             'show_time'        => true,
 18:             'show_week_number' => false,
 19:             'use_24_hours'     => get_locale() === 'sv_SE'
 20:         ];
 21:     }
 22: 
 23:     /**
 24:      * Render property html.
 25:      */
 26:     public function html() {
 27:         $settings = $this->get_settings();
 28:         $value    = $this->get_value();
 29: 
 30:         $settings_json = [
 31:             'i18n' => [
 32:                 'previousMonth' => __( 'Previous Month', 'papi' ),
 33:                 'nextMonth'     => __( 'Next Month', 'papi' ),
 34:                 'midnight'      => __( 'Midnight', 'papi' ),
 35:                 'months'        => [
 36:                     __( 'January', 'papi' ),
 37:                     __( 'February', 'papi' ),
 38:                     __( 'March', 'papi' ),
 39:                     __( 'April', 'papi' ),
 40:                     __( 'May', 'papi' ),
 41:                     __( 'June', 'papi' ),
 42:                     __( 'July', 'papi' ),
 43:                     __( 'August', 'papi' ),
 44:                     __( 'September', 'papi' ),
 45:                     __( 'October', 'papi' ),
 46:                     __( 'November', 'papi' ),
 47:                     __( 'December', 'papi' )
 48:                 ],
 49:                 'noon'          => __( 'Noon', 'papi' ),
 50:                 'weekdays'      => [
 51:                     __( 'Sunday', 'papi' ),
 52:                     __( 'Monday', 'papi' ),
 53:                     __( 'Tuesday', 'papi' ),
 54:                     __( 'Wednesday', 'papi' ),
 55:                     __( 'Thursday', 'papi' ),
 56:                     __( 'Friday', 'papi' ),
 57:                     __( 'Saturday', 'papi' )
 58:                 ],
 59:                 'weekdaysShort' => [
 60:                     __( 'Sun', 'papi' ),
 61:                     __( 'Mon', 'papi' ),
 62:                     __( 'Tue', 'papi' ),
 63:                     __( 'Wed', 'papi' ),
 64:                     __( 'Thu', 'papi' ),
 65:                     __( 'Fri', 'papi' ),
 66:                     __( 'Sat', 'papi' )
 67:                 ]
 68:             ]
 69:         ];
 70: 
 71:         // Remove i18n setting if it exists.
 72:         if ( isset( $settings->i18n ) ) {
 73:             unset( $settings->i18n );
 74:         }
 75: 
 76:         // Remove default time format if show time is false.
 77:         if ( isset( $settings->show_time ) && ! $settings->show_time && isset( $settings->format ) ) {
 78:             $settings->format = trim(
 79:                 str_replace( 'hh:mm:ss', '', $settings->format )
 80:             );
 81:         }
 82: 
 83:         // Convert all sneak case key to camel case.
 84:         foreach ( (array) $settings as $key => $val ) {
 85:             if ( ! is_string( $key ) ) {
 86:                 continue;
 87:             }
 88: 
 89:             $settings_json[papi_camel_case( $key )] = $val;
 90:         }
 91: 
 92:         // Papi has `use24Hours` as key and Pikaday has `use24hour`.
 93:         // This code will fix it.
 94:         if ( isset( $settings_json['use24Hours'] ) ) {
 95:             $settings_json['use24hour'] = $settings_json['use24Hours'];
 96:             unset( $settings_json['use24Hours'] );
 97:         }
 98: 
 99:         papi_render_html_tag( 'input', [
100:             'class'         => 'papi-property-datetime',
101:             'data-settings' => (object) $settings_json,
102:             'id'            => $this->html_id(),
103:             'name'          => $this->html_name(),
104:             'type'          => 'text',
105:             'value'         => $value
106:         ] );
107:     }
108: }
109: 
API documentation generated by ApiGen