Пример #1
0
 public static function media_upload_with_remove_and_preview($args = array())
 {
     $name = isset($args['name']) ? $args['name'] : '';
     $value = isset($args['value']) ? $args['value'] : '';
     $container_class = isset($args['container_class']) ? $args['container_class'] : '';
     $preview = isset($args['preview']) ? $args['preview'] : true;
     $id = isset($args['id']) ? $args['id'] : '';
     $label = isset($args['label']) ? $args['label'] : '';
     $upload_button_class = isset($args['upload_button_class']) ? $args['upload_button_class'] : '';
     $remove_button_class = isset($args['remove_button_class']) ? $args['remove_button_class'] : '';
     if (empty($id) || empty($name)) {
         return;
     }
     $image_preview = '';
     $media_detail = SB_Option::get_media_detail($value);
     $value_id = $media_detail['id'];
     $value_url = $media_detail['url'];
     $image_preview_class = 'image-preview';
     if (!empty($value_url)) {
         $image_preview = sprintf('<img src="%s">', $value_url);
         $image_preview_class .= ' has-image';
     }
     $container_class = SB_PHP::add_string_with_space_before($container_class, 'sb-media-upload');
     $upload_button_class = SB_PHP::add_string_with_space_before($upload_button_class, 'sb-button button sb-insert-media sb-add_media');
     $remove_button_class = SB_PHP::add_string_with_space_before($remove_button_class, 'sb-button button sb-remove-media sb-remove-image');
     $image_preview_div = '<div class="' . $image_preview_class . '">' . $image_preview . '</div>';
     $before = isset($args['before']) ? $args['before'] : '<div class="' . $container_class . '"><div class="image-upload-container">';
     $after = isset($args['after']) ? $args['after'] : '</div></div>';
     echo $before;
     if ($preview) {
         echo $image_preview_div;
     }
     $args['name'] = $name . '[url]';
     $args['before'] = '';
     $args['description'] = '';
     $args['value'] = $value_url;
     $args['field_class'] = 'image-url';
     $args['autocomplete'] = false;
     self::text($args);
     $args['label'] = '';
     $args['name'] = $name . '[id]';
     $args['field_class'] = 'media-id';
     $args['type'] = 'hidden';
     $args['value'] = $value_id;
     self::text($args);
     $html = new SB_HTML('a');
     $atts = array('href' => 'javascript:;', 'class' => $upload_button_class, 'title' => __('Insert image', 'sb-core'), 'text' => __('Upload', 'sb-core'));
     $html->set_attribute_array($atts);
     echo $html->build();
     $atts = array('href' => 'javascript:;', 'class' => $remove_button_class, 'title' => __('Remove image', 'sb-core'), 'text' => __('Remove', 'sb-core'));
     $html->set_attribute_array($atts);
     echo $html->build();
     self::the_after($before, $after);
 }