PluginProbe ʕ •ᴥ•ʔ
Download Manager / trunk
Download Manager vtrunk
3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / src / User / Dashboard.php
download-manager / src / User Last commit date
views 4 days ago Dashboard.php 5 months ago EditProfile.php 6 months ago Login.php 5 months ago PublicProfile.php 6 months ago Register.php 5 months ago User.php 2 months ago UserController.php 4 months ago
Dashboard.php
133 lines
1 <?php
2
3 namespace WPDM\User;
4
5 use WPDM\__\Template;
6
7 class Dashboard
8 {
9
10 public $dashboard_menu;
11 public $dashboard_menu_actions;
12
13 private static $instance;
14
15 public static function getInstance()
16 {
17 if (self::$instance === null) {
18 self::$instance = new self;
19 }
20 return self::$instance;
21 }
22
23 function __construct()
24 {
25 add_action("wp", [$this, 'menuInit']);
26 add_shortcode("wpdm_user_dashboard", array($this, 'dashboard'));
27 }
28
29 function menuInit()
30 {
31 //$this->dashboard_menu
32 $user[''] = ['name' => __("Profile", "download-manager"), 'callback' => [$this, 'profile']];
33 $user['download-history'] = ['name' => __("Download History", "download-manager"), 'callback' => [$this, 'downloadHistory']];
34 $account['edit-profile'] = ['name' => __("Edit Profile", "download-manager"), 'callback' => [WPDM()->user->editProfile, 'editProfile']];
35 $user = apply_filters("wpdm_user_dashboard_menu", $user);
36 $account = apply_filters("wpdm_user_dashboard_menu_account", $account);
37 $this->dashboard_menu['user'] = array(
38 'title' => '',
39 'items' => $user
40 );
41 $this->dashboard_menu['account'] = array(
42 'title' => __("Account", "download-manager"),
43 'items' => $account
44 );
45
46 $this->dashboard_menu = apply_filters("wpdm_dashboard_menu", $this->dashboard_menu);
47
48 $this->dashboard_menu_actions = apply_filters("wpdm_dashboard_menu_actions", $this->dashboard_menu_actions);
49 }
50
51 function dashboard($params = array())
52 {
53 global $wp_query, $WPDM;
54
55 // Enqueue dashboard styles only when shortcode is used
56 wp_enqueue_style('wpdm-dashboard', WPDM_ASSET_URL . 'css/wpdm-dashboard.min.css', [], WPDM_VERSION);
57
58 // Enqueue media scripts for profile picture upload
59 if (is_user_logged_in()) {
60 wp_enqueue_media();
61 }
62
63 ob_start();
64 if (!is_user_logged_in()) {
65 echo WPDM()->user->login->form($params);
66 } else {
67
68 if (!isset($params) || !is_array($params)) $params = array();
69 $all_dashboard_menu_items = array();
70 if (is_array($this->dashboard_menu)) {
71 foreach ($this->dashboard_menu as $section) {
72 $all_dashboard_menu_items += $section['items'];
73 }
74 }
75 $udb_page = isset($wp_query->query_vars['udb_page']) ? $wp_query->query_vars['udb_page'] : '';
76 $udb_page_parts = explode("/", $udb_page);
77 $udb_page = $udb_page_parts[0];
78 $udb_page_parts = array_merge($udb_page_parts, $params);
79 $dashboard_contents = "";
80 if (isset($all_dashboard_menu_items[$udb_page]['callback']))
81 $dashboard_contents = call_user_func($all_dashboard_menu_items[$udb_page]['callback'], $udb_page_parts);
82 else if (isset($all_dashboard_menu_items[$udb_page]['shortcode']))
83 $dashboard_contents = do_shortcode($all_dashboard_menu_items[$udb_page]['shortcode']);
84 else if (isset($all_dashboard_menu_items[$udb_page]))
85 $dashboard_contents = call_user_func($all_dashboard_menu_items[$udb_page], $udb_page_parts);
86 //else if(isset($this->dashboard_menu_actions[$udb_page]['shortcode']))
87 // $dashboard_contents = do_shortcode($this->dashboard_menu_actions[$udb_page]['shortcode']);
88
89 $default_icons[''] = 'wpdm-user';
90 $default_icons['purchases'] = 'wpdm-shopping-cart color-success';
91 $default_icons['messages'] = 'wpdm-chat color-success';
92 $default_icons['download-history'] = 'wpdm-layer-group color-info';
93 $default_icons['edit-profile'] = 'wpdm-user-edit color-green';
94 $default_icons['subscription-plan'] = 'wpdm-crown color-info';
95 $default_icons['subscription-download-area'] = 'wpdm-circle-down color-info';
96 $default_icons['affiliate-stats'] = 'wpdm-share color-info';
97 $default_icons['affiliates'] = 'wpdm-share color-info';
98 $default_icons['file-cart'] = 'wpdm-cart-arrow-down color-info';
99 $default_icons['my-downloads'] = 'wpdm-arrow-down color-info';
100 $default_icons['account-credits'] = 'wpdm-credit-card color-success';
101
102 $default_icons = apply_filters("wpdm_user_dashboard_icons", $default_icons);
103
104 include Template::locate("dashboard/dashboard.php", __DIR__ . '/views');
105 }
106 return ob_get_clean();
107 }
108
109 function profile($params = array())
110 {
111 ob_start();
112 include Template::locate("dashboard/profile.php", __DIR__ . '/views');
113 return ob_get_clean();
114 }
115
116 function downloadHistory()
117 {
118 global $wpdb, $current_user;
119 ob_start();
120 include Template::locate("dashboard/download-history.php", __DIR__ . '/views');
121 return ob_get_clean();
122 }
123
124
125 function logout()
126 {
127 wp_logout();
128 }
129
130 }
131
132
133