tool-import-export.php
3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
/**
* @package WPSEO\Admin
*/
if ( ! defined( 'WPSEO_VERSION' ) ) {
header( 'Status: 403 Forbidden' );
header( 'HTTP/1.1 403 Forbidden' );
exit();
}
$yform = Yoast_Form::get_instance();
$replace = false;
$import = false;
/**
* The import method is used to dermine if there should be something imported.
*
* In case of POST the user is on the Yoast SEO import page and in case of the GET the user sees a notice from
* Yoast SEO that we can import stuff for that plugin.
*/
if ( filter_input( INPUT_POST, 'import' ) || filter_input( INPUT_GET, 'import' ) ) {
check_admin_referer( 'wpseo-import' );
$post_wpseo = filter_input( INPUT_POST, 'wpseo', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
$replace = ( ! empty( $post_wpseo['deleteolddata'] ) && $post_wpseo['deleteolddata'] === 'on' );
if ( ! empty( $post_wpseo['importwoo'] ) ) {
$import = new WPSEO_Import_WooThemes_SEO( $replace );
}
if ( ! empty( $post_wpseo['importaioseo'] ) || filter_input( INPUT_GET, 'importaioseo' ) ) {
$import = new WPSEO_Import_AIOSEO( $replace );
}
if ( ! empty( $post_wpseo['importheadspace'] ) ) {
$import = new WPSEO_Import_External( $replace );
$import->import_headspace();
}
if ( ! empty( $post_wpseo['importwpseo'] ) || filter_input( INPUT_GET, 'importwpseo' ) ) {
$import = new WPSEO_Import_WPSEO( $replace );
}
}
if ( isset( $_FILES['settings_import_file'] ) ) {
check_admin_referer( 'wpseo-import-file' );
$import = new WPSEO_Import();
}
/**
* Allow custom import actions.
*
* @api bool|object $import Contains info about the handled import
*/
$import = apply_filters( 'wpseo_handle_import', $import );
if ( $import ) {
/**
* Allow customization of import&export message
*
* @api string $msg The message.
*/
$msg = apply_filters( 'wpseo_import_message', isset( $import->msg ) ? $import->msg : '' );
if ( $msg != '' ) {
// Check if we've deleted old data and adjust message to match it.
if ( $replace ) {
$msg .= ' ' . __( 'The old data of the imported plugin was deleted successfully.', 'wordpress-seo' );
}
$status = ( $import->success ) ? 'updated' : 'error';
echo '<div id="message" class="message ', $status, '"><p>', $msg, '</p></div>';
}
}
$tabs = array(
'wpseo-import' => array(
'label' => __( 'Import settings', 'wordpress-seo' ),
'screencast_video_url' => 'https://yoa.st/screencast-tools-import-export',
),
'wpseo-export' => array(
'label' => __( 'Export settings', 'wordpress-seo' ),
'screencast_video_url' => 'https://yoa.st/screencast-tools-import-export',
),
'import-seo' => array(
'label' => __( 'Import from other SEO plugins', 'wordpress-seo' ),
'screencast_video_url' => 'https://yoa.st/screencast-tools-import-export',
),
);
?>
<br/><br/>
<h2 class="nav-tab-wrapper" id="wpseo-tabs">
<?php foreach ( $tabs as $identifier => $tab ) : ?>
<a class="nav-tab" id="<?php echo $identifier; ?>-tab" href="#top#<?php echo $identifier; ?>"><?php echo $tab['label']; ?></a>
<?php endforeach; ?>
<?php
/**
* Allow adding a custom import tab header
*/
do_action( 'wpseo_import_tab_header' );
?>
</h2>
<?php
foreach ( $tabs as $identifier => $tab ) {
printf( '<div id="%s" class="wpseotab">', $identifier );
if ( ! empty( $tab['screencast_video_url'] ) ) {
$tab_video_url = $tab['screencast_video_url'];
$helpcenter_tab = new WPSEO_Option_Tab( $identifier, $tab['label'],
array( 'video_url' => $tab['screencast_video_url'] ) );
$helpcenter = new WPSEO_Help_Center( $identifier, $helpcenter_tab );
$helpcenter->output_help_center();
}
require_once WPSEO_PATH . 'admin/views/tabs/tool/' . $identifier . '.php';
echo '</div>';
}
/**
* Allow adding a custom import tab
*/
do_action( 'wpseo_import_tab_content' );