80 lines
1.9 KiB
PHP
80 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Image upload field which uses thickbox library to upload.
|
|
* @deprecated Use image_advanced instead
|
|
*/
|
|
class MASHSB_RWMB_Thickbox_Image_Field extends MASHSB_RWMB_Image_Field
|
|
{
|
|
/**
|
|
* Add custom actions for the field.
|
|
*/
|
|
public static function add_actions()
|
|
{
|
|
parent::add_actions();
|
|
add_filter( 'get_media_item_args', array( __CLASS__, 'allow_img_insertion' ) );
|
|
}
|
|
|
|
/**
|
|
* Always enable insert to post button in the popup
|
|
* @link https://github.com/rilwis/meta-box/issues/809
|
|
* @link http://wordpress.stackexchange.com/q/22175/2051
|
|
* @param array $vars
|
|
* @return array
|
|
*/
|
|
public static function allow_img_insertion( $vars )
|
|
{
|
|
$vars['send'] = true; // 'send' as in "Send to Editor"
|
|
return $vars;
|
|
}
|
|
|
|
/**
|
|
* Enqueue scripts and styles
|
|
*/
|
|
public static function admin_enqueue_scripts()
|
|
{
|
|
parent::admin_enqueue_scripts();
|
|
|
|
add_thickbox();
|
|
wp_enqueue_script( 'media-upload' );
|
|
|
|
wp_enqueue_script( 'mashsb-rwmb-thickbox-image', MASHSB_RWMB_JS_URL . 'thickbox-image.js', array( 'jquery' ), MASHSB_RWMB_VER, true );
|
|
}
|
|
|
|
/**
|
|
* Get field HTML
|
|
*
|
|
* @param mixed $meta
|
|
* @param array $field
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function html( $meta, $field )
|
|
{
|
|
$i18n_title = apply_filters( 'rwmb_thickbox_image_upload_string', _x( 'Upload Images', 'image upload', 'meta-box' ), $field );
|
|
|
|
// Uploaded images
|
|
$html = parent::get_uploaded_images( $meta, $field );
|
|
|
|
// Show form upload
|
|
$html .= "<a href='#' class='button mashsb-rwmb-thickbox-upload' data-field_id='{$field['id']}'>{$i18n_title}</a>";
|
|
|
|
return $html;
|
|
}
|
|
|
|
/**
|
|
* Get field value
|
|
* It's the combination of new (uploaded) images and saved images
|
|
*
|
|
* @param array $new
|
|
* @param array $old
|
|
* @param int $post_id
|
|
* @param array $field
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function value( $new, $old, $post_id, $field )
|
|
{
|
|
return array_unique( array_merge( $old, $new ) );
|
|
}
|
|
}
|