File "form-attachment.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/forms/form-attachment.php
File
size: 2.59 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!class_exists('acf_form_attachment')) {
class acf_form_attachment
{
function __construct()
{
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'));
add_filter('attachment_fields_to_edit', array($this, 'edit_attachment'), 10, 2);
add_filter('attachment_fields_to_save', array($this, 'save_attachment'), 10, 2);
}
function admin_enqueue_scripts()
{
if (!acf_is_screen(array('attachment', 'upload'))) {
return;
}
acf_enqueue_scripts(array('uploader' => true));
if (acf_is_screen('upload')) {
add_action('admin_footer', array($this, 'admin_footer'), 0);
}
}
function admin_footer()
{
acf_form_data(array('screen' => 'attachment', 'post_id' => 0));
?>
<script type="text/javascript">
// WP saves attachment on any input change, so unload is not needed
acf.unload.active = 0;
</script>
<?php
}
function edit_attachment($form_fields, $post)
{
$is_page = acf_is_screen('attachment');
$post_id = $post->ID;
$el = 'tr';
$field_groups = acf_get_field_groups(array('attachment_id' => $post_id, 'attachment' => $post_id));
if (!empty($field_groups)) {
ob_start();
acf_form_data(array('screen' => 'attachment', 'post_id' => $post_id));
echo '</td></tr>';
foreach ($field_groups as $field_group) {
$fields = acf_get_fields($field_group);
if (!$is_page) {
$field_group['instruction_placement'] = 'field';
}
acf_render_fields($fields, $post_id, $el, $field_group['instruction_placement']);
}
echo '<tr class="compat-field-acf-blank"><td>';
$html = ob_get_contents();
ob_end_clean();
$form_fields['acf-form-data'] = array('label' => '', 'input' => 'html', 'html' => $html);
}
return $form_fields;
}
function save_attachment($post, $attachment)
{
if (!acf_verify_nonce('attachment')) {
return $post;
}
if (acf_is_ajax('save-attachment-compat')) {
acf_save_post($post['ID']);
} elseif (acf_validate_save_post(true)) {
acf_save_post($post['ID']);
}
return $post;
}
}
new acf_form_attachment();
}