PluginProbe ʕ •ᴥ•ʔ
Pods – Custom Content Types and Fields / trunk
Pods – Custom Content Types and Fields vtrunk
trunk 1.14.8 2.7.31.3 2.8.23.3 2.9.19.3 3.0.10.3 3.1.4.1 3.2.0 3.2.1 3.2.1.1 3.2.2 3.2.4 3.2.5 3.2.6 3.2.7 3.2.7.1 3.2.8 3.2.8.1 3.2.8.2 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9
pods / components / Migrate-CPTUI / ui / wizard.php
pods / components / Migrate-CPTUI / ui Last commit date
wizard.php 4 months ago
wizard.php
239 lines
1 <?php
2
3 // Don't load directly.
4 if ( ! defined( 'ABSPATH' ) ) {
5 die( '-1' );
6 }
7
8 // phpcs:ignoreFile WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
9 ?>
10 <div class="wrap pods-admin">
11 <div id="icon-pods" class="icon32"><br /></div>
12
13 <form action="" method="post" class="pods-submittable">
14 <div class="pods-submittable-fields">
15 <?php PodsForm::output_field( 'action', 'pods_admin_components', 'hidden' ); ?>
16 <?php PodsForm::output_field( 'component', $component, 'hidden' ); ?>
17 <?php PodsForm::output_field( 'method', $method, 'hidden' ); ?>
18 <?php PodsForm::output_field( '_wpnonce', wp_create_nonce( 'pods-component-' . $component . '-' . $method ), 'hidden' ); ?>
19 <?php PodsForm::output_field( 'cleanup', 0, 'hidden', array( 'attributes' => array( 'id' => 'pods_cleanup' ) ) ); ?>
20
21 <h2 class="italicized"><?php esc_html_e( 'Migrate: Import from Custom Post Type UI', 'pods' ); ?></h2>
22
23 <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
24
25 <div id="pods-wizard-box" class="pods-wizard-steps-2 pods-wizard-hide-first">
26 <div id="pods-wizard-heading">
27 <ul>
28 <li class="pods-wizard-menu-current" data-step="1">
29 <i></i> <span>1</span> <?php esc_html_e( 'Step 1: Setup', 'pods' ); ?>
30 <em></em>
31 </li>
32 <li data-step="2">
33 <i></i> <span>2</span> <?php esc_html_e( 'Step 2: Migrate', 'pods' ); ?>
34 <em></em>
35 </li>
36 </ul>
37 </div>
38 <div id="pods-wizard-main">
39 <div id="pods-wizard-panel-1" class="pods-wizard-panel">
40 <div class="pods-wizard-content">
41 <p><?php esc_html_e( 'Custom Post Type UI provides an interface to create Custom Post Types and Custom Taxonomies. You can import these and their settings directly into Pods', 'pods' ); ?></p>
42 </div>
43
44 <div id="pods-wizard-options">
45 <div class="pods-wizard-options-list">
46 <div class="pods-wizard-option">
47 <a href="#pods-wizard-import" data-opt="0">
48 <div>
49 <h2><?php esc_html_e( 'Import Only', 'pods' ); ?></h2>
50
51 <p><?php esc_html_e( 'This will import your Custom Post Types and Taxonomies.', 'pods' ); ?></p>
52 </div>
53 <span>&#10095;</span>
54 </a>
55 </div>
56 <div class="pods-wizard-option">
57 <a href="#pods-wizard-import-clean" data-opt="1">
58 <div>
59 <h2><?php esc_html_e( 'Import and Clean Up', 'pods' ); ?></h2>
60
61 <p><?php esc_html_e( 'This will import your Custom Post Types and Taxonomies, and then remove them from Custom Post Type UI.', 'pods' ); ?></p>
62 </div>
63 <span>&#10095;</span>
64 </a>
65 </div>
66 </div>
67 </div>
68 </div>
69 <div id="pods-wizard-panel-2" class="pods-wizard-panel pods-wizard-option-content">
70 <div class="pods-wizard-content">
71 <p><?php esc_html_e( 'Choose below which Custom Post Types and Taxonomies you want to import into Pods', 'pods' ); ?></p>
72
73 <p>
74 <a href="#toggle" class="button pods-wizard-toggle-all"
75 data-toggle="all"><?php esc_html_e( 'Toggle everything on / off', 'pods' ); ?></a>
76 </p>
77 </div>
78
79 <div class="stuffbox">
80 <h3><label for="link_name"><?php esc_html_e( 'Choose Post Types to Import', 'pods' ); ?></label>
81 </h3>
82
83 <div class="inside pods-manage-field pods-dependency">
84 <?php
85 if ( ! empty( $post_types ) ) {
86 ?>
87 <div class="pods-field-option-group">
88 <p class="pods-field-option-group-label">
89 <?php esc_html_e( 'Available Post Types', 'pods' ); ?>
90 </p>
91
92 <div class="pods-pick-values pods-pick-checkbox">
93 <p>
94 <a href="#toggle" class="button pods-wizard-toggle-all"
95 data-toggle="post_type"><?php esc_html_e( 'Toggle all on / off', 'pods' ); ?></a>
96 </p>
97
98 <ul>
99 <?php
100 foreach ( $post_types as $post_type ) {
101 $post_type_name = pods_v( 'name', $post_type );
102 $post_type_label = pods_v( 'label', $post_type, ucwords( str_replace( '_', ' ', $post_type_name ) ) );
103 ?>
104 <li>
105 <div class="pods-field pods-boolean">
106 <?php
107 PodsForm::output_field( 'post_type[' . $post_type_name . ']', pods_v( 'post_type[' . $post_type_name . ']', 'post', true ), 'boolean', [
108 'boolean_yes_label' => $post_type_label . ' (' . $post_type_name . ')',
109 'disable_dfv' => true,
110 ] );
111 ?>
112 </div>
113 </li>
114 <?php
115 }
116 ?>
117 </ul>
118 </div>
119 </div>
120 <?php
121 } else {
122 ?>
123 <p class="padded"><?php esc_html_e( 'No Post Types were found.', 'pods' ); ?></p>
124 <?php
125 }//end if
126 ?>
127 </div>
128 </div>
129
130 <div class="stuffbox">
131 <h3><label for="link_name"><?php esc_html_e( 'Choose Taxonomies to Import', 'pods' ); ?></label>
132 </h3>
133
134 <div class="inside pods-manage-field pods-dependency">
135 <?php
136 if ( ! empty( $taxonomies ) ) {
137 ?>
138 <div class="pods-field-option-group">
139 <p class="pods-field-option-group-label">
140 <?php esc_html_e( 'Available Taxonomies', 'pods' ); ?>
141 </p>
142
143 <div class="pods-pick-values pods-pick-checkbox">
144 <p>
145 <a href="#toggle" class="button pods-wizard-toggle-all"
146 data-toggle="taxonomy"><?php esc_html_e( 'Toggle all on / off', 'pods' ); ?></a>
147 </p>
148
149 <ul>
150 <?php
151 foreach ( $taxonomies as $taxonomy ) {
152 $taxonomy_name = pods_v( 'name', $taxonomy );
153 $taxonomy_label = pods_v( 'label', $taxonomy, ucwords( str_replace( '_', ' ', $taxonomy_name ) ) );
154 ?>
155 <li>
156 <?php
157 PodsForm::output_field( 'taxonomy[' . $taxonomy_name . ']', pods_v( 'taxonomy[' . $taxonomy_name . ']', 'post', true ), 'boolean', [
158 'boolean_yes_label' => $taxonomy_label . ' (' . $taxonomy_name . ')',
159 'disable_dfv' => true,
160 ] );
161 ?>
162 </li>
163 <?php
164 }
165 ?>
166 </ul>
167 </div>
168 </div>
169 <?php
170 } else {
171 ?>
172 <p class="padded"><?php esc_html_e( 'No Taxonomies were found.', 'pods' ); ?></p>
173 <?php
174 }//end if
175 ?>
176 </div>
177 </div>
178 </div>
179
180 <div id="pods-wizard-actions" class="pods-wizard-button-interface">
181 <div id="pods-wizard-toolbar">
182 <button id="pods-wizard-start" class="button button-secondary"><?php esc_html_e( 'Start Over', 'pods' ); ?></button>
183 <button id="pods-wizard-next" class="button button-primary" data-next="<?php esc_attr_e( 'Next Step', 'pods' ); ?>" data-finished="<?php esc_attr_e( 'Finished', 'pods' ); ?>" data-processing="<?php esc_attr_e( 'Processing', 'pods' ); ?>.."><?php esc_html_e( 'Next Step', 'pods' ); ?></button>
184 </div>
185 <div id="pods-wizard-finished">
186
187 </div>
188 </div>
189 </div>
190 </div>
191 </div>
192 </form>
193 </div>
194 <script type="text/javascript">
195 var pods_admin_submit_callback = function ( id ) {
196 id = parseInt( id );
197 document.location = 'admin.php?page=pods&do=create';
198 };
199
200 var pods_admin_option_select_callback = function ( $opt ) {
201 jQuery( '#pods_cleanup' ).val( $opt.data( 'opt' ) );
202 };
203
204 const toggle_all = {
205 all: true
206 };
207
208 jQuery( function ( $ ) {
209 $( '.pods-wizard-toggle-all' ).on( 'click', function ( e ) {
210 e.preventDefault();
211
212 const toggleData = $( this ).data( 'toggle' );
213
214 if ( 'undefined' == typeof toggle_all[toggleData] ) {
215 toggle_all[toggleData] = true;
216 }
217
218 let $parent;
219
220 if ( 'all' !== toggleData ) {
221 $parent = $( this ).closest( '.pods-field-option-group' );
222 } else {
223 $parent = $( this ).closest( '.pods-wizard-option-content' );
224 }
225
226 $parent.find( '.pods-field.pods-boolean input[type="checkbox"]' ).prop( 'checked', (!toggle_all[toggleData]) );
227
228 toggle_all[toggleData] = (!toggle_all[toggleData]);
229 } );
230
231 $( document ).Pods( 'validate' );
232 $( document ).Pods( 'submit' );
233 $( document ).Pods( 'wizard' );
234 $( document ).Pods( 'dependency' );
235 $( document ).Pods( 'advanced' );
236 $( document ).Pods( 'confirm' );
237 } );
238 </script>
239