File "admin-tools.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/admin/admin-tools.php
File
size: 3.05 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!defined('ABSPATH')) {
exit;
}
if (!class_exists('acf_admin_tools')) {
class acf_admin_tools
{
var $tools = array();
var $active = '';
function __construct()
{
add_action('admin_menu', array($this, 'admin_menu'));
}
function register_tool($class)
{
$instance = new $class();
$this->tools[$instance->name] = $instance;
}
function get_tool($name)
{
return isset($this->tools[$name]) ? $this->tools[$name] : null;
}
function get_tools()
{
return $this->tools;
}
function admin_menu()
{
if (!acf_get_setting('show_admin')) {
return;
}
$page = add_submenu_page('edit.php?post_type=acf-field-group', __('Tools', 'acf'), __('Tools', 'acf'), acf_get_setting('capability'), 'acf-tools', array($this, 'html'));
add_action('load-' . $page, array($this, 'load'));
}
function load()
{
acf_disable_filters();
$this->include_tools();
$this->check_submit();
acf_enqueue_scripts();
}
function include_tools()
{
acf_include('includes/admin/tools/class-acf-admin-tool.php');
acf_include('includes/admin/tools/class-acf-admin-tool-export.php');
acf_include('includes/admin/tools/class-acf-admin-tool-import.php');
do_action('acf/include_admin_tools');
}
function check_submit()
{
foreach ($this->get_tools() as $tool) {
$tool->load();
if (acf_verify_nonce($tool->name)) {
$tool->submit();
}
}
}
function html()
{
$screen = get_current_screen();
$active = acf_maybe_get_GET('tool');
$view = array('screen_id' => $screen->id, 'active' => $active);
foreach ($this->get_tools() as $tool) {
if ($active && $active !== $tool->name) {
continue;
}
add_meta_box('acf-admin-tool-' . $tool->name, acf_esc_html($tool->title), array($this, 'metabox_html'), $screen->id, 'normal', 'default', array('tool' => $tool->name));
}
acf_get_view('html-admin-tools', $view);
}
function metabox_html($post, $metabox)
{
$tool = $this->get_tool($metabox['args']['tool']);
?>
<form method="post">
<?php
$tool->html();
?>
<?php
acf_nonce_input($tool->name);
?>
</form>
<?php
}
}
acf()->admin_tools = new acf_admin_tools();
}
function acf_register_admin_tool($class)
{
return acf()->admin_tools->register_tool($class);
}
function acf_get_admin_tools_url()
{
return admin_url('edit.php?post_type=acf-field-group&page=acf-tools');
}
function acf_get_admin_tool_url($tool = '')
{
return acf_get_admin_tools_url() . '&tool=' . $tool;
}