PluginProbe ʕ •ᴥ•ʔ
Pods – Custom Content Types and Fields / 2.7.31.4
Pods – Custom Content Types and Fields v2.7.31.4
2.7.31.4 2.8.23.5 2.9.19.5 3.0.10.5 3.1.4.3 3.2.8.4 3.3.9.2 2.8.23.4 2.9.19.4 3.0.10.4 3.1.4.2 3.2.8.3 3.3.9.1 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-Packages / ui / wizard.php
pods / components / Migrate-Packages / ui Last commit date
wizard.php 1 week ago
wizard.php
360 lines
1 <div class="wrap pods-admin">
2 <script>
3 var PODS_URL = '<?php echo esc_js( PODS_URL ); ?>';
4 </script>
5 <div id="icon-pods" class="icon32"><br /></div>
6
7 <form action="" method="post" class="pods-submittable">
8 <div class="pods-submittable-fields">
9 <?php echo PodsForm::field( 'action', 'pods_admin_components', 'hidden' ); ?> <?php echo PodsForm::field( 'component', $component, 'hidden' ); ?> <?php echo PodsForm::field( 'method', $method, 'hidden' ); ?> <?php echo PodsForm::field( '_wpnonce', wp_create_nonce( 'pods-component-' . $component . '-' . $method ), 'hidden' ); ?> <?php echo PodsForm::field( 'import_export', 'export', 'hidden' ); ?>
10
11 <h2 class="italicized"><?php _e( 'Migrate: Packages', 'pods' ); ?></h2>
12
13 <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
14
15 <div id="pods-wizard-box" class="pods-wizard-steps-2" data-step-process="1">
16 <div id="pods-wizard-heading">
17 <ul>
18 <li class="pods-wizard-menu-current" data-step="1">
19 <i></i> <span>1</span> <?php _e( 'Choose', 'pods' ); ?> <em></em>
20 </li>
21 <li data-step="2">
22 <i></i> <span>2</span> <?php _e( 'Import / Export', 'pods' ); ?> <em></em>
23 </li>
24 </ul>
25 </div>
26
27 <div id="pods-wizard-main">
28 <?php
29 $api = pods_api();
30
31 $pods = $api->load_pods( array( 'fields' => false ) );
32 $pod_templates = $api->load_templates();
33 $pod_pages = $api->load_pages();
34 $pod_helpers = $api->load_helpers();
35
36 $export = true;
37
38 if ( empty( $pods ) && empty( $pod_templates ) && empty( $pod_pages ) && empty( $pod_helpers ) ) {
39 $export = false;
40 }
41 ?>
42
43 <div id="pods-wizard-panel-1" class="pods-wizard-panel">
44 <div class="pods-wizard-content">
45 <p><?php _e( 'Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites.', 'pods' ); ?></p>
46 </div>
47
48 <div id="pods-wizard-options">
49 <div class="pods-wizard-option">
50 <a href="#pods-wizard-import" data-opt="import">
51 <h2><?php _e( 'Import', 'pods' ); ?></h2>
52
53 <p><?php _e( 'Import a package of Pods, Fields, and other settings from another site.', 'pods' ); ?></p>
54 </a>
55
56 <p><br /></p>
57 </div>
58
59 <?php
60 if ( $export ) {
61 ?>
62 <div class="pods-wizard-option">
63 <a href="#pods-wizard-export" data-opt="export">
64 <h2><?php _e( 'Export', 'pods' ); ?></h2>
65
66 <p><?php _e( 'Choose which Pods, Fields, and other settings to export into a package.', 'pods' ); ?></p>
67 </a>
68
69 <p><br /></p>
70 </div>
71 <?php
72 }
73 ?>
74 </div>
75 </div>
76
77 <div id="pods-wizard-panel-2" class="pods-wizard-panel">
78 <div class="pods-wizard-option-content" id="pods-wizard-import">
79 <div class="pods-wizard-content">
80 <p><?php _e( 'Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites.', 'pods' ); ?></p>
81 </div>
82
83 <div class="stuffbox">
84 <h3><label for="link_name"><?php _e( 'Paste the Package Code', 'pods' ); ?></label></h3>
85
86 <div class="inside pods-manage-field pods-dependency">
87 <div class="pods-field-option">
88 <?php
89 echo PodsForm::field( 'import_package', pods_var_raw( 'import_package', 'post' ), 'paragraph', array( 'attributes' => array( 'style' => 'width: 100%; max-width: 100%; height: 300px;' ) ) );
90 ?>
91 </div>
92 </div>
93 </div>
94 </div>
95
96 <div class="pods-wizard-option-content" id="pods-wizard-export">
97 <div class="pods-wizard-content">
98 <p><?php _e( 'Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites.', 'pods' ); ?></p>
99 </div>
100
101 <?php
102 if ( ! empty( $pods ) ) {
103 $data = $pods;
104 $data_name = 'pods';
105 ?>
106 <div class="stuffbox pods-package-import-group">
107 <h3>
108 <label for="link_name"><?php _e( 'Choose which Pods to export', 'pods' ); ?></label>
109 </h3>
110
111 <div class="inside pods-manage-field pods-dependency">
112 <div class="pods-field-option-group">
113 <p>
114 <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
115 </p>
116
117 <div class="pods-pick-values pods-pick-checkbox pods-zebra">
118 <ul>
119 <?php
120 $zebra = false;
121
122 foreach ( $data as $item ) {
123 $checked = true;
124
125 $class = ( $zebra ? 'even' : 'odd' );
126
127 $zebra = ( ! $zebra );
128 ?>
129 <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
130 <?php echo PodsForm::field( $data_name . '[' . $item['id'] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item['name'] . ( ! empty( $item['label'] ) ? ' (' . $item['label'] . ')' : '' ) ) ); ?>
131 </li>
132 <?php
133 }
134 ?>
135 </ul>
136 </div>
137 </div>
138 </div>
139 </div>
140 <?php
141 }//end if
142
143 if ( ! empty( $pod_templates ) ) {
144 $data = $pod_templates;
145 $data_name = 'templates';
146 ?>
147 <div class="stuffbox pods-package-import-group">
148 <h3>
149 <label for="link_name"><?php _e( 'Choose which Pod Templates to export', 'pods' ); ?></label>
150 </h3>
151
152 <div class="inside pods-manage-field pods-dependency">
153 <div class="pods-field-option-group">
154 <p>
155 <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
156 </p>
157
158 <div class="pods-pick-values pods-pick-checkbox pods-zebra">
159 <ul>
160 <?php
161 $zebra = false;
162
163 foreach ( $data as $item ) {
164 $checked = true;
165
166 $class = ( $zebra ? 'even' : 'odd' );
167
168 $zebra = ( ! $zebra );
169 ?>
170 <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
171 <?php echo PodsForm::field( $data_name . '[' . $item['id'] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item['name'] . ( ! empty( $item['label'] ) ? ' (' . $item['label'] . ')' : '' ) ) ); ?>
172 </li>
173 <?php
174 }
175 ?>
176 </ul>
177 </div>
178 </div>
179 </div>
180 </div>
181 <?php
182 }//end if
183
184 if ( ! empty( $pod_pages ) ) {
185 $data = $pod_pages;
186 $data_name = 'pages';
187 ?>
188 <div class="stuffbox pods-package-import-group">
189 <h3>
190 <label for="link_name"><?php _e( 'Choose which Pod Pages to export', 'pods' ); ?></label>
191 </h3>
192
193 <div class="inside pods-manage-field pods-dependency">
194 <div class="pods-field-option-group">
195 <p>
196 <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
197 </p>
198
199 <div class="pods-pick-values pods-pick-checkbox pods-zebra">
200 <ul>
201 <?php
202 $zebra = false;
203
204 foreach ( $data as $item ) {
205 $checked = true;
206
207 $class = ( $zebra ? 'even' : 'odd' );
208
209 $zebra = ( ! $zebra );
210 ?>
211 <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
212 <?php echo PodsForm::field( $data_name . '[' . $item['id'] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item['name'] . ( ! empty( $item['label'] ) ? ' (' . $item['label'] . ')' : '' ) ) ); ?>
213 </li>
214 <?php
215 }
216 ?>
217 </ul>
218 </div>
219 </div>
220 </div>
221 </div>
222 <?php
223 }//end if
224
225 if ( ! empty( $pod_helpers ) ) {
226 $data = $pod_helpers;
227 $data_name = 'helpers';
228 ?>
229 <div class="stuffbox pods-package-import-group">
230 <h3>
231 <label for="link_name"><?php _e( 'Choose which Pod Helpers to export', 'pods' ); ?></label>
232 </h3>
233
234 <div class="inside pods-manage-field pods-dependency">
235 <div class="pods-field-option-group">
236 <p>
237 <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
238 </p>
239
240 <div class="pods-pick-values pods-pick-checkbox pods-zebra">
241 <ul>
242 <?php
243 $zebra = false;
244
245 foreach ( $data as $item ) {
246 $checked = true;
247
248 $class = ( $zebra ? 'even' : 'odd' );
249
250 $zebra = ( ! $zebra );
251 ?>
252 <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
253 <?php echo PodsForm::field( $data_name . '[' . $item['id'] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item['name'] . ( ! empty( $item['label'] ) ? ' (' . $item['label'] . ')' : '' ) ) ); ?>
254 </li>
255 <?php
256 }
257 ?>
258 </ul>
259 </div>
260 </div>
261 </div>
262 </div>
263 <?php
264 }//end if
265
266 do_action( 'pods_packages_export_options', $pods, $pod_templates, $pod_pages, $pod_helpers );
267 ?>
268 </div>
269
270 <span id="import-export"></span>
271
272 <div class="stuffbox hidden" id="import-export-results">
273 <h3><label for="link_name"><?php _e( 'Results', 'pods' ); ?></label></h3>
274
275 <div class="inside pods-manage-field pods-dependency">
276 </div>
277 </div>
278 </div>
279
280 <div id="pods-wizard-actions">
281 <div id="pods-wizard-toolbar">
282 <a href="#start" id="pods-wizard-start" class="button button-secondary"><?php _e( 'Start Over', 'pods' ); ?></a>
283 <a href="#next" id="pods-wizard-next" class="button button-primary" data-again="<?php esc_attr_e( 'Process Again', 'pods' ); ?>" data-next="<?php esc_attr_e( 'Continue', 'pods' ); ?>" data-finished="<?php esc_attr_e( 'Finished', 'pods' ); ?>" data-processing="<?php esc_attr_e( 'Processing', 'pods' ); ?>.."><?php _e( 'Continue', 'pods' ); ?></a>
284 </div>
285 <div id="pods-wizard-finished">
286
287 </div>
288 </div>
289 </div>
290 </div>
291 </div>
292 </form>
293 </div>
294
295 <script type="text/javascript">
296 var pods_admin_wizard_callback = function ( step, completed ) {
297 console.log( step );
298 console.log( completed );
299
300 if ( 2 == step || !step ) {
301 jQuery( '#pods-wizard-panel-2 div#import-export-results' ).slideUp( 'fast', function () {
302 jQuery( '#pods-wizard-panel-2 div#import-export-results div.inside' ).html( '' );
303 } );
304 }
305
306 return true;
307 };
308
309 var pods_admin_submit_callback = function ( id ) {
310 jQuery( '#pods-wizard-panel-2 div#import-export-results div.inside' ).html( id );
311 jQuery( '#pods-wizard-panel-2 div#import-export-results' ).slideDown( 'fast' );
312
313 jQuery( '#pods-wizard-next' ).css( 'cursor', 'pointer' );
314 jQuery( '#pods-wizard-next' ).prop( 'disabled', false );
315 jQuery( '#pods-wizard-next' ).text( jQuery( '#pods-wizard-next' ).data( 'again' ) );
316
317 window.location.hash = 'import-export';
318
319 if ( 'export' == jQuery( '#pods-form-ui-import-export' ).val() ) {
320 // @todo We need copy/paste functionality here
321 //jQuery( '#pods-wizard-panel-2 div#import-export-results div.inside textarea' ).select();
322 }
323
324 return false;
325 };
326
327 var pods_admin_option_select_callback = function ( $opt ) {
328 jQuery( '#pods-form-ui-import-export' ).val( $opt.data( 'opt' ) );
329 };
330
331 var pods_admin_wizard_startover_callback = function () {
332 jQuery( '#pods-wizard-panel-2 div#import-export-results' ).hide();
333 jQuery( '#pods-wizard-panel-2 div#import-export-results div.inside' ).html( '' );
334 };
335
336 jQuery( function ( $ ) {
337 $( document ).Pods( 'validate' );
338 $( document ).Pods( 'submit' );
339 $( document ).Pods( 'wizard' );
340 $( document ).Pods( 'dependency' );
341 $( document ).Pods( 'advanced' );
342 $( document ).Pods( 'confirm' );
343 $( document ).Pods( 'sluggable' );
344
345 var toggle_all = {};
346
347 $( '.pods-wizard-toggle-all' ).on( 'click', function ( e ) {
348 e.preventDefault();
349
350 if ( 'undefined' == typeof toggle_all[$( this ).data( 'toggle' )] ) {
351 toggle_all[$( this ).data( 'toggle' )] = true;
352 }
353
354 $( this ).closest( '.pods-field-option-group' ).find( '.pods-field.pods-boolean input[type="checkbox"]' ).prop( 'checked', (!toggle_all[$( this ).data( 'toggle' )]) );
355
356 toggle_all[$( this ).data( 'toggle' )] = (!toggle_all[$( this ).data( 'toggle' )]);
357 } );
358 } );
359 </script>
360