whoami7 - Manager
:
/
home
/
rattkxnv
/
knockdubai.ae
/
wp-content
/
plugins
/
the-post-grid
/
app
/
Models
/
Upload File:
files >> /home/rattkxnv/knockdubai.ae/wp-content/plugins/the-post-grid/app/Models/Field.php
<?php /** * Fields class. * * @package RT_TPG */ namespace RT\ThePostGrid\Models; use RT\ThePostGrid\Helpers\Fns; use RT\ThePostGrid\Helpers\Options; // Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'This script cannot be accessed directly.' ); } /** * Fields class. */ class Field { private $type; private $name; private $value; private $default; private $label; private $id; private $class; private $holderClass = ''; private $description; private $descriptionAdv; private $options; private $option; private $optionLabel; private $attr; private $multiple; private $alignment; private $placeholder; private $blank; function __construct() { } private function setArgument( $key, $attr ) { global $pagenow; $this->type = isset( $attr['type'] ) ? ( $attr['type'] ? $attr['type'] : 'text' ) : 'text'; $this->multiple = isset( $attr['multiple'] ) ? ( $attr['multiple'] ? $attr['multiple'] : false ) : false; $this->name = ! empty( $key ) ? $key : null; $id = isset( $attr['id'] ) ? $attr['id'] : null; $this->id = ! empty( $id ) ? $id : $this->name; $this->default = isset( $attr['default'] ) ? $attr['default'] : null; $this->value = isset( $attr['value'] ) ? ( $attr['value'] ? $attr['value'] : null ) : null; if ( ! $this->value ) { $post_id = get_the_ID(); if ( ! Fns::meta_exist( $this->name, $post_id ) && $pagenow == 'post-new.php' ) { $this->value = $this->default; } elseif ( $this->multiple ) { if ( metadata_exists( 'post', $post_id, $this->name ) ) { $this->value = get_post_meta( $post_id, $this->name ); } else { $this->value = $this->default; } } elseif ( metadata_exists( 'post', $post_id, $this->name ) ) { $this->value = get_post_meta( $post_id, $this->name, true ); } else { $this->value = $this->default; } } $this->label = isset( $attr['label'] ) ? ( $attr['label'] ? $attr['label'] : null ) : null; $this->class = isset( $attr['class'] ) ? ( $attr['class'] ? $attr['class'] : null ) : null; $this->holderClass = isset( $attr['holderClass'] ) ? ( $attr['holderClass'] ? $attr['holderClass'] : '' ) : ''; $this->placeholder = isset( $attr['placeholder'] ) ? ( $attr['placeholder'] ? $attr['placeholder'] : null ) : null; $this->description = isset( $attr['description'] ) ? ( $attr['description'] ? $attr['description'] : null ) : null; $this->descriptionAdv = isset( $attr['description_adv'] ) ? ( $attr['description_adv'] ? $attr['description_adv'] : null ) : null; $this->options = isset( $attr['options'] ) ? ( $attr['options'] ? $attr['options'] : [] ) : []; $this->option = isset( $attr['option'] ) ? ( $attr['option'] ? $attr['option'] : null ) : null; $this->optionLabel = isset( $attr['optionLabel'] ) ? ( $attr['optionLabel'] ? $attr['optionLabel'] : null ) : null; $this->attr = isset( $attr['attr'] ) ? ( $attr['attr'] ? $attr['attr'] : null ) : null; $this->alignment = isset( $attr['alignment'] ) ? ( $attr['alignment'] ? $attr['alignment'] : null ) : null; $this->blank = ! empty( $attr['blank'] ) ? $attr['blank'] : null; } public function Field( $key, $attr = [] ) { $this->setArgument( $key, $attr ); $holderId = $this->name . '_holder'; if ( ! rtTPG()->hasPro() ) { $class = $this->holderClass; } else { $class = str_replace( 'pro-field', '', $this->holderClass ); } $html = null; if ( $this->type == 'hr' ) { return "<hr/>"; } $html .= '<div class="field-holder ' . esc_attr( $class ) . '" id="' . esc_attr( $holderId ) . '">'; $holderClass = explode( ' ', $this->holderClass ); if ( $this->label ) { $html .= "<div class='field-label'>"; $html .= '<label>' . Fns::htmlKses( $this->label, 'basic' ) . '</label>'; if ( in_array( 'pro-field', $holderClass, true ) && ! rtTPG()->hasPro() ) { $html .= '<span class="rttpg-tooltip">[Pro]<span class="rttpg-tooltip-text">' . esc_html__( 'Premium Option', 'the-post-grid' ) . '</span></span>'; } $html .= '</div>'; } $html .= "<div class='field'>"; switch ( $this->type ) { case 'text': $html .= $this->text(); break; case 'url': $html .= $this->url(); break; case 'number': $html .= $this->number(); break; case 'select': $html .= $this->select(); break; case 'textarea': $html .= $this->textArea(); break; case 'checkbox': $html .= $this->checkbox(); break; case 'switch': $html .= $this->switchField(); break; case 'checkboxFilter': $html .= $this->checkboxFilter(); break; case 'radio': $html .= $this->radioField(); break; case 'radio-image': $html .= $this->radioImage(); break; case 'date_range': $html .= $this->dateRange(); break; case 'script': $html .= $this->script(); break; case 'image': $html .= $this->image(); break; case 'image_size': $html .= $this->imageSize(); break; } if ( $this->description ) { $html .= '<p class="description">' . Fns::htmlKses( $this->description, 'basic' ) . '</p>'; } if ( $this->descriptionAdv ) { $html .= '<p class="description">' . Fns::htmlKses( $this->descriptionAdv, 'advanced' ) . '</p>'; } $html .= '</div>'; // field. $html .= '</div>'; // field holder. return $html; } private function text() { $holderClass = explode( ' ', $this->holderClass ); $h = null; $h .= '<input type="text" class="' . esc_attr( $this->class ) . '" id="' . esc_attr( $this->id ) . '" value="' . esc_attr( $this->value ) . '" name="' . esc_attr( $this->name ) . '" placeholder="' . esc_attr( $this->placeholder ) . '" ' . Fns::htmlKses( $this->attr, 'basic' ) . ' />'; return $h; } private function script() { $type = 'script'; if ( $this->id == 'custom-css' ) { $type = 'css'; } $h = null; $h .= '<div class="rt-script-wrapper" data-type="' . esc_attr( $type ) . '">'; $h .= '<div class="rt-script-container">'; $h .= "<div name='" . esc_attr( $this->name ) . "' id='ret-" . absint( wp_rand() ) . "' class='rt-script'>"; $h .= '</div>'; $h .= '</div>'; $h .= '<textarea style="display: none;" class="rt-script-textarea" id="' . esc_attr( $this->id ) . '" name="' . esc_attr( $this->name ) . '" >' . wp_strip_all_tags( $this->value ) . '</textarea>'; $h .= '</div>'; return $h; } private function url() { $h = null; $h .= '<input type="url" class="' . esc_attr( $this->class ) . '" id="' . esc_attr( $this->id ) . '" value="' . esc_url( $this->value ) . '" name="' . esc_attr( $this->name ) . '" placeholder="' . esc_attr( $this->placeholder ) . '" ' . Fns::htmlKses( $this->attr, 'basic' ) . ' />'; return $h; } private function number() { $holderClass = explode( ' ', $this->holderClass ); $h = null; $h .= '<input type="number" class="' . esc_attr( $this->class ) . '" id="' . esc_attr( $this->id ) . '" value="' . ( ! empty( $this->value ) ? esc_html( $this->value ) : null ) . '" name="' . esc_attr( $this->name ) . '" placeholder="' . esc_attr( $this->placeholder ) . '" ' . Fns::htmlKses( $this->attr, 'basic' ) . ' />'; return $h; } private function select() { $holderClass = explode( ' ', $this->holderClass ); $atts = ( in_array( 'pro-field', $holderClass, true ) ) && ! rtTPG()->hasPro() ? 'disabled="true"' : ''; $h = null; if ( $this->multiple ) { $this->attr = " style='min-width:160px;'"; $this->name = $this->name . '[]'; $this->attr = $this->attr . " multiple='multiple'"; $this->value = ( is_array( $this->value ) && ! empty( $this->value ) ? $this->value : [] ); } else { $this->value = [ $this->value ]; } $h .= '<select ' . $atts . ' name="' . esc_attr( $this->name ) . '" id="' . esc_attr( $this->id ) . '" class="' . esc_attr( $this->class ) . '" ' . Fns::htmlKses( $this->attr, 'basic' ) . '>'; if ( $this->blank ) { $h .= '<option value="">' . esc_html( $this->blank ) . '</option>'; } if ( is_array( $this->options ) && ! empty( $this->options ) ) { foreach ( $this->options as $key => $value ) { $slt = ( in_array( $key, $this->value ) ? 'selected' : null ); $h .= '<option ' . esc_attr( $slt ) . ' value="' . esc_attr( $key ) . '">' . esc_html( $value ) . '</option>'; } } $h .= '</select>'; return $h; } private function textArea() { $holderClass = explode( ' ', $this->holderClass ); $h = null; $h .= '<textarea class="' . esc_attr( $this->class ) . ' rt-textarea" id="' . esc_attr( $this->id ) . '" name="' . esc_attr( $this->name ) . '" placeholder="' . esc_attr( $this->placeholder ) . '" ' . Fns::htmlKses( $this->attr, 'basic' ) . ' >' . wp_kses_post( $this->value ?? '' ) . '</textarea>'; return $h; } private function image() { $holderClass = explode( ' ', $this->holderClass ); $h = null; $img = null; $h .= "<div class='rt-image-holder'>"; $h .= '<input type="hidden" name="' . esc_attr( $this->name ) . '" value="' . absint( $this->value ) . '" id="' . esc_attr( $this->id ) . '" class="hidden-image-id" />'; $c = 'hidden'; if ( $id = absint( $this->value ) ) { $aImg = wp_get_attachment_image_src( $id, 'thumbnail' ); $img = '<img src="' . esc_url( $aImg[0] ) . '" >'; $c = null; } $h .= '<div class="rt-image-preview">' . Fns::htmlKses( $img, 'image' ) . '<span class="dashicons dashicons-plus-alt rtAddImage"></span><span class="dashicons dashicons-trash rtRemoveImage ' . esc_attr( $c ) . '"></span></div>'; $h .= '</div>'; return $h; } private function imageSize() { $width = ( ! empty( $this->value[0] ) ? $this->value[0] : null ); $height = ( ! empty( $this->value[1] ) ? $this->value[1] : null ); $cropV = ( ! empty( $this->value[2] ) ? $this->value[2] : 'soft' ); $h = null; $h .= "<div class='rt-image-size-holder'>"; $h .= "<div class='rt-image-size-width rt-image-size'>"; $h .= '<label>Width</label>'; $h .= '<input type="number" name="' . esc_attr( $this->name ) . '[]" value="' . absint( $width ) . '" />'; $h .= '</div>'; $h .= "<div class='rt-image-size-height rt-image-size'>"; $h .= '<label>Height</label>'; $h .= '<input type="number" name="' . esc_attr( $this->name ) . '[]" value="' . absint( $height ) . '" />'; $h .= '</div>'; $h .= "<div class='rt-image-size-crop rt-image-size'>"; $h .= '<label>Crop</label>'; $h .= '<select name="' . esc_attr( $this->name ) . '[]" class="rt-select2">'; $cropList = Options::imageCropType(); foreach ( $cropList as $crop => $cropLabel ) { $cSl = ( $crop == $cropV ? 'selected' : null ); $h .= '<option value="' . esc_attr( $crop ) . '" ' . esc_attr( $cSl ) . '>' . esc_html( $cropLabel ) . '</option>'; } $h .= '</select>'; $h .= '</div>'; $h .= '</div>'; return $h; } private function checkbox() { $holderClass = explode( ' ', $this->holderClass ); $this->alignment .= ( in_array( 'pro-field', $holderClass, true ) ) && ! rtTPG()->hasPro() ? ' disabled' : ''; $h = null; if ( $this->multiple ) { $this->name = $this->name . '[]'; $this->value = ( is_array( $this->value ) && ! empty( $this->value ) ? $this->value : [] ); } if ( $this->multiple ) { $h .= '<div class="checkbox-group ' . esc_attr( $this->alignment ) . '" id="' . esc_attr( $this->id ) . '">'; if ( is_array( $this->options ) && ! empty( $this->options ) ) { foreach ( $this->options as $key => $value ) { $checked = ( in_array( $key, $this->value ) ? 'checked' : null ); $h .= '<label for="' . esc_attr( $this->id ) . '-' . esc_attr( $key ) . '"><input type="checkbox" id="' . esc_attr( $this->id ) . '-' . esc_attr( $key ) . '" ' . esc_attr( $checked ) . ' name="' . esc_attr( $this->name ) . '" value="' . esc_attr( $key ) . '">' . esc_html( $value ) . '</label>'; } } $h .= '</div>'; } else { $checked = ( $this->value ? 'checked' : null ); $h .= '<label><input type="checkbox" ' . esc_attr( $checked ) . ' id="' . esc_attr( $this->id ) . '" name="' . esc_attr( $this->name ) . '" value="1" />' . esc_html( $this->option ) . '</label>'; } return $h; } private function switchField() { $h = null; $checked = $this->value ? 'checked' : null; $h .= '<label class="rttm-switch"><input type="checkbox" ' . esc_attr( $checked ) . ' id="' . esc_attr( $this->id ) . '" name="' . esc_attr( $this->name ) . '" value="1" /><span class="rttm-switch-slider round"></span></label>'; return $h; } private function checkboxFilter() { global $post; $pt = get_post_meta( $post->ID, 'tpg_post_type', true ); $advFilters = Options::rtTPAdvanceFilters(); $holderClass = explode( ' ', $this->holderClass ); $h = null; if ( $this->multiple ) { $this->name = $this->name . '[]'; $this->value = ( is_array( $this->value ) && ! empty( $this->value ) ? $this->value : [] ); } if ( $this->multiple ) { $h .= '<div class="checkbox-group ' . esc_attr( $this->alignment ) . '" id="' . esc_attr( $this->id ) . '">'; if ( is_array( $this->options ) && ! empty( $this->options ) ) { foreach ( $this->options as $key => $value ) { $checked = ( in_array( $key, $this->value ) ? 'checked' : null ); $h .= '<div class="checkbox-filter-field">'; $h .= '<label for="' . esc_attr( $this->id ) . '-' . esc_attr( $key ) . '"><input type="checkbox" id="' . esc_attr( $this->id ) . '-' . esc_attr( $key ) . '" ' . esc_attr( $checked ) . ' name="' . esc_attr( $this->name ) . '" value="' . esc_attr( $key ) . '">' . esc_html( $value ) . '</label>'; if ( $key == 'tpg_taxonomy' ) { $h .= "<div class='rt-tpg-filter taxonomy tpg_taxonomy tpg-hidden'>"; if ( isset( $pt ) && $pt ) { $taxonomies = Fns::rt_get_all_taxonomy_by_post_type( $pt ); $taxA = get_post_meta( $post->ID, 'tpg_taxonomy' ); $post_filter = get_post_meta( $post->ID, 'post_filter' ); $h .= "<div class='taxonomy-field'>"; if ( is_array( $post_filter ) && ! empty( $post_filter ) && in_array( 'tpg_taxonomy', $post_filter ) && ! empty( $taxonomies ) ) { $h .= Fns::rtFieldGenerator( [ 'tpg_taxonomy' => [ 'type' => 'checkbox', 'label' => '', 'id' => 'post-taxonomy', 'multiple' => true, 'options' => $taxonomies, ], ] ); } else { $h .= '<div class="field-holder">' . esc_html__( 'No Taxonomy found', 'the-post-grid' ) . '</div>'; } $h .= '</div>'; $h .= "<div class='rt-tpg-filter-item term-filter-item tpg-hidden'>"; $h .= '<div class="field-holder">'; $h .= '<div class="field-label">Terms</div>'; $h .= '<div class="field term-filter-holder">'; if ( is_array( $taxA ) && ! empty( $taxA ) ) { foreach ( $taxA as $tax ) { $h .= '<div class="term-filter-item-container ' . esc_attr( $tax ) . '">'; $h .= Fns::rtFieldGenerator( [ 'term_' . $tax => [ 'type' => 'select', 'label' => ucfirst( str_replace( '_', ' ', $tax ) ), 'class' => 'rt-select2 full', 'holderClass' => "term-filter-item {$tax}", 'value' => get_post_meta( $post->ID, 'term_' . $tax ), 'multiple' => true, 'options' => Fns::rt_get_all_term_by_taxonomy( $tax ), ], ] ); $h .= Fns::rtFieldGenerator( [ 'term_operator_' . $tax => [ 'type' => 'select', 'label' => esc_html__( 'Operator', 'the-post-grid' ), 'class' => 'rt-select2 full', 'holderClass' => "term-filter-item-operator {$tax}", 'value' => get_post_meta( $post->ID, 'term_operator_' . $tax, true ), 'options' => Options::rtTermOperators(), ], ] ); $h .= '</div>'; } } $h .= '</div>'; $h .= '</div>'; $h .= Fns::rtFieldGenerator( [ 'taxonomy_relation' => [ 'type' => 'select', 'label' => esc_html__( 'Relation', 'the-post-grid' ), 'class' => 'rt-select2', 'holderClass' => 'term-filter-item-relation ' . ( count( $taxA ) > 1 ? null : 'hidden' ), 'value' => get_post_meta( $post->ID, 'taxonomy_relation', true ), 'options' => Options::rtTermRelations(), ], ] ); $h .= '</div>'; } else { $h .= "<div class='taxonomy-field'>"; $h .= '</div>'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= '<div class="field-holder">'; $h .= '<div class="field-label">Terms</div>'; $h .= '<div class="field term-filter-holder">'; $h .= '</div>'; $h .= '</div>'; $h .= '</div>'; $h .= Fns::rtFieldGenerator( [ 'taxonomy_relation' => [ 'type' => 'select', 'label' => esc_html__( 'Relation', 'the-post-grid' ), 'class' => 'rt-select2', 'holderClass' => 'term-filter-item-relation tpg-hidden', 'default' => 'OR', 'options' => Options::rtTermRelations(), ], ] ); } $h .= '</div>'; } elseif ( $key == 'order' ) { $h .= '<div class="rt-tpg-filter ' . esc_attr( $key ) . ' tpg-hidden">'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= "<div class='field-holder'>"; $h .= "<div class='field'>"; $h .= Fns::rtFieldGenerator( [ 'order_by' => [ 'type' => 'select', 'label' => esc_html__( 'Order by', 'the-post-grid' ), 'class' => 'rt-select2 filter-item', 'value' => get_post_meta( $post->ID, 'order_by', true ), 'options' => Options::rtPostOrderBy( false, true ), 'description' => esc_html__( 'If "Meta value", "Meta value Number" or "Meta value datetime" is chosen then meta key is required.', 'the-post-grid' ), ], ] ); $h .= Fns::rtFieldGenerator( [ 'tpg_meta_key' => [ 'type' => 'text', 'label' => esc_html__( 'Meta key', 'the-post-grid' ), 'class' => 'rt-select2 filter-item', 'holderClass' => 'tpg-hidden', 'value' => get_post_meta( $post->ID, 'tpg_meta_key', true ), ], ] ); $h .= Fns::rtFieldGenerator( [ 'order' => [ 'type' => 'radio', 'label' => esc_html__( 'Order', 'the-post-grid' ), 'class' => 'rt-select2 filter-item', 'alignment' => 'vertical', 'default' => 'DESC', 'value' => get_post_meta( $post->ID, 'order', true ), 'options' => Options::rtPostOrders(), ], ] ); $h .= '</div>'; $h .= '</div>'; $h .= '</div>'; $h .= '</div>'; } elseif ( $key == 'author' ) { $h .= '<div class="rt-tpg-filter ' . esc_attr( $key ) . ' tpg-hidden">'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= Fns::rtFieldGenerator( [ $key => [ 'type' => 'select', 'label' => '', 'class' => 'rt-select2 filter-item full', 'value' => get_post_meta( $post->ID, $key ), 'multiple' => true, 'options' => Fns::rt_get_users(), ], ] ); $h .= '</div>'; $h .= '</div>'; } elseif ( $key == 's' ) { $h .= '<div class="rt-tpg-filter ' . esc_attr( $key ) . ' tpg-hidden">'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= Fns::rtFieldGenerator( [ $key => [ 'type' => 'text', 'label' => esc_html__( 'Keyword', 'the-post-grid' ), 'class' => 'filter-item full', 'value' => get_post_meta( $post->ID, $key, true ), ], ] ); $h .= '</div>'; $h .= '</div>'; } elseif ( $key == 'date_range' ) { $range_start = get_post_meta( $post->ID, 'date_range_start', true ); $range_end = get_post_meta( $post->ID, 'date_range_end', true ); $range_value = [ 'start' => $range_start, 'end' => $range_end, ]; $h .= '<div class="rt-tpg-filter ' . esc_attr( $key ) . ' tpg-hidden">'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= Fns::rtFieldGenerator( [ $key => [ 'type' => 'date_range', 'label' => '', 'class' => 'filter-item full rt-date-range', 'value' => $range_value, 'description' => "Date format should be 'yyyy-mm-dd'", ], ] ); $h .= '</div>'; $h .= '</div>'; } /* Post status has removed * elseif ( $key == 'tpg_post_status' ) { $h .= '<div class="rt-tpg-filter ' . esc_attr( $key ) . ' tpg-hidden">'; $h .= "<div class='rt-tpg-filter-item'>"; $h .= Fns::rtFieldGenerator( array( $key => array( 'type' => 'select', 'label' => '', 'class' => 'rt-select2 filter-item full', 'default' => array( 'publish' ), 'value' => get_post_meta( $post->ID, $key ), 'multiple' => true, 'options' => Options::rtTPGPostStatus(), ), ) ); $h .= '</div>'; $h .= '</div>'; }*/ // } $h .= '</div>'; } } $h .= '</div>'; } else { $checked = ( $this->value ? 'checked' : null ); $h .= '<label><input type="checkbox" ' . esc_attr( $checked ) . ' id="' . esc_attr( $this->id ) . '" name="' . esc_attr( $this->name ) . '" value="1" />' . esc_html( $this->option ) . '</label>'; } return $h; } private function radioField() { $holderClass = explode( ' ', $this->holderClass ); $this->alignment .= ( in_array( 'pro-field', $holderClass, true ) ) && ! rtTPG()->hasPro() ? ' disabled' : ''; $h = null; $h .= '<div class="radio-group ' . esc_attr( $this->alignment ) . '" id="' . esc_attr( $this->id ) . '">'; if ( is_array( $this->options ) && ! empty( $this->options ) ) { foreach ( $this->options as $key => $value ) { $checked = ( $key == $this->value ? 'checked' : null ); $h .= '<label for="' . esc_attr( $this->name ) . '-' . esc_attr( $key ) . '"><input type="radio" id="' . esc_attr( $this->id ) . '-' . esc_attr( $key ) . '" ' . esc_attr( $checked ) . ' name="' . esc_attr( $this->name ) . '" value="' . esc_attr( $key ) . '">' . esc_html( $value ) . '</label>'; } } $h .= '</div>'; return $h; } /** * Radio Image * * @return String */ private function radioImage() { $h = null; $id = 'rttpg-' . $this->name; $h .= sprintf( "<div class='rttpg-radio-image %s' id='%s'>", esc_attr( $this->alignment ), esc_attr( $id ) ); $selected_value = $this->value; if ( is_array( $this->options ) && ! empty( $this->options ) ) { foreach ( $this->options as $key => $value ) { $checked = ( $key == $selected_value ? 'checked' : null ); $title = isset( $value['title'] ) && $value['title'] ? $value['title'] : ''; $link = isset( $value['layout_link'] ) && $value['layout_link'] ? $value['layout_link'] : ''; $linkHtml = empty( $link ) ? esc_html( $title ) : '<a href="' . esc_url( $link ) . '" target="_blank">' . esc_html( $title ) . '</a>'; $layout = isset( $value['layout'] ) ? $value['layout'] : ''; $taghtml = isset( $value['tag'] ) ? '<div class="rt-tpg-layout-tag"><span>' . $value['tag'] . '</span></div>' : ''; $h .= sprintf( '<div class="rt-tpg-radio-layout %7$s"><label data-type="%7$s" class="radio-image %7$s" for="%2$s"> <input type="radio" id="%2$s" %3$s name="%4$s" value="%2$s"> <div class="rttpg-radio-image-wrap"> <img src="%5$s" title="%6$s" alt="%2$s"> <div class="rttpg-checked"><span class="dashicons dashicons-yes"></span></div> %9$s </div> </label> <div class="rttpg-demo-name">%8$s</div> </div>', '', esc_attr( $key ), esc_attr( $checked ), esc_attr( $this->name ), esc_url( $value['img'] ), esc_attr( $title ), esc_attr( $layout ), Fns::htmlKses( $linkHtml, 'basic' ), Fns::htmlKses( $taghtml, 'basic' ) ); } } $h .= '</div>'; return $h; } private function dateRange() { $h = null; $this->name = ( $this->name ? $this->name : 'date-range-' . wp_rand( 0, 1000 ) ); $h .= '<div class="date-range-container" id="' . esc_attr( $this->id ) . '">'; $h .= "<div class='date-range-content start'><span>" . esc_html__( 'Start', 'the-post-grid' ) . "</span><input type='text' class='date-range date-range-start {$this->class}' id='" . esc_attr( $this->id ) . "-start' value='" . esc_attr( $this->value['start'] ) . "' name='" . esc_attr( $this->name ) . "_start' placeholder='" . esc_attr( $this->name ) . "' " . Fns::htmlKses( $this->attr, 'basic' ) . ' /></div>'; $h .= "<div class='date-range-content end'><span>" . esc_html__( 'End', 'the-post-grid' ) . "</span><input type='text' class='date-range date-range-end {$this->class}' id='" . esc_attr( $this->id ) . "-end' value='" . esc_attr( $this->value['end'] ) . "' name='" . esc_attr( $this->name ) . "_end' placeholder='" . esc_attr( $this->name ) . "' " . Fns::htmlKses( $this->attr, 'basic' ) . ' /></div>'; $h .= '</div>'; return $h; } }
Copyright ©2021 || Defacer Indonesia