PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 4.1.2
Responsive Menu – Create Mobile-Friendly Menu v4.1.2
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / config / routing.php

routing.php in Responsive Menu – Create Mobile-Friendly Menu 4.1.2, at config/routing.php

102 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if(is_admin()):
4 add_action('admin_menu', function() {
5
6 if(isset($_POST['responsive-menu-export']) && isset($_GET['page']) && $_GET['page'] == 'responsive-menu'):
7 header('Cache-Control: no-cache, no-store, must-revalidate');
8 header('Pragma: no-cache');
9 header('Expires: 0');
10 header('Content-Type: application/json; charset=utf-8');
11 header('Content-Disposition: attachment; filename=responsive-menu-settings.json');
12 $controller = get_responsive_menu_service('admin_controller');
13 echo $controller->export();
14 exit();
15
16 endif;
17
18 add_menu_page(
19 'Responsive Menu',
20 'Responsive Menu',
21 'manage_options',
22 'responsive-menu',
23 function() {
24 $controller = get_responsive_menu_service('admin_controller');
25
26 if(isset($_POST['responsive-menu-current-page']))
27 update_option('responsive_menu_current_page', $_POST['responsive-menu-current-page']);
28
29 if(isset($_POST['responsive-menu-submit'])):
30 update_option('hide_pro_options', isset($_POST['hide-pro-options']) ? 'yes' : 'no');
31 $valid_nonce = wp_verify_nonce($_POST['responsive-menu-nonce'], 'update');
32 echo $controller->update($valid_nonce, wp_unslash($_POST['menu']));
33
34 elseif(isset($_POST['responsive-menu-reset'])):
35 $valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
36
37 echo $controller->reset(get_responsive_menu_default_options(), $valid_nonce );
38
39 elseif(isset($_POST['responsive-menu-theme'])):
40 $valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
41
42 echo $controller->apply_theme($_POST['menu']['menu_theme'], $valid_nonce );
43
44 elseif(isset($_POST['responsive-menu-import'])):
45 $valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
46
47 $file = $_FILES['responsive-menu-import-file'];
48 $file_options = isset($file['tmp_name']) ? (array) json_decode(file_get_contents($file['tmp_name'])) : null;
49 echo $controller->import( $file_options, $valid_nonce );
50
51 elseif(isset($_POST['responsive-menu-import-theme'])):
52 $valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
53
54 $file = $_FILES['responsive-menu-import-theme-file'];
55 $theme = isset($file['tmp_name']) && $file['tmp_name'] ? $file['tmp_name'] : null;
56
57 echo $controller->import_theme( $theme, $valid_nonce );
58
59 elseif(isset($_POST['responsive-menu-rebuild-db'])):
60 $valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
61
62 echo $controller->rebuild( $valid_nonce );
63
64 else:
65 echo $controller->index();
66
67 endif;
68 },
69 'dashicons-menu');
70 });
71
72 /** Function to move to the new version */
73 add_action('wp_ajax_rmp_switch_version', function() {
74
75 if ( empty ( update_option( 'is_rmp_new_version', 1 ) ) ) {
76 add_option( 'is_rmp_new_version', 1 );
77 }
78
79 update_option( 'rm_upgrade_admin_notice', true );
80 wp_send_json_success( ['redirect' => admin_url('edit.php?post_type=rmp_menu')] );
81
82 });
83
84 add_action( "wp_ajax_rmp_version_admin_notice_dismiss", "rmp_version_admin_notice_dismiss");
85 /**
86 * Function to hide the version upgrade admin notice permanent.
87 */
88 function rmp_version_admin_notice_dismiss() {
89 update_option( 'rm_upgrade_admin_notice', true );
90 }
91
92
93 else:
94 add_action('template_redirect', function() {
95 $controller = get_responsive_menu_service('front_controller');
96 if(isset($_GET['responsive-menu-preview']) && isset($_POST['menu']))
97 echo $controller->preview();
98 else
99 $controller->index();
100 });
101 endif;
102