plugin = $plugin; $this->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); } /* * create_field() * * Create the HTML interface for your field * * @param $field - an array holding all the field's data * * @type action * @since 3.6 * @date 23/01/13 */ function create_field($field) { global $q_config; $languages = qtrans_getSortedLanguages(true); $values = qtrans_split($field['value'], $quicktags = true); $currentLanguage = $this->plugin->get_active_language(); 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 . ']'; ?>

'; } /* * format_value * * @description: uses the basic value and allows the field type to format it * @since: 3.6 * @created: 26/01/13 */ function format_value($value, $post_id, $field) { return $value; } /* * format_value_for_api() * * This filter is appied to the $value after it is loaded from the db and before it is passed back to the api functions such as the_field * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value which was loaded from the database * @param $post_id - the $post_id from which the value was loaded * @param $field - the field array holding all the field options * * @return $value - the modified value */ function format_value_for_api($value, $post_id, $field) { $value = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value); return parent::format_value_for_api($value, $post_id, $field); } /* * update_value() * * This filter is appied to the $value before it is updated in the db * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value which will be saved in the database * @param $post_id - the $post_id of which the value will be saved * @param $field - the field array holding all the field options * * @return $value - the modified value */ function update_value($value, $post_id, $field) { return qtrans_join($value); } }