PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.6
Responsive Menu – Create Mobile-Friendly Menu v3.0.6
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 / src / app / Routing / WpRouting.php

WpRouting.php in Responsive Menu – Create Mobile-Friendly Menu 3.0.6, at src/app/Routing/WpRouting.php

62 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ResponsiveMenu\Routing;
4 use ResponsiveMenu\Routing\Container as Container;
5
6 class WpRouting implements Routing {
7
8 protected $container;
9
10 public function __construct(Container $container) {
11 $this->container = $container;
12 }
13
14 public function route() {
15 if(is_admin())
16 add_action('admin_menu', [$this, 'adminPage']);
17 else
18 add_action('template_redirect', [$this->container['front_controller'], 'index']);
19 }
20
21 public function adminPage() {
22 /* Heavily reliant on WordPress so very hard coded */
23 if(isset($_POST['responsive_menu_submit'])):
24 $method = 'update';
25 elseif(isset($_POST['responsive_menu_reset'])):
26 $method = 'reset';
27 elseif(isset($_POST['responsive_menu_export'])):
28 $controller = $this->container['admin_controller'];
29 $controller->export();
30 elseif(isset($_POST['responsive_menu_import'])):
31 $method = 'import';
32 else:
33 $method = 'index';
34 endif;
35
36 add_menu_page(
37 'Responsive Menu',
38 'Responsive Menu',
39 'manage_options',
40 'responsive-menu',
41 function() use ($method) {
42 $controller = $this->container['admin_controller'];
43 switch ($method) :
44 case 'update':
45 $controller->$method($this->container['default_options'], $_POST['menu']);
46 break;
47 case 'reset':
48 $controller->$method($this->container['default_options']);
49 break;
50 case 'import':
51 $controller->$method($this->container['default_options'], $_FILES['responsive_menu_import_file']);
52 break;
53 default:
54 $controller->$method();
55 break;
56 endswitch;
57 },
58 'dashicons-menu');
59 }
60
61 }
62