PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.1
4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Themes / DragDrop / MemberDirectoryListing.php
wp-user-avatar / src / Themes / DragDrop Last commit date
EditProfile 5 years ago Login 5 years ago MemberDirectory 5 years ago PasswordReset 5 years ago Registration 5 years ago UserProfile 5 years ago AbstractBuildScratch.php 5 years ago AbstractMemberDirectoryTheme.php 5 years ago AbstractTheme.php 5 years ago FieldListing.php 5 years ago MemberDirectoryListing.php 5 years ago ProfileFieldListing.php 5 years ago ThemeInterface.php 5 years ago ThemesRepository.php 5 years ago index.php 5 years ago
MemberDirectoryListing.php
142 lines
1 <?php
2
3 namespace ProfilePress\Core\Themes\DragDrop;
4
5 use ProfilePress\Core\Classes\FormRepository as FR;
6 use ProfilePress\Core\Classes\PROFILEPRESS_sql;
7
8 class MemberDirectoryListing
9 {
10 private $directory_id;
11
12 private $user_id;
13
14 private $field_settings = [];
15
16 private $output = '';
17
18 private $defaults;
19
20 public function __construct($directory_id, $user_id = false)
21 {
22 $this->directory_id = $directory_id;
23
24 $this->user_id = $user_id;
25
26 $this->field_settings = FR::form_builder_fields_settings($directory_id, FR::MEMBERS_DIRECTORY_TYPE);
27 }
28
29 public function defaults($defaults)
30 {
31 $this->defaults = $defaults;
32
33 return $this;
34 }
35
36 public function forge()
37 {
38 $output = '';
39
40 foreach ($this->field_settings as $field_setting) {
41
42 $field_type = $raw_field_type = $field_setting['fieldType'];
43
44 if (isset($this->defaults, $this->defaults[$field_type])) {
45 $field_setting = wp_parse_args($field_setting, $this->defaults[$field_type]);
46 }
47
48 $field_title = isset($field_setting['label']) ? $field_setting['label'] : '';
49
50 if ($field_type == 'profile-cpf') {
51
52 $field_key = '';
53
54 if ( ! empty($field_setting['field_key']) && ! empty($field_setting['label'])) {
55
56 $field_key = $field_setting['field_key'];
57
58 } elseif ( ! empty($field_setting['custom_field'])) {
59
60 $field_key = $field_setting['custom_field'];
61
62 $field_title = PROFILEPRESS_sql::get_field_label($field_key);
63
64 if ( ! $field_title) {
65 $field_title = PROFILEPRESS_sql::get_contact_info_field_label($field_key);
66 }
67 }
68
69 $field_type = $field_type . ' key="' . $field_key . '"';
70 }
71
72 if ($field_type == 'profile-display-name') {
73
74 if ( ! empty($field_setting['format'])) {
75
76 $format = $field_setting['format'];
77
78 $field_type = $field_type . ' format="' . $format . '"';
79 }
80 }
81
82 if ($field_type == 'pp-custom-html') {
83
84 if ( ! empty($field_setting['custom_html'])) {
85
86 $field_type = $field_type . ' custom_html="' . $field_setting['custom_html'] . '"';
87 }
88 }
89
90 // it's important the shortcode is parsed because FrontendProfileBuilder class is instantiated for each user iteration
91 $parsed_shortcode = do_shortcode('[' . $field_type . ']', true);
92
93 if ( ! empty($parsed_shortcode)) {
94
95 if ( ! empty($field_key) && $raw_field_type == 'profile-cpf' && in_array($field_key, array_keys(ppress_social_network_fields()))) {
96 $parsed_shortcode = sprintf('<a href="%s">%s</a>', $parsed_shortcode, ppress_var(ppress_social_network_fields(), $field_key));
97 }
98
99 if ($raw_field_type == 'profile-display-name') {
100
101 $parsed_shortcode = sprintf(
102 '<a href="%s">%s</a>',
103 ppress_get_frontend_profile_url($this->user_id),
104 $parsed_shortcode
105 );
106 }
107
108 if ($raw_field_type == 'profile-website') {
109
110 $parsed_shortcode = sprintf(
111 '<a href="%s">%s</a>',
112 $parsed_shortcode,
113 ! empty($field_title) ? $field_title : esc_html__('Website', 'wp-user-avatar')
114 );
115 }
116
117 if ($raw_field_type == 'profile-website') {
118 $parsed_shortcode = make_clickable($parsed_shortcode);
119 }
120
121 $output .= sprintf('<div class="ppress-md-profile-item-wrap %s">', $raw_field_type);
122
123 if ( ! empty($field_title) && $raw_field_type != 'profile-website') {
124 $output .= sprintf('<span class="ppress-md-profile-item-title">%s:</span> ', $field_title);
125 }
126
127 $output .= sprintf('%s', $parsed_shortcode);
128
129 $output .= '</div>';
130 }
131 }
132
133 $this->output = $output;
134
135 return $this;
136 }
137
138 public function output()
139 {
140 return $this->output;
141 }
142 }