demo-content
2 weeks ago
author-portfolio-pro-thumb.png
2 weeks ago
demo-setup-admin-notice.php
2 weeks ago
demo-setup.js
2 weeks ago
demo-setup.php
2 weeks ago
handle-ajax-request.php
2 weeks ago
import-books-from-json.php
2 weeks ago
import-elementor-template.php
2 weeks ago
import-posts-from-json.php
2 weeks ago
install-activate-plugins.php
2 weeks ago
handle-ajax-request.php
52 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Handle AJAX request for setup steps. |
| 4 | */ |
| 5 | function setup_demo_ajax_handler() { |
| 6 | if (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'setup_demo_nonce')) { |
| 7 | wp_send_json_error('Invalid request'); |
| 8 | } |
| 9 | |
| 10 | if (!current_user_can('manage_options')) { |
| 11 | wp_send_json_error('Permission denied'); |
| 12 | } |
| 13 | |
| 14 | $booksUrl = RSWPTHEMES_AWT_PLUGIN_URL . '/includes/demo-setup/demo-content/books.json'; |
| 15 | $postsUrl = RSWPTHEMES_AWT_PLUGIN_URL . '/includes/demo-setup/demo-content/posts.json'; |
| 16 | $reviewsUrl = RSWPTHEMES_AWT_PLUGIN_URL . '/includes/demo-setup/demo-content/reviews.json'; |
| 17 | $pagesUrl = RSWPTHEMES_AWT_PLUGIN_URL . '/includes/demo-setup/demo-content/pages.json'; |
| 18 | |
| 19 | $demo_pages = [ |
| 20 | 'Home' => RSWPTHEMES_AWT_PLUGIN_PATH . '/includes/demo-setup/demo-content/home.json', |
| 21 | 'About Me' => RSWPTHEMES_AWT_PLUGIN_PATH . '/includes/demo-setup/demo-content/about.json', |
| 22 | ]; |
| 23 | |
| 24 | $step = isset($_POST['step']) ? sanitize_text_field($_POST['step']) : ''; |
| 25 | |
| 26 | switch ($step) { |
| 27 | case 'install_plugins': |
| 28 | install_and_activate_plugins(); |
| 29 | wp_send_json_success('Plugins installed & activated'); |
| 30 | break; |
| 31 | |
| 32 | case 'import_books': |
| 33 | rswpthemes_awt_import_books_from_url($booksUrl); |
| 34 | wp_send_json_success('Books imported'); |
| 35 | break; |
| 36 | |
| 37 | case 'import_posts': |
| 38 | rswpthemes_import_posts_from_url($postsUrl); |
| 39 | rswpthemes_import_reviews_from_url($reviewsUrl); |
| 40 | wp_send_json_success('Posts imported'); |
| 41 | break; |
| 42 | |
| 43 | case 'import_templates': |
| 44 | rswpthemes_awt_setup_demo_pages($demo_pages); |
| 45 | wp_send_json_success('Elementor templates applied'); |
| 46 | break; |
| 47 | |
| 48 | default: |
| 49 | wp_send_json_error('Invalid step'); |
| 50 | } |
| 51 | } |
| 52 | add_action('wp_ajax_setup_demo_ajax', 'setup_demo_ajax_handler'); |