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 / MemberDirectory / Gerbera.php
wp-user-avatar / src / Themes / DragDrop / MemberDirectory Last commit date
DefaultTemplate.php 5 years ago Gerbera.php 5 years ago
Gerbera.php
175 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 grid-template-columns: 1fr;
139 }
140
141 .pppress_md_gerbera_members-item {
142 word-break: break-word;
143 }
144
145 .pppress_md_gerbera_members_avatar img {
146 border-radius: 50%;
147 width: 200px;
148 height: auto;
149 }
150
151 .ppress-md-profile-item-wrap.profile-display-name {
152 font-size: 18px;
153 font-weight: 700;
154 }
155
156 .ppress-md-profile-item-wrap {
157 margin: 0 0 5px;
158 line-height: 26px;
159 }
160
161 .pppress_md_gerbera_members_avatar {
162 margin: 0 0 10px;
163 }
164
165 .ppress-md-profile-item-wrap *,
166 .ppress-md-profile-item-title {
167 display: inline;
168 }
169 .ppress-md-profile-item-title {
170 font-weight: bold;
171 }
172
173 CSS;
174 }
175 }