name = 'qtranslate_image';
$this->label = __("Image", 'acf');
$this->category = __("qTranslate", 'acf');
$this->defaults = array(
'save_format' => 'object',
'preview_size' => 'thumbnail',
'library' => 'all'
);
$this->l10n = array(
'select' => __("Select Image",'acf'),
'edit' => __("Edit Image",'acf'),
'update' => __("Update Image",'acf'),
'uploadedTo' => __("uploaded to this post",'acf'),
);
acf_field::__construct();
// filters
add_filter('get_media_item_args', array($this, 'get_media_item_args'));
add_filter('wp_prepare_attachment_for_js', array($this, 'wp_prepare_attachment_for_js'), 10, 3);
// JSON
add_action('wp_ajax_acf/fields/image/get_images', array($this, 'ajax_get_images'), 10, 1);
add_action('wp_ajax_nopriv_acf/fields/image/get_images', array($this, 'ajax_get_images'), 10, 1);
}
function create_field($field)
{
if (!acf_qtranslate_enabled()) {
acf_field_image::create_field($field);
return;
}
global $q_config;
$languages = qtrans_getSortedLanguages(true);
$values = qtrans_split($field['value'], $quicktags = true);
$currentLanguage = qtrans_getLanguage();
echo '
';
foreach ($languages as $language) {
$class = 'wp-switch-editor';
if ($language === $currentLanguage) {
$class .= ' current-language';
}
echo '
' . $q_config['language_name'][$language] . '';
}
$base_class = $field['class'];
$base_name = $field['name'];
foreach ($languages as $language) :
$value = $values[$language];
$o = array(
'class' => '',
'url' => '',
);
if ($value && is_numeric($value)) {
$url = wp_get_attachment_image_src($value, $field['preview_size']);
$o['class'] = 'active';
$o['url'] = $url[0];
}
$field['class'] = $base_class;
if ($language === $currentLanguage) {
$field['class'] .= ' current-language';
$o['class'] .= ' current-language';
}
$field['name'] = $base_name . '[' . $language . ']';
?>
';
}
function format_value($value, $post_id, $field)
{
return $value;
}
function format_value_for_api($value, $post_id, $field)
{
if (acf_qtranslate_enabled()) {
$value = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
}
return acf_field_image::format_value_for_api($value, $post_id, $field);
}
function update_value($value, $post_id, $field)
{
if (acf_qtranslate_enabled()) {
$value = qtrans_join($value);
}
return $value;
}
function create_options( $field )
{
acf_field_image::create_options($field);
}
}
new acf_field_qtranslate_image();