I'd prefer a search field at the Current Subscribers tab, but if it's easier to do it as a separate Search tab the way you did the People Search, that is fine too.
Thanks, Coleen |
Please note that I have added to my list_subscribers macro to display both the Subscription Type and Frequency (INSTANT or DAILY_DIGEST). So I'd like to show that information for the search results as well.
Thanks, Coleen |
Please, override your macro and create the subscription_user_row, just to make the code shorter.
<override_macro name="list_subscribers" requires="node"> <n.if.is_submitted_form> <then.process_unsubscription/> </n.if.is_submitted_form> <n.put_in_head.> <style type="text/css"> table.subscriptions { border-collapse:collapse; margin-top:1em; clear:both; width:100% } table.subscriptions th { padding: .3em .6em; text-align:left; border-bottom-style:solid; border-bottom-width:2px; } table.subscriptions td { padding: .5em; } </style> </n.put_in_head.> <n.zebra_table_javascript table_selector="table.subscriptions"/> <form method="post" action="" class=''> <div> <b>Name:</b> <input type='text' maxlength='30' name="name" /><input class="sub_but" type="submit" value="Search" /> </div> </form> <br/> <n.subscribers_pagination/> <div class="weak-color" style="float:left;margin:.5em 0"> <n.one_or_many.page_node.subscription_count> <one_text><t>subscriber</t></one_text> <many_text><t>subscribers</t></many_text> </n.one_or_many.page_node.subscription_count> </div> <n.subscriptions. start="[n.subscriber_page_index_record/]" length="[n.subscriber_page_length/]"> <n.if.has_more_elements> <then> <table class="subscriptions"> <tr class="shaded-bg-color"> <th class="medium-border-color"></th> <th class="medium-border-color"><t>Name</t></th> <th class="medium-border-color"><t>Email</t></th> <th class="medium-border-color"><t>Subscription Type</t></th> <th class="medium-border-color"><t>Frequency</t></th> <th class="medium-border-color"></th> </tr> <n.if.is_submitted_form> <then> <n.loop.> <n.if.contains_substring string="[n.to_lower_case.subscription.user.name/]+[n.to_lower_case.subscription.user.user_email/]" substring="[n.to_lower_case.searchName/]"> <then> <n.subscription_user_row/> </then> </n.if.contains_substring> </n.loop.> </then> <else> <n.loop.> <n.subscription_user_row/> </n.loop.> </else> </n.if.is_submitted_form> </table> </then> </n.if.has_more_elements> </n.subscriptions.> <n.subscribers_pagination/> </override_macro> <macro name="subscription_user_row"> <tr> <td style="width:30px;padding:0"><n.subscription.user.avatar/></td> <td class="nowrap"><n.subscription.user.user_link/></td> <td class="nowrap"><n.subscription.user.user_email/></td> <td class="nowrap"><n.subscription.type_label/></td> <td class="nowrap"><n.subscription.type/></td> <td class="nowrap"><n.subscription.unsubscribe_button/></td> </tr> </macro>Save your original code somewhere else and test it. If you see anything wrong reverse the changes.
My test forum.
|
In reply to this post by Pedro
Being able to search users would be helpful for me too.
Here's what happens overnight - it's pretty common. A new member joins at 4am. That's the first sign of a spammer. I now have a way to measure forum joiners as a GOAL in Google Analytics. I check the "conversion" and it came from China. Looks spammy. I check the email address and it's registered as a spammer in Stop Forum Spam. I have well over a hundred, maybe 200 members who have 0 posts. I have to work my way through the pages to find the user to ban him. It may be hard to believe but often I have to go through these pages more than once to find the right person. I just miss them somehow. What I do instead is I have created a subgroup called spammers and I add them to that group. It's a short list, I find them and ban them from there. Being able to search the main list would save me some steps.
HTTPS Please!
|
Please, try to use this code:
<override_macro name="people_tabbed_pane"> <div style="margin:.5em 0"> <n.horizontal_tab_control.> <n.add_horizontal_tab url="[n.page_node.people_path/]" text="[t]Users & Groups[/t]" selected="[n.is_people_default/]" details="[n.visible_users_table.people_columns/]" /> <n.add_horizontal_tab url="[n.page_node.people_path filter='online-users'/]" text="[t]Online Users[/t]" selected="[n.is_online_users/]" details="[n.online_users_table.people_columns/]" /> <n.add_horizontal_tab url="[n.page_node.people_path filter='list'/]" text="[t]Search[/t]" selected="[n.is_people_filter value='list'/]" details="[n.page_node.people_search_list.people_columns/]" /> </n.horizontal_tab_control.> </div> </override_macro> <macro name='is_people_search'> <n.is_people_filter value='list' /> </macro> <macro name='is_people_default'> <n.both condition1="[n.not.is_online_users/]" condition2="[n.not.is_people_search/]"/> </macro> <macro name="people_search_list" requires="node" dot_parameter="columns"> <n.put_in_head.> <style type="text/css"> </style> </n.put_in_head.> <n.zebra_table_javascript table_selector="table.subscriptions"/> <form method="post" action="" class=''> <div> <b>Name:</b> <input type='text' maxlength='30' name="name" /><input class="sub_but" type="submit" value="Search" /> </div> </form> <br/> <n.if.is_submitted_form> <then> <n.searched_users_list.> <n.people_table.> <n.columns/> </n.people_table.> </n.searched_users_list.> </then> </n.if.is_submitted_form> </macro> <macro name="searched_users_list" dot_parameter="do" requires="node_page"> <n.site_users. start="0" length="999"> <n.filter_by.contains_substring string="[n.to_lower_case.current_user.name/]+[n.to_lower_case.current_user.user_email/]" substring="[n.to_lower_case.searchName/]"/> <n.do/> </n.site_users.> </macro> <macro name='searchName'> <n.get_parameter name='name' /> </macro>
My test forum.
|
In reply to this post by Pedro
Thanks. Works great!
Coleen |
Now that I've got a lot of users in my system and they're starting to subscribe, I'm seeing a problem with the search for subscribers. It only seems to search the page that is currently displayed.
For example one user dfoor is subscribed to the main SUDSOL section. When I bring up the manage subscribers for that section and select search for "dfoor" it doesn't show any results. If I scroll to page 2 and repeat the search - still no results. But when I scroll to page 3 where she is listed and search, then she shows. Coleen |
I can't do it now because this part of code is not in Naml.
But you can show everybody at the same page, so that, the search will work. At the macro list_subscribers, replace this line: <n.subscriptions. start="[n.subscriber_page_index_record/]" length="[n.subscriber_page_length/]">with: <n.subscriptions. start="[n.subscriber_page_index_record/]" length="[n.page_node.subscription_count/]">and delete the pagination links: "n.subscribers_pagination"
My test forum.
|
Perfect! That works for me as I don't really care how long the page is and would prefer to see all subscribers at once.
Coleen |
Free forum by Nabble | Edit this page |