SHOW:
|
|
- or go back to the newest paste.
1 | <script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/calendar_date_select/calendar_date_select.js'></script> | |
2 | <if test="calendarlocale:|:$this->settings['calendar_date_select_locale'] AND $this->settings['calendar_date_select_locale'] != 'en'"> | |
3 | <script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/calendar_date_select/format_ipb.js'></script> | |
4 | </if> | |
5 | {parse js_module="memberlist"} | |
6 | <!-- SEARCH FORM --> | |
7 | <h1 class='ipsType_pagetitle'>{$this->lang->words['mlist_header']}</h1> | |
8 | <div class='topic_controls'> | |
9 | {$pages} | |
10 | <ul class='topic_buttons'> | |
11 | <li><a href='#filters' title='{$this->lang->words['mlist_adv_filt']}' id='use_filters'>{$this->lang->words['mlist_adv_filt']}</a></li> | |
12 | </ul> | |
13 | </div> | |
14 | <div id='member_filters' class='general_box alt clear'> | |
15 | <form action="{parse url="app=members&module=list" base="public" seotitle="false"}" method="post"> | |
16 | <h3>{$this->lang->words['mlist_adv_filt_opt']}</h3> | |
17 | ||
18 | <ul id='filters_1'> | |
19 | <li class='field'> | |
20 | <label for='member_name'>{$this->lang->words['s_name']}</label> | |
21 | <select name="name_box" class='input_select'> | |
22 | <option value="begins"<if test="namebox_begins:|:$this->request['name_box'] == 'begins'"> selected='selected'</if>>{$this->lang->words['s_begins']}</option> | |
23 | <option value="contains"<if test="namebox_contains:|:$this->request['name_box'] == 'contains'"> selected='selected'</if>>{$this->lang->words['s_contains']}</option> | |
24 | </select> | |
25 | <input type="text" size="15" name="name" id='member_name' class='input_text' value="{parse expression="urldecode($this->request['name'])"}" /> | |
26 | </li> | |
27 | <li class='field'> | |
28 | <label for='photo_only' style='line-height: 16px;'>{$this->lang->words['photo_only']}</label> | |
29 | <input class='input_check' id='photo_only' type="checkbox" value="1" name="photoonly" <if test="photoonly:|:$defaults['photoonly']">checked='checked'</if> /> | |
30 | </li> | |
31 | <if test="canFilterRate:|:$this->settings['pp_allow_member_rate']"> | |
32 | <li class='field'> | |
33 | <label for='rating'>{$this->lang->words['m_rating_morethan']}</label> | |
34 | <select name='pp_rating_real' id='rating'> | |
35 | <option value='0'<if test="rating0:|:! $this->request['pp_rating_real']"> selected='selected'</if>>0</option> | |
36 | <option value='1'<if test="rating1:|:$this->request['pp_rating_real'] == 1"> selected='selected'</if>>1</option> | |
37 | <option value='2'<if test="rating2:|:$this->request['pp_rating_real'] == 2"> selected='selected'</if>>2</option> | |
38 | <option value='3'<if test="rating3:|:$this->request['pp_rating_real'] == 3"> selected='selected'</if>>3</option> | |
39 | <option value='4'<if test="rating4:|:$this->request['pp_rating_real'] == 4"> selected='selected'</if>>4</option> | |
40 | </select> | |
41 | {$this->lang->words['m_stars']} | |
42 | </li> | |
43 | </if> | |
44 | <if test="hascfields:|:count( $custom_fields->out_fields )"> | |
45 | <foreach loop="customfields:$custom_fields->out_fields as $id => $field"> | |
46 | <li class='field custom'> | |
47 | <label for='field_{$id}'>{$custom_fields->field_names[$id]}</label> | |
48 | {$field} | |
49 | </li> | |
50 | </foreach> | |
51 | </if> | |
52 | </ul> | |
53 | <ul id='filters_2'> | |
54 | <li class='field'> | |
55 | <label for='signature'>{$this->lang->words['s_signature']}</label> | |
56 | <input type="text" class='input_text' size="28" id='signature' name="signature" value="{parse expression="urldecode($this->request['signature'])"}" /> | |
57 | </li> | |
58 | <li class='field'> | |
59 | <label for='posts'>{$this->lang->words['s_posts']}</label> | |
60 | <select class="dropdown" name="posts_ltmt"> | |
61 | <option value="lt"<if test="posts_ltmt_lt:|:$this->request['posts_ltmt'] == 'lt'"> selected='selected'</if>>{$this->lang->words['s_lessthan']}</option> | |
62 | <option value="mt"<if test="posts_ltmt_mt:|:$this->request['posts_ltmt'] == 'mt'"> selected='selected'</if>>{$this->lang->words['s_morethan']}</option> | |
63 | </select> | |
64 | <input type="text" class='input_text' id='posts' size="15" name="posts" value="{$this->request['posts']}" /> | |
65 | </li> | |
66 | <li class='field'> | |
67 | <label for='joined'>{$this->lang->words['s_joined']}</label> | |
68 | <select class="dropdown" name="joined_ltmt"> | |
69 | <option value="lt"<if test="joined_ltmt_lt:|:$this->request['joined_ltmt'] == 'lt'"> selected='selected'</if>>{$this->lang->words['s_before']}</option> | |
70 | <option value="mt"<if test="joined_ltmt_mt:|:$this->request['joined_ltmt'] == 'mt'"> selected='selected'</if>>{$this->lang->words['s_after']}</option> | |
71 | </select> | |
72 | <input type="text" class='input_text' id='joined' size="10" name="joined" value="{$this->request['joined']}" /> <img src='{$this->settings['img_url']}/date.png' alt='{$this->lang->words['generic_date']}' id='joined_date_icon' class='clickable' /> | |
73 | <span class="desc">{$this->lang->words['s_dateformat']}</span> | |
74 | </li> | |
75 | <li class='field'> | |
76 | <label for='last_post'>{$this->lang->words['s_lastpost']}</label> | |
77 | <select class="dropdown" name="lastpost_ltmt"> | |
78 | <option value="lt"<if test="lastpost_ltmt_lt:|:$this->request['lastpost_ltmt'] == 'lt'"> selected='selected'</if>>{$this->lang->words['s_before']}</option> | |
79 | <option value="mt"<if test="lastpost_ltmt_mt:|:$this->request['lastpost_ltmt'] == 'mt'"> selected='selected'</if>>{$this->lang->words['s_after']}</option> | |
80 | </select> | |
81 | <input type="text" class='input_text' id='last_post' size="10" name="lastpost" value="{$this->request['lastpost']}" /> <img src='{$this->settings['img_url']}/date.png' alt='{$this->lang->words['generic_date']}' id='last_post_date_icon' class='clickable' /> | |
82 | <span class="desc">{$this->lang->words['s_dateformat']}</span> | |
83 | </li> | |
84 | <li class='field'> | |
85 | <label for='last_visit'>{$this->lang->words['s_lastvisit']}</label> | |
86 | <select class="dropdown" name="lastvisit_ltmt"> | |
87 | <option value="lt"<if test="lastvisit_ltmt_lt:|:$this->request['lastvisit_ltmt'] == 'lt'"> selected='selected'</if>>{$this->lang->words['s_before']}</option> | |
88 | <option value="mt"<if test="lastvisit_ltmt_mt:|:$this->request['lastvisit_ltmt'] == 'mt'"> selected='selected'</if>>{$this->lang->words['s_after']}</option> | |
89 | </select> | |
90 | <input type="text" class='input_text' id='last_visit' size="10" name="lastvisit" value="{$this->request['lastvisit']}" /> <img src='{$this->settings['img_url']}/date.png' alt='{$this->lang->words['generic_date']}' id='last_visit_date_icon' class='clickable' /> | |
91 | <span class="desc">{$this->lang->words['s_dateformat']}</span> | |
92 | </li> | |
93 | </ul> | |
94 | <fieldset class='other_filters'> | |
95 | <select name='filter' class='input_select'> | |
96 | <foreach loop="filter:$dropdowns['filter'] as $k => $v"> | |
97 | <option value='{$k}'<if test="filterdefault:|:$k == $defaults['filter']"> selected='selected'</if>>{$v}</option> | |
98 | </foreach> | |
99 | </select> | |
100 | {$this->lang->words['sorting_text_by']} | |
101 | <select name='sort_key' class='input_select'> | |
102 | <foreach loop="sort_key:$dropdowns['sort_key'] as $k => $v"> | |
103 | <option value='{$k}'<if test="sortdefault:|:$k == $defaults['sort_key']"> selected='selected'</if>>{$this->lang->words[ $v ]}</option> | |
104 | </foreach> | |
105 | </select> | |
106 | {$this->lang->words['sorting_text_in']} | |
107 | <select name='sort_order' class='input_select'> | |
108 | <foreach loop="sort_order:$dropdowns['sort_order'] as $k => $v"> | |
109 | <option value='{$k}'<if test="orderdefault:|:$k == $defaults['sort_order']"> selected='selected'</if>>{$this->lang->words[ $v ]}</option> | |
110 | </foreach> | |
111 | </select> | |
112 | {$this->lang->words['sorting_text_with']} | |
113 | <select name='max_results' class='input_select'> | |
114 | <foreach loop="max_results:$dropdowns['max_results'] as $k => $v"> | |
115 | <option value='{$k}'<if test="limitdefault:|:$k == $defaults['max_results']"> selected='selected'</if>>{$v}</option> | |
116 | </foreach> | |
117 | </select> | |
118 | {$this->lang->words['sorting_text_results']} | |
119 | </fieldset> | |
120 | <fieldset class='submit clear'> | |
121 | <input type="submit" value="{$this->lang->words['sort_submit']}" class="input_submit" /> {$this->lang->words['or']} <a href='#j_memberlist' title='{$this->lang->words['cancel']}' id='close_filters' class='cancel'>{$this->lang->words['cancel']}</a> | |
122 | </fieldset> | |
123 | </form> | |
124 | </div> | |
125 | <script type='text/javascript'> | |
126 | $('member_filters').hide(); | |
127 | </script> | |
128 | <br /> | |
129 | ||
130 | {parse replacement="header_start"}<div class='maintitle ipsFilterbar clear clearfix'> | |
131 | <ul class='ipsList_inline left'> | |
132 | <li <if test="filtermembers:|:$this->request['sort_key'] == 'members_display_name' || !$this->request['sort_key']">class='active'</if>> | |
133 | <a href='{parse url="app=members&module=list&{$url}&sort_key=members_display_name&sort_order=asc" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['sort_by_mname']}'>{$this->lang->words['sort_by_name']}</a> | |
134 | </li> | |
135 | <li <if test="filterposts:|:$this->request['sort_key'] == 'posts'">class='active'</if>> | |
136 | <a href='{parse url="app=members&module=list&{$url}&sort_key=posts&sort_order=desc" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['sort_by_posts']}'>{$this->lang->words['pcount']}</a> | |
137 | </li> | |
138 | <li <if test="filterjoined:|:$this->request['sort_key'] == 'joined'">class='active'</if>> | |
139 | <a href='{parse url="app=members&module=list&{$url}&sort_key=joined" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['sorty_by_jdate']}'>{$this->lang->words['sort_by_joined']}</a> | |
140 | </li> | |
141 | </ul> | |
142 | </div>{parse replacement="header_end"} | |
143 | ||
144 | <div class='ipsBox ipsVerticalTabbed ipsLayout ipsLayout_withleft ipsLayout_tinyleft clearfix'> | |
145 | <div class='ipsVerticalTabbed_tabs ipsVerticalTabbed_minitabs ipsLayout_left' id='mlist_tabs'> | |
146 | <ul> | |
147 | <if test="letterquickjump:|:!$this->request['quickjump']"> | |
148 | <li class='active'><a href='{parse url="app=members&module=list" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['members_start_with']}{$letter}'>{$this->lang->words['mlist_view_all_txt']}</a></li> | |
149 | <else /> | |
150 | <li><a href='{parse url="app=members&module=list" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['mlist_view_all_title']}'>{$this->lang->words['mlist_view_all_txt']}</a></li> | |
151 | </if> | |
152 | <foreach loop="chars:range(65,90) as $char"> | |
153 | <if test="letterdefault:|:$letter = strtoupper(chr($char))"> | |
154 | <li <if test="selected:|:strtoupper( $this->request['quickjump'] ) == $letter">class='active'</if>><a href='{parse url="{$url}&quickjump={$letter}" template="members_list" base="public" seotitle="false"}' title='{$this->lang->words['mlist_view_start_title']} {$letter}'>{$letter}</a></li> | |
155 | </if> | |
156 | </foreach> | |
157 | </ul> | |
158 | </div> | |
159 | <div class='ipsVerticalTabbed_content ipsLayout_content'> | |
160 | <div class='ipsBox_container ipsPad' id='mlist_content'> | |
161 | <ul class='ipsMemberList'> | |
162 | <if test="showmembers:|:is_array( $members ) and count( $members )"> | |
163 | ||
164 | <foreach loop="members:$members as $member"> | |
165 | <li id='member_id_{$member['member_id']}' class='ipsPad clearfix member_entry {parse striping="memberStripe"}'> | |
166 | <a href='{parse url="showuser={$member['member_id']}" template="showuser" seotitle="{$member['members_seo_name']}" base="public"}' title='{$this->lang->words['view_profile']}' class='ipsUserPhotoLink left'><img src='{$member['pp_small_photo']}' alt="{parse expression="sprintf($this->lang->words['users_photo'],$member['members_display_name'])"}" class='ipsUserPhoto ipsUserPhoto_medium' /></a> | |
167 | <div class='ipsBox_withphoto'> | |
168 | <ul class='ipsList_inline right'> | |
169 | <if test="weAreSupmod:|:$this->memberData['g_is_supmod'] == 1 && $member['member_id'] != $this->memberData['member_id']"> | |
170 | <li><a href='{parse url="app=core&module=modcp&do=editmember&auth_key={$this->member->form_hash}&mid={$member['member_id']}&pf={$member['member_id']}" base="public"}' class='ipsButton_secondary'>{$this->lang->words['edit_member']}</a></li> | |
171 | </if> | |
172 | <if test="notus:|:$this->memberData['member_id'] AND $this->memberData['member_id'] != $member['member_id'] && $this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends']"> | |
173 | <if test="addfriend:|:IPSMember::checkFriendStatus( $member['member_id'] )"> | |
174 | <li class='mini_friend_toggle is_friend' id='friend_mlist_{$member['member_id']}'><a href='{parse url="app=members&module=list&module=profile&section=friends&do=remove&member_id={$member['member_id']}&secure_key={$this->member->form_hash}" base="public"}' title='{$this->lang->words['remove_friend']}' class='ipsButton_secondary'>{parse replacement="remove_friend"}</a></li> | |
175 | <else /> | |
176 | <li class='mini_friend_toggle is_not_friend' id='friend_mlist_{$member['member_id']}'><a href='{parse url="app=members&module=list&module=profile&section=friends&do=add&member_id={$member['member_id']}&secure_key={$this->member->form_hash}" base="public"}' title='{$this->lang->words['add_friend']}' class='ipsButton_secondary'>{parse replacement="add_friend"}</a></li> | |
177 | </if> | |
178 | </if> | |
179 | <if test="sendpm:|:$this->memberData['g_use_pm'] AND $this->memberData['members_disable_pm'] == 0 AND IPSLib::moduleIsEnabled( 'messaging', 'members' ) && $member['member_id'] != $this->memberData['member_id']"> | |
180 | <li class='pm_button' id='pm_xxx_{$member['pp_member_id']}'><a href='{parse url="app=members&module=list&module=messaging&section=send&do=form&fromMemberID={$member['pp_member_id']}" base="public"}' title='{$this->lang->words['pm_member']}' class='ipsButton_secondary'>{parse replacement="send_msg"}</a></li> | |
181 | </if> | |
182 | <li><a href='{parse url="app=core&module=search&do=user_activity&mid={$member['member_id']}" base="public"}' title='{$this->lang->words['gbl_find_my_content']}' class='ipsButton_secondary'>{parse replacement="find_topics_link"}</a></li> | |
183 | <if test="blog:|:$member['has_blog'] AND IPSLib::appIsInstalled( 'blog' )"> | |
184 | <li><a href='{parse url="app=blog&module=display&section=blog&show_members_blogs={$member['member_id']}" base="public"}' title='{$this->lang->words['view_blog']}' class='ipsButton_secondary'>{parse replacement="blog_link"}</a></li> | |
185 | </if> | |
186 | <if test="gallery:|:$member['has_gallery'] AND IPSLib::appIsInstalled( 'gallery' )"> | |
187 | <li><a href='{parse url="app=gallery&user={$member['member_id']}" template="useralbum" seotitle="{$member['members_seo_name']}" base="public"}' title='{$this->lang->words['view_gallery']}' class='ipsButton_secondary'>{parse replacement="gallery_link"}</a></li> | |
188 | </if> | |
189 | </ul> | |
190 | ||
191 | <h3 class='ipsType_subtitle'> | |
192 | <strong><a href='{parse url="showuser={$member['member_id']}" template="showuser" seotitle="{$member['members_seo_name']}" base="public"}' title='{$this->lang->words['view_profile']}'>{$member['members_display_name']}</a></strong> | |
193 | ||
194 | <if test="rating:|:$this->settings['pp_allow_member_rate'] && $this->request['pp_rating_real']"> | |
195 | <span class='rating'> | |
196 | <if test="rate1:|:$member['pp_rating_real'] >= 1">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="rate2:|:$member['pp_rating_real'] >= 2">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="rate3:|:$member['pp_rating_real'] >= 3">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="rate4:|:$member['pp_rating_real'] >= 4">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="rate5:|:$member['pp_rating_real'] >= 5">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if> | |
197 | </span> | |
198 | </if> | |
199 | </h3> | |
200 | <if test="repson:|:$this->settings['reputation_enabled'] && $this->settings['reputation_show_profile'] && $member['pp_reputation_points'] !== null"> | |
201 | <if test="norep:|:$member['pp_reputation_points'] == 0 || !$member['pp_reputation_points']"> | |
202 | <p class='reputation zero ipsType_small left' data-tooltip="{parse expression="sprintf( $this->lang->words['member_has_x_rep'], $member['members_display_name'], $member['pp_reputation_points'] )"}"> | |
203 | </if> | |
204 | <if test="posrep:|:$member['pp_reputation_points'] > 0"> | |
205 | <p class='reputation positive ipsType_small left' data-tooltip="{parse expression="sprintf( $this->lang->words['member_has_x_rep'], $member['members_display_name'], $member['pp_reputation_points'] )"}"> | |
206 | </if> | |
207 | <if test="negrep:|:$member['pp_reputation_points'] < 0"> | |
208 | <p class='reputation negative ipsType_small left' data-tooltip="{parse expression="sprintf( $this->lang->words['member_has_x_rep'], $member['members_display_name'], $member['pp_reputation_points'] )"}"> | |
209 | </if> | |
210 | <span class='number'>{$member['pp_reputation_points']}</span> | |
211 | </p> | |
212 | </if> | |
213 | <div class='left desc line_height clearfix' style='margin-top: 5px;'> | |
214 | <span class='left' style='min-width: 110px; padding-right: 10px;'>{IPSMember::makeNameFormatted( $member['group'], $member['member_group_id'] )}</span><span class='left' style='min-width: 170px; padding-right: 10px;'><span class='desc lighter'>{$this->lang->words['member_joined']}:</span> {parse date="$member['joined']" format="joined"}</span><span class='left'><if test="filterViews:|:$this->request['sort_key'] == 'members_profile_views'">{parse format_number="$member['members_profile_views']"} {$this->lang->words['m_views']}<else />{parse format_number="$member['posts']"} {$this->lang->words['member_posts']}</if></span> | |
215 | </div> | |
216 | </div> | |
217 | </li> | |
218 | </foreach> | |
219 | <else /> | |
220 | <li class='no_messages'> | |
221 | {$this->lang->words['no_results']} | |
222 | </li> | |
223 | </if> | |
224 | </ul> | |
225 | </div> | |
226 | </div> | |
227 | </div> | |
228 | {parse replacement="box_end"} | |
229 | <script type='text/javascript'> | |
230 | $("mlist_content").setStyle( { minHeight: $('mlist_tabs').measure('margin-box-height') + 5 + "px" } ); | |
231 | </script> | |
232 | {$pages} |