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 / PublicProfile.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
PublicProfile.php
109 lines
1 <?php
2 namespace WPDM\User;
3
4
5 use WPDM\__\__;
6 use WPDM\__\Crypt;
7 use WPDM\__\Messages;
8
9 class PublicProfile
10 {
11
12 public $profile_menu;
13 public $user;
14
15 private static $instance;
16
17 public static function getInstance()
18 {
19 if (self::$instance === null) {
20 self::$instance = new self;
21 }
22 return self::$instance;
23 }
24
25 function __construct(){
26 add_action("init", array($this, 'profileMenuInit'));
27 add_action("wp_ajax_wpdm_get_profile_menu_content", array($this, 'menuContent'));
28 add_action("wp_ajax_nopriv_wpdm_get_profile_menu_content", array($this, 'menuContent'));
29 add_shortcode("wpdm_user_profile", array($this, 'profile'));
30 }
31
32 function profileMenuInit(){
33 $this->profile_menu['downloads'] = array('icon' => 'fas fa-arrow-alt-circle-down', 'name'=> __( "Downloads" , "download-manager" ), 'content' => array($this, 'downloads'));
34 $this->profile_menu['favourites'] = array('icon' => 'fas fa-heart', 'name'=> __( "Favourites" , "download-manager" ), 'content' => array($this, 'favourites'));
35 $this->profile_menu = apply_filters("wpdm_user_profile_menu", $this->profile_menu);
36 }
37
38 function menuContent(){
39 call_user_func($this->profile_menu[wpdm_query_var('__pmenu')]['content']);
40 die();
41 }
42
43 function profile($params = array()){
44 global $wp_query;
45
46 if(!isset($params) || !is_array($params)) $params = array();
47
48 //if(is_admin()) return "";
49
50 ob_start();
51
52 $username = urldecode(get_query_var('profile'));
53 if(is_author())
54 $username = get_query_var('author_name');
55 if($username)
56 $user = get_user_by('slug', $username);
57 else
58 $user = wp_get_current_user();
59
60 $cols = isset($params['cols'])?$params['cols']:3;
61 $items_per_page = isset($params['items_per_page'])?$params['items_per_page']:$cols*3;
62 $cols = 12/$cols;
63 $template = isset($params['template'])?$params['template']:'link-template-panel.php';
64 $header = __::valueof($params, 'header', ['default' => 'default']);
65 $headers = ['default' => 'default.php', 'facebook' => 'facebook.php'];
66 $header = isset($headers[$header]) ? $headers[$header] : 'default.php';
67
68 $user_ID = $user->ID;
69 $store = get_user_meta($user_ID, '__wpdm_public_profile', true);
70 if(!is_array($store)) $store = array();
71 $store['logo'] = isset($store['logo'])?$store['logo']:get_avatar_url($user_ID);
72 $store['title'] = isset($store['title']) && $store['title'] != '' ? $store['title'] : $user->display_name;
73 $store['intro'] = isset($store['intro']) && $store['intro'] != '' ? $store['intro'] : '';
74 $store['description'] = isset($store['description']) && $store['description'] != '' ? $store['description'] : '';
75 $store['banner'] = isset($store['banner']) && $store['banner'] != '' ? $store['banner'] : '';
76 $store['bgcolor'] = isset($store['bgcolor']) && $store['bgcolor'] != '' ? $store['bgcolor'] : '#eeeeee';
77 $store['txtcolor'] = isset($store['txtcolor']) && $store['txtcolor'] != '' ? $store['txtcolor'] : '#333333';
78 $mydownloads = count_user_posts($user->ID, 'wpdmpro');
79 $rgb = wpdm_hex2rgb($store['bgcolor']);
80 $first_menu = array_keys($this->profile_menu);
81 $first_menu = $first_menu[0];
82 include WPDM()->template->locate('public-profile.php', __DIR__.'/views');
83 return ob_get_clean();
84 }
85
86
87 function downloads(){
88 $params = Crypt::decrypt(wpdm_query_var('__scp'), true);
89 $params['author'] = wpdm_query_var('__pu', 'int');
90 $params['async'] = 1;
91 echo WPDM()->package->shortCodes->packages($params);
92 }
93
94 function favourites(){
95 $params = Crypt::decrypt(wpdm_query_var('__scp'), true);
96 $myfavs = maybe_unserialize(get_user_meta(wpdm_query_var('__pu', 'int'), '__wpdm_favs', true));
97 if(!is_array($myfavs) || count($myfavs) === 0) {
98 Messages::info("Do not have any favourite item yet!");
99 die();
100 }
101 $params['post__in'] = implode(",", $myfavs);
102 echo WPDM()->package->shortCodes->packages($params);
103
104 }
105
106
107 }
108
109