<?php
// Prevent loading this file directly
defined( 'ABSPATH' ) || exit;
if ( !class_exists( 'RWMB_Fieldset_Text_Field' ) )
{
class RWMB_Fieldset_Text_Field extends RWMB_Field
{
/**
* Get field HTML
*
* @param mixed $meta
* @param array $field
*
* @return string
*/
static function html( $meta, $field )
{
if ( count( $meta ) == 1 && trim( $meta[0] ) == '' )
$meta = '';
$html = array();
$before = '<fieldset><legend>' . $field['desc'] . '</legend>';
$after = '</fieldset>';
$tpl = '<label>%s <input type="text" class="rwmb-fieldset-text" name="%s[%s][%d]" placeholder="%s" value="%s" /></label>';
for ( $n = 0; $n < $field['rows']; $n++ )
{
foreach ( $field['options'] as $k => $v )
{
$fid = $field['id'];
if ( is_array( $meta ) && !empty( $meta ) )
$html[] = sprintf( $tpl, $k, $fid, $v, $n, $k, $meta[$v][$n] );
else
$html[] = sprintf( $tpl, $k, $fid, $v, $n, $k, '' );
}
$html[] = '<br>';
}
$out = $before . implode( ' ', $html ) . $after;
return $out;
}
/**
* Get meta value
*
* @param $post_id
* @param $saved
* @param $field
*
* @return array
*/
static function meta( $post_id, $saved, $field )
{
$meta = get_post_meta( $post_id, $field['id'] );
if ( is_array( $meta ) && !empty( $meta ) )
$meta = $meta[0];
return $meta;
}
/**
* Save meta value
*
* @param $new
* @param $old
* @param $post_id
* @param $field
*/
static function save( $new, $old, $post_id, $field )
{
update_post_meta( $post_id, $field['id'], $new, $old );
}
}
}