%PDF- %PDF-
Direktori : /var/www/knwn/wp-content/plugins/post-duplicator/metaboxer/ |
Current File : /var/www/knwn/wp-content/plugins/post-duplicator/metaboxer/metaboxer.php |
<?php /** * Put all the Metaboxer admin function here fields here * * @package Post Duplicator * @author Metaphor Creations * @license http://www.opensource.org/licenses/gpl-license.php GPL v2.0 (or later) */ /** * Create a field container and switch. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_container( $field, $context ) { global $post; $default = isset( $field['default'] ) ? $field['default'] : ''; $value = ( get_post_meta( $post->ID, $field['id'], true ) != '' ) ? get_post_meta( $post->ID, $field['id'], true ) : $default; $display = isset( $field['display'] ) ? $field['display'] : ''; ?> <tr class="mtphr-post-duplicator-metaboxer-field mtphr-post-duplicator-metaboxer-field-<?php esc_attr_e( $field['type'] ); ?> mtphr-post-duplicator-metaboxer<?php esc_attr_e( $field['id'] ); ?><?php if( isset($field['class']) ) { esc_attr_e( ' ' . $field['class'] ); } ?> clearfix"> <?php $content_class = 'mtphr-post-duplicator-metaboxer-field-content mtphr-post-duplicator-metaboxer-field-content-full mtphr-post-duplicator-metaboxer-'.$field['type'].' clearfix'; $content_span = ' colspan="2"'; $label = false; if ( isset($field['name']) || isset($field['description']) ) { $content_class = 'mtphr-post-duplicator-metaboxer-field-content mtphr-post-duplicator-metaboxer-'.$field['type'].' clearfix'; $content_span = ''; $label = true; ?> <?php if( $context == 'side' || $display == 'vertical' ) { ?><td><table><tr><?php } ?> <td class="mtphr-post-duplicator-metaboxer-label"> <?php if( isset($field['name']) ) { ?><label for="<?php esc_attr_e( $field['id'] ); ?>"><?php esc_html_e( $field['name'] ); ?></label><?php } ?> <?php if( isset($field['description']) ) { ?><small><?php esc_html_e( $field['description'] ); ?></small><?php } ?> </td> <?php if( $context == 'side' || $display == 'vertical' ) { echo '</tr>'; } ?> <?php } ?> <?php if( $label ) { if( $context == 'side' || $display == 'vertical' ) { echo '<tr>'; } } ?> <td<?php esc_html_e( $content_span ); ?> class="<?php esc_attr_e( $content_class ); ?>" id="<?php esc_attr_e( $post->ID ); ?>"> <?php // Call the function to display the field if ( function_exists('mtphr_post_duplicator_metaboxer_'.$field['type']) ) { call_user_func( 'mtphr_post_duplicator_metaboxer_'.$field['type'], $field, $value ); } ?> </td> <?php if( $label ) { if( $context == 'side' || $display == 'vertical' ) { echo '</tr></table></td>'; } } ?> </tr> <?php } /** * Append fields * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_append_field( $field ) { // Add appended fields if( isset($field['append']) ) { $fields = $field['append']; $settings = ( isset($field['option'] ) ) ? $field['option'] : false; if( is_array($fields) ) { foreach( $fields as $id => $field ) { // Get the value if( $settings) { $options = get_option( $settings ); $value = isset( $options[$id] ) ? $options[$id] : get_option( $id ); } else { global $post; $value = get_post_meta( $post->ID, $id, true ); } // Set the default if no value if( $value == '' && isset($field['default']) ) { $value = $field['default']; } if( isset($field['type']) ) { if( $settings ) { $field['id'] = $settings.'['.$id.']'; $field['option'] = $settings; } else { $field['id'] = $id; } // Call the function to display the field if ( function_exists('mtphr_post_duplicator_metaboxer_' . esc_attr( $field['type'] ) ) ) { echo '<div class="mtphr-post-duplicator-metaboxer-appended mtphr-post-duplicator-metaboxer' . esc_attr( $field['id'] ) . '">'; call_user_func( 'mtphr_post_duplicator_metaboxer_' . esc_attr( $field['type'] ), $field, $value ); echo '</div>'; } } } } } } /** * Renders a select field. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_select( $field, $value='' ) { $before = ( isset($field['before']) ) ? '<span>'.$field['before'].' </span>' : ''; $after = ( isset($field['after']) ) ? '<span> '.$field['after'].'</span>' : ''; echo wp_kses_post( $before ) . '<select name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'">'; if( $field['options'] ) { $key_val = isset( $field['key_val'] ) ? true : false; foreach ( $field['options'] as $key => $option ) { if( is_numeric($key) && !$key_val ) { $name = ( is_array( $option ) ) ? $option['name'] : $option; $val = ( is_array( $option ) ) ? $option['value'] : $option; } else { $name = $option; $val = $key; } echo '<option value="'.esc_attr( $val ).'" '.selected( $val, $value, false ).'>'.stripslashes( wp_kses_post( $name ) ).'</option>'; } } echo '</select>' . wp_kses_post( $after ); // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); } /** * Renders a radio custom field. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_radio( $field, $value='' ) { if( isset($field['options']) ) { $break = '<br/>'; if ( isset($field['display']) ) { if( $field['display'] == 'inline' ) { $break = ' '; } } foreach( $field['options'] as $i => $option ) { echo '<label><input name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'" type="radio" value="'.esc_attr( $i ).'" '.checked( $value, $i, false ).' /> '.wp_kses_post( $option ).'</label>'.wp_kses_post( $break ); } } // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); } /** * Renders a checkbox. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_checkbox( $field, $value='' ) { $before = ( isset($field['before']) ) ? '<span>'.$field['before'].' </span>' : ''; $after = ( isset($field['after']) ) ? '<span> '.$field['after'].'</span>' : ''; if( isset($field['options']) ) { echo wp_kses_post( $before ); $break = '<br/>'; if ( isset($field['display']) ) { if( $field['display'] == 'inline' ) { $break = ' '; } } foreach( $field['options'] as $i => $option ) { echo '<label><input name="'.esc_attr( $field['id'] ).'['.esc_attr( $i ).']" id="'.esc_attr( $field['id'] ).'['.esc_attr( $i ).']" type="checkbox" value="1" '.checked( $value[$i], '1', false ).' /> '.wp_kses_post( $option ).'</label>'.wp_kses_post( $break ); } echo wp_kses_post( $after ); } else { echo wp_kses_post( $before ); echo '<label><input name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'" type="checkbox" value="1" '.checked( $value, '1', false ).' />'; if( isset($field['label']) ) { echo ' '.wp_kses_post( $field['label'] ); } echo '</label>'; echo wp_kses_post( $after ); } // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); } /** * Renders an text field. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_text( $field, $value='' ) { $size = ( isset($field['size']) ) ? $field['size'] : 40; $before = ( isset($field['before']) ) ? '<span>'.$field['before'].' </span>' : ''; $after = ( isset($field['after']) ) ? '<span> '.$field['after'].'</span>' : ''; $text_align = ( isset($field['text_align']) ) ? ' style="text-align:'.$field['text_align'].'"' : '' ; echo wp_kses_post( $before ).'<input name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'" type="text" value="'.esc_attr( $value ).'" size="'.esc_attr( $size ).'"'.wp_kses_post( $text_align ).'>'.wp_kses_post( $after ); // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); } /** * Renders a textarea. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_textarea( $field, $value='' ) { $rows = ( isset($field['rows']) ) ? $field['rows'] : 5; $cols = ( isset($field['cols']) ) ? $field['cols'] : 40; echo '<textarea name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'" rows="'.esc_attr( $rows ).'" cols="'.esc_attr( $cols ).'">'.wp_kses_post( $value ).'</textarea>'; // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); } /** * Renders an number field. * * @since 2.25 */ function mtphr_post_duplicator_metaboxer_number( $field, $value='' ) { $style = ( isset($field['style']) ) ? ' style="'.$field['style'].'"' : ''; $before = ( isset($field['before']) ) ? '<span>'.$field['before'].' </span>' : ''; $after = ( isset($field['after']) ) ? '<span> '.$field['after'].'</span>' : ''; echo wp_kses_post( $before ).'<input name="'.esc_attr( $field['id'] ).'" id="'.esc_attr( $field['id'] ).'" type="number" value="'.esc_attr( $value ).'" class="small-text"'.wp_kses_post( $style ).'>'.wp_kses_post( $after ); // Add appended fields mtphr_post_duplicator_metaboxer_append_field($field); }