PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.2.7
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.2.7
4.17.2 4.17.1 4.17.0 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 / MemberDirectory / Gerbera.php
wp-user-avatar / src / Themes / DragDrop / MemberDirectory Last commit date
DefaultTemplate.php 4 years ago Gerbera.php 4 years ago
Gerbera.php
176 lines
1 <?php
2
3 namespace ProfilePress\Core\Themes\DragDrop\MemberDirectory;
4
5 use ProfilePress\Core\Admin\SettingsPages\DragDropBuilder\DragDropBuilder;
6 use ProfilePress\Core\ShortcodeParser\Builder\FrontendProfileBuilder;
7 use ProfilePress\Core\Themes\DragDrop\AbstractMemberDirectoryTheme;
8 use ProfilePress\Core\Admin\SettingsPages\DragDropBuilder\Fields;
9
10 class Gerbera extends AbstractMemberDirectoryTheme
11 {
12 public static function default_field_listing()
13 {
14 Fields\Init::init();
15 $standard_fields = DragDropBuilder::get_instance()->standard_fields();
16
17 return [
18 $standard_fields['profile-display-name'],
19 $standard_fields['profile-bio'],
20 ];
21 }
22
23 public function default_metabox_settings()
24 {
25 $data = parent::default_metabox_settings();
26 $data['ppress_md_gerbera_profile_picture'] = 'true';
27 $data['ppress_md_gerbera_cover_image'] = 'true';
28 $data['ppress_md_gerbera_text_color'] = '#999999';
29 $data['ppress_md_gerbera_display_name_color'] = '#444444';
30 $data['ppress_md_gerbera_avatar_border_color'] = '#ffffff';
31 $data['ppress_md_gerbera_background_color'] = '#ffffff';
32 $data['ppress_md_gerbera_border_color'] = '#dddddd';
33
34 return $data;
35 }
36
37 public function appearance_settings($settings)
38 {
39 $settings = parent::appearance_settings($settings);
40
41 $settings[] = [
42 'id' => 'ppress_md_gerbera_profile_picture',
43 'type' => 'checkbox',
44 'label' => esc_html__('Enable Profile Picture', 'wp-user-avatar'),
45 'priority' => 15
46 ];
47
48 return $settings;
49 }
50
51 public function metabox_settings($settings, $form_type, $DragDropBuilderInstance)
52 {
53 $appearance_settings = $settings['appearance'];
54
55 unset($settings['appearance']);
56
57 $new_settings['appearance'] = $appearance_settings;
58
59 $new_settings = array_merge($new_settings, parent::metabox_settings($settings, $form_type, $DragDropBuilderInstance));
60
61 return array_merge($new_settings, $settings);
62 }
63
64 public function form_wrapper_class()
65 {
66 return 'pppress_md_gerbera';
67 }
68
69 /**
70 * @return false|string|void
71 */
72 public function directory_structure()
73 {
74 $wp_user_query = $this->wp_user_query();
75
76 $profile_picture_enabled = $this->get_meta('ppress_md_gerbera_profile_picture') == 'true';
77
78 echo '<div class="pppress_md_gerbera_members">';
79
80 /** @var \WP_User $user */
81 foreach ($wp_user_query['users'] as $user) : new FrontendProfileBuilder($user);
82
83 $profile_url = ppress_get_frontend_profile_url($user->ID);
84
85 // important we parse immediately because FrontendProfileBuilder resets for every user.
86 $display_name = do_shortcode('[profile-display-name]', true);
87 ?>
88
89 <div class="pppress_md_gerbera_members-item">
90
91 <?php if ($profile_picture_enabled) : ?>
92 <div class="pppress_md_gerbera_members_avatar">
93 <a href="<?= $profile_url ?>" title="<?= $display_name ?>">
94 [pp-user-avatar user="<?= $user->ID ?>" size=256]
95 </a>
96 </div>
97 <?php endif; ?>
98
99 <?php echo $this->directory_listing($user->ID)->forge()->output(); ?>
100 </div>
101
102 <?php endforeach;
103
104 echo '</div>';
105 }
106
107 public function form_css()
108 {
109 $form_id = $this->form_id;
110 $form_type = $this->form_type;
111
112 return parent::form_css() . <<<CSS
113 #pp-$form_type-$form_id.ppress-md-default * {
114 -webkit-box-sizing: border-box;
115 -moz-box-sizing: border-box;
116 box-sizing: border-box;
117 -webkit-font-smoothing: antialiased !important;
118 -moz-osx-font-smoothing: grayscale !important;
119 }
120
121 .pppress_md_gerbera_members {
122 grid-template-columns: 1fr 1fr 1fr 1fr;
123 display: grid;
124 grid-column-gap: 2rem;
125 grid-row-gap: 5rem;
126 text-align: center;
127 }
128
129 .ppressui960 .pppress_md_gerbera_members {
130 grid-template-columns: 1fr 1fr 1fr;
131 }
132
133 .ppressui800 .pppress_md_gerbera_members {
134 grid-template-columns: 1fr 1fr;
135 }
136
137 .ppressui500 .pppress_md_gerbera_members,
138 .ppressui340 .pppress_md_gerbera_members {
139 grid-template-columns: 1fr;
140 }
141
142 .pppress_md_gerbera_members-item {
143 word-break: break-word;
144 }
145
146 .pppress_md_gerbera_members_avatar img {
147 border-radius: 50%;
148 width: 200px;
149 height: auto;
150 }
151
152 .ppress-md-profile-item-wrap.profile-display-name {
153 font-size: 18px;
154 font-weight: 700;
155 }
156
157 .ppress-md-profile-item-wrap {
158 margin: 0 0 5px;
159 line-height: 26px;
160 }
161
162 .pppress_md_gerbera_members_avatar {
163 margin: 0 0 10px;
164 }
165
166 .ppress-md-profile-item-wrap *,
167 .ppress-md-profile-item-title {
168 display: inline;
169 }
170 .ppress-md-profile-item-title {
171 font-weight: bold;
172 }
173
174 CSS;
175 }
176 }