$dataBlocks = get_option('glmMembersAdminNoticeDataBlocks');
$dataBlocks[] = array('data' => $message, 'title' => $title);
update_option('glmMembersAdminNoticeDataBlocks', $dataBlocks);
-
break;
case 'AdminNotice':
glmMembersAdmin::addNotice($x, 'DataBlock', 'Template Parameters');
}
- $templateVars = '<pre>' . print_r($x, 1) . '</pre>';
- glmMembersAdmin::addNotice($templateVars, 'Template Parameters', 'Process');
-
}
// Generate output from model data and view
// If windowed for debug, also include HTML header and stylesheet
if ($windowed) {
- $output .= '
+ $output .= '
<html>
<head>
<link rel="stylesheet" href="'.GLM_MEMBERS_PLUGIN_URL.'/css/admin.css">
echo '<div class="updated"><h3>'.GLM_MEMBERS_PLUGIN_NAME.' Plugin Warning</h3><p>'.$startupNotices.'</p></div>';
}
if ($startupNotices != '') {
- //add_action('admin_notices','glmMembersStartupNotices');
+ add_action('admin_notices','glmMembersStartupNotices');
}
/*
*/
if (!GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) {
delete_option('glmMembersAdminNoticeAlerts');
-// delete_option('glmMembersAdminNotices');
+ delete_option('glmMembersAdminNotices');
delete_option('glmMembersAdminNoticeProcess');
delete_option('glmMembersAdminNoticeDataBlocks');
}
* Also note that parameters will be in the context of the main admin controller constructor.
*/
+
+// Add content to member detail page
+add_filter('glm-member-db-admin-management-hoooksHelp', function($content) {
+
+ // Read in this plugin/addon hook help file
+ $fname = GLM_MEMBERS_PLUGIN_PATH.'/setup/hooksHelp.html';
+ if (is_file($fname)) {
+ $hooksHelp = file_get_contents($fname);
+ if ($hooksHelp != false) {
+ $content .= $hooksHelp;
+ }
+ }
+ return $content;
+ },
+ 10,
+ 2
+);
+
?>
\ No newline at end of file
--- /dev/null
+<!-- Hooks Help from glm-member-db Plugin -->
+
+ <tr><td colspan="3" class="glm-notice"><p>Main Member DB Plugin</p></td></tr>
+
+ <tr><th colspan="3">Add-On Registration Hooks</td></tr>
+ <tr>
+ <td>glm-member-db-register-addon</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Informs the GLM Meembers DB plugin of an installed add-on plugin. Information
+ on the plugin is provided in an array that's returned from the function
+ referenced in the add_filer() call.
+ <p>
+ The data compiled from all registered add-on plugins is stored in the $config
+ object for reference throughout this plugin.
+ </p><p>
+ An example from the registration of
+ the Contacts add-on is below.
+ </p>
+ <div class="glm-code">
+function glmMembersRegisterContacts($addOns) {
+ $addOns[GLM_MEMBERS_CONTACTS_PLUGIN_SLUG] = array(
+ 'dir' => GLM_MEMBERS_CONTACTS_PLUGIN_PATH,
+ 'name' => GLM_MEMBERS_CONTACTS_PLUGIN_NAME,
+ 'short_name' => GLM_MEMBERS_CONTACTS_PLUGIN_SHORT_NAME
+ );
+ return $addOns;
+}
+add_filter('glm-member-db-register-addon','glmMembersRegisterContacts', 10, 1);
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-add-menu</td>
+ <td>Action</td>
+ <td></td>
+ <td>
+ Hook to add a menu or menus (or sub-menus) to the GLM Member DB menus. Note that
+ you may have only menu items and sub-menu items under a main menu item, or in other
+ words, only 3 levels of menus.
+ <div class="glm-code">
+// This call will generally be in the constructor of the admin controller in the add-on plugin
+add_action('glm-member-db-add-menu', array($this, 'glmMembersAddMenusContacts'));
+
+// The following two functions would be located elsewhere of the admin controller class.
+public function glmMembersAddMenusContacts()
+{
+ // Add hooks to WordPress
+ add_action('admin_menu', array($this, 'configureMenus'));
+}
+public function configureMenus ()
+{
+ // A test menu
+ add_submenu_page(
+ 'glm-members-admin-menu-members',
+ 'Contacts',
+ 'Contacts',
+ 'glm_members_edit',
+ 'glm-members-admin-menu-contacts',
+ array($this, 'glmMembersAdminMenuContacts')
+ );
+}
+ </div>
+ <p>
+ Note that in the example above that the function references are as they as
+ would be used when contained in a class and being called from another
+ method--such as '_constructor()'. This will likely be the case since the
+ add_action() call will generally be located in the constructor of the
+ add-on's admin controller and the the function called by that will be
+ a function in the same class.
+ </p>
+ <p>
+ Current list of standard GLM Member DB menu items.
+ </p>
+ <table class="glm-admin-table" border=1">
+ <tdead>
+ <tr ><td>Menu</td><td>level</td><td>Slug</td></tr>
+ </tdead>
+ <tbody>
+ <tr><td>Member DB</td><td>Main Menu</td><td>glm-members-admin-menu-members</td></tr>
+ <tr><td>Members</td><td>Sub-Menu</td><td>(same as Member DB main menu item)</td></tr>
+ <tr><td>Members</td><td>Sub-Menu</td><td>glm-members-admin-menu-members</td></tr>
+ <tr><td>Member List</td><td>Sub-Sub-Menu</td><td>glm-members-admin-menu-members-list</td></tr>
+ <tr><td>Member</td><td>Sub-Menu</td><td>glm-members-admin-menu-member</td></tr>
+ <tr><td>Configure</td><td>Sub-Menu</td><td>glm-members-admin-menu-configure</td></tr>
+ <tr><td>Management</td><td>Sub-Menu</td><td>glm-members-admin-menu-management</td></tr>
+ <tr><td>Shortcodes</td><td>Sub-Menu</td><td>glm-members-admin-menu-shortcodes</td></tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-add-tab-for-{menu_item}</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to add a tab or tabs to the header for pages in a particular page where
+ {menu_item} should be the name of the menu item (page) where
+ the tab(s) should be added.
+ <p>
+ As shown in the example below, the $addOnTabs array that is passed is an array
+ of tab definition arrays wherein 'text' is the text displayed on the tab and
+ 'action' is the action that is to be performed when the tab is clicked.
+ </p>
+ <div class="glm-code">
+// This call will generally be in the constructor of the admin controller in the add-on plugin
+add_filter('glm-member-db-add-tab-for-members', array($this, 'glmMembersAddTabForMembers'));
+
+// The following two functions would be located elsewhere in the admin controller class.
+public function glmMembersAddTabForMembers($addOnTabs)
+{
+ $newTabs = array(
+ array(
+ 'text' => 'New Tab',
+ 'action' => 'contact'
+ ),
+ array(
+ 'text' => 'Another Tab',
+ 'action' => 'anotherAction'
+ )
+ );
+ $addOnTabs = array_merge($addOnTabs, $newTabs);
+ return $addOnTabs;
+}
+ </div>
+ <p>
+ The tabs are generated from this array by the related header.html template
+ for the related menu item.
+ </p>
+ <p>
+ Note that in the example above that the function references are as they as
+ would be used when contained in a class and being called from another
+ method--such as '_constructor()'. This will likely be the case since the
+ add_filter() call will generally be located in the constructor of the
+ add-on's admin controller and the the function called by that will be
+ a function in the same class.
+ </p>
+ </td>
+ </tr>
+
+ <tr><th colspan="3">User Permission Hooks</td></tr>
+
+ <tr>
+ <td>glm_members_current_logged_in_user</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook requesting additional information on any currently logged in user.
+ <p>
+ This hook is used to accumulate current user information before a controller
+ is executed. The current user information is stored in $config as 'loggedInUser'
+ so as to be available to all subsequent code. The data is stored as an array
+ and defaults to having one 'wpUser' sub-array.
+ </p>
+ <p>
+ The code providing the data should return the supplied data even if it is not
+ contributing any additional user information.
+ </p>
+ <p>
+ If the code is adding user information (i.e. the Contacts add-on adding information
+ on a "contact" user), it should probably supply the data in a separate sub-array
+ (i.e. 'contactUser'). In any case, it must still return the wpUser sub-array
+ data that was provided by the hook.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_locked_to_member_id</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook requesting any member ID to which the current user might be restricted.
+ <p>
+ The code providing the data should return the provided value if it has no member ID
+ it wishes to pass back, thus permitting this hook to be chained to more than one
+ possible source of a member ID to which the user should be restricted. For example,
+ a user might only have permissions to view or edit one member and therefore should
+ not have access to any others.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_menu_members</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see the "Members" menu.
+ <p>
+ This hook passes the hooked code a boolean saying whether the permission has
+ been withdrawn by previously hooked code. The default is true, so all hooked
+ code must pass true back to the hook for the permission to be granted.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_menu_member</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see the "Member" menu.
+ <p>
+ This hook passes the hooked code a boolean saying whether the permission has
+ been withdrawn by previously hooked code. The default is true, so all hooked
+ code must pass true back to the hook for the permission to be granted.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_menu_configure</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see the "Configure" menu.
+ <p>
+ This hook passes the hooked code a boolean saying whether the permission has
+ been withdrawn by previously hooked code. The default is true, so all hooked
+ code must pass true back to the hook for the permission to be granted.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_menu_management</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see the "Management" menu.
+ <p>
+ This hook passes the hooked code a boolean saying whether the permission has
+ been withdrawn by previously hooked code. The default is true, so all hooked
+ code must pass true back to the hook for the permission to be granted.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_menu_menu_shortcodes</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see the "Shortcodes" menu.
+ <p>
+ This hook passes the hooked code a boolean saying whether the permission has
+ been withdrawn by previously hooked code. The default is true, so all hooked
+ code must pass true back to the hook for the permission to be granted.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_members_index_add_member</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to add a new member on the
+ Members index page.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_members_index_member_config_warning</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to show the user notices regarding
+ information managed under the "Configure" menu.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_index_edit_member</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to edit member base data.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_index_add_member_info_version</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to add a new member information
+ version on the Member index page.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_index_view_member_info_version</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to view member infor versions.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_index_clone_activate_info_version</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to Clone or Activate member
+ information versions on the Member index page.
+ </td>
+ </tr>
+
+
+ <tr>
+ <td>glm_members_permit_admin_widget_members</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to search members in the Dashboard Widget.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_widget_warnings</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see configuration and other members
+ warnings in the Dashboard Widget.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_widget_pending_info</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see a list of pending information
+ records for all members in the Dashboard Widget.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_index_list_inactive_info</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to see a list of inactive member information.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_member_info_edit</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to edit member information.
+ </td>
+ </tr>
+ <tr>
+ <td>glm_members_permit_admin_profile_index_edit_profile</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ Hook to test if the logged in user is permitted to edit their own profile.
+ </td>
+ </tr>
+
+ <tr><th colspan="3">Front-End Output Hooks - Member List Page</td></tr>
+
+ <tr>
+ <td>glm-member-db-front-members-list-pageTop</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-mapTop</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-mapBottom</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-searchFormTop</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-searchFormBottom</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-listHeaderTop</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-listHeaderBottom</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberAbove</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberInfoTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberAddressTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberInfoBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberDetailTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberDetailBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberDescriptionTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberDescriptionBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberDataBelow</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-mapBubbleTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-mapBubbleBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-memberBelow</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-list-pageBottom</td>
+ <td>Filter</td>
+ <td></td>
+ <td>
+ </td>
+ </tr>
+
+ <tr><th colspan="3">Front-End Output Hooks - Member Detail Page</td></tr>
+
+ <tr>
+ <td>glm-member-db-front-members-detail-pageTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-addressTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-addressBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-otherDetailTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-otherDetailBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-linksTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-linksBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-attributesTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-attributesBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-descriptionTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-descriptionBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-galleryTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-galleryBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-pageBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-jqueryScriptTop</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>glm-member-db-front-members-detail-jqueryScriptBottom</td>
+ <td>Filter</td>
+ <td>$memberID</td>
+ <td>
+ </td>
+ </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
{include file='admin/management/header.html'}
- <h2>Hooks Into GLM Member DB Reference</h2>
+ <h2>Hooks Into GLM Member DB - Reference</h2>
<p>
- Listed below are hooks into the GLM Member DB plugin. These hooks are used by
- add-ons (child plugins) and by themes to extend and modify behavior and output
- content of this plugin and its addons.
+ Listed below are hooks into the GLM Member DB plugin and Add-Ons. These hooks are used by
+ the main GLM Member DB plugin, GLM Member DB Add-Ons (child plugins), and by themes to
+ extend and modify behavior and output content of this plugin and its addons, including the
+ content on this page.
</p>
<table class="glm-admin-table">
- <tr><th>Hook</th><th>Type</th><th>Description</th></tr>
- <tr>
- <th>glm-member-db-register-addon</th>
- <td>Filter</td>
- <td>
- Informs the GLM Meembers DB plugin of an installed add-on plugin. Information
- on the plugin is provided in an array that's returned from the function
- referenced in the add_filer() call.
- <p>f
- The data compiled from all registered add-on plugins is stored in the $config
- object for reference throughout this plugin.
- </p><p>
- An example from the registration of
- the Contacts add-on is below.
- </p>
- <div class="glm-code">
-function glmMembersRegisterContacts($addOns) {
- $addOns[GLM_MEMBERS_CONTACTS_PLUGIN_SLUG] = array(
- 'dir' => GLM_MEMBERS_CONTACTS_PLUGIN_PATH,
- 'name' => GLM_MEMBERS_CONTACTS_PLUGIN_NAME,
- 'short_name' => GLM_MEMBERS_CONTACTS_PLUGIN_SHORT_NAME
- );
- return $addOns;
-}
-add_filter('glm-member-db-register-addon','glmMembersRegisterContacts', 10, 1);
- </div>
- </td>
- </tr>
- <tr>
- <th>glm-member-db-add-menu</th>
- <td>Action</td>
- <td>
- Hook to add a menu or menus (or sub-menus) to the GLM Member DB menus. Note that
- you may have only menu items and sub-menu items under a main menu item, or in other
- words, only 3 levels of menus.
- <div class="glm-code">
-// This call will generally be in the constructor of the admin controller in the add-on plugin
-add_action('glm-member-db-add-menu', array($this, 'glmMembersAddMenusContacts'));
-
-// The following two functions would be located elsewhere of the admin controller class.
-public function glmMembersAddMenusContacts()
-{
- // Add hooks to WordPress
- add_action('admin_menu', array($this, 'configureMenus'));
-}
-public function configureMenus ()
-{
- // A test menu
- add_submenu_page(
- 'glm-members-admin-menu-members',
- 'Contacts',
- 'Contacts',
- 'glm_members_edit',
- 'glm-members-admin-menu-contacts',
- array($this, 'glmMembersAdminMenuContacts')
- );
-}
- </div>
- <p>
- Note that in the example above that the function references are as they as
- would be used when contained in a class and being called from another
- method--such as '_constructor()'. This will likely be the case since the
- add_action() call will generally be located in the constructor of the
- add-on's admin controller and the the function called by that will be
- a function in the same class.
- </p>
- <p>
- Current list of standard GLM Member DB menu items.
- </p>
- <table class="glm-admin-table" border=1">
- <thead>
- <tr ><th>Menu</th><th>level</th><th>Slug</th></tr>
- </thead>
- <tbody>
- <tr><th>Member DB</th><td>Main Menu</td><td>glm-members-admin-menu-members</td></tr>
- <tr><th>Members</th><td>Sub-Menu</td><td>(same as Member DB main menu item)</td></tr>
- <tr><th>Members</th><td>Sub-Menu</td><td>glm-members-admin-menu-members</td></tr>
- <tr><th>Member List</th><td>Sub-Sub-Menu</td><td>glm-members-admin-menu-members-list</td></tr>
- <tr><th>Member</th><td>Sub-Menu</td><td>glm-members-admin-menu-member</td></tr>
- <tr><th>Configure</th><td>Sub-Menu</td><td>glm-members-admin-menu-configure</td></tr>
- <tr><th>Management</th><td>Sub-Menu</td><td>glm-members-admin-menu-management</td></tr>
- <tr><th>Shortcodes</th><td>Sub-Menu</td><td>glm-members-admin-menu-shortcodes</td></tr>
- </tbody>
- </table>
- </td>
- </tr>
- <tr>
- <th>glm-member-db-add-tab-for-{literal}{menu_item}{/literal}</th>
- <td>Filter</td>
- <td>
- Hook to add a tab or tabs to the header for pages in a particular page where
- {literal}{menu_item}{/literal} should be the name of the menu item (page) where
- the tab(s) should be added.
- <p>
- As shown in the example below, the $addOnTabs array that is passed is an array
- of tab definition arrays wherein 'text' is the text displayed on the tab and
- 'action' is the action that is to be performed when the tab is clicked.
- </p>
- <div class="glm-code">
-// This call will generally be in the constructor of the admin controller in the add-on plugin
-add_filter('glm-member-db-add-tab-for-members', array($this, 'glmMembersAddTabForMembers'));
-
-// The following two functions would be located elsewhere in the admin controller class.
-public function glmMembersAddTabForMembers($addOnTabs)
-{
- $newTabs = array(
- array(
- 'text' => 'New Tab',
- 'action' => 'contact'
- ),
- array(
- 'text' => 'Another Tab',
- 'action' => 'anotherAction'
- )
- );
- $addOnTabs = array_merge($addOnTabs, $newTabs);
- return $addOnTabs;
-}
- </div>
- <p>
- The tabs are generated from this array by the related header.html template
- for the related menu item.
- </p>
- <p>
- Note that in the example above that the function references are as they as
- would be used when contained in a class and being called from another
- method--such as '_constructor()'. This will likely be the case since the
- add_filter() call will generally be located in the constructor of the
- add-on's admin controller and the the function called by that will be
- a function in the same class.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_current_logged_in_user</th>
- <td>Filter</td>
- <td>
- Hook requesting additional information on any currently logged in user.
- <p>
- This hook is used to accumulate current user information before a controller
- is executed. The current user information is stored in $config as 'loggedInUser'
- so as to be available to all subsequent code. The data is stored as an array
- and defaults to having one 'wpUser' sub-array.
- </p>
- <p>
- The code providing the data should return the supplied data even if it is not
- contributing any additional user information.
- </p>
- <p>
- If the code is adding user information (i.e. the Contacts add-on adding information
- on a "contact" user), it should probably supply the data in a separate sub-array
- (i.e. 'contactUser'). In any case, it must still return the wpUser sub-array
- data that was provided by the hook.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_locked_to_member_id</th>
- <td>Filter</td>
- <td>
- Hook requesting any member ID to which the current user might be restricted.
- <p>
- The code providing the data should return the provided value if it has no member ID
- it wishes to pass back, thus permitting this hook to be chained to more than one
- possible source of a member ID to which the user should be restricted. For example,
- a user might only have permissions to view or edit one member and therefore should
- not have access to any others.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_menu_members</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the "Members" menu.
- <p>
- This hook passes the hooked code a boolean saying whether the permission has
- been withdrawn by previously hooked code. The default is true, so all hooked
- code must pass true back to the hook for the permission to be granted.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_menu_member</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the "Member" menu.
- <p>
- This hook passes the hooked code a boolean saying whether the permission has
- been withdrawn by previously hooked code. The default is true, so all hooked
- code must pass true back to the hook for the permission to be granted.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_menu_configure</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the "Configure" menu.
- <p>
- This hook passes the hooked code a boolean saying whether the permission has
- been withdrawn by previously hooked code. The default is true, so all hooked
- code must pass true back to the hook for the permission to be granted.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_menu_management</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the "Management" menu.
- <p>
- This hook passes the hooked code a boolean saying whether the permission has
- been withdrawn by previously hooked code. The default is true, so all hooked
- code must pass true back to the hook for the permission to be granted.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_menu_menu_shortcodes</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the "Shortcodes" menu.
- <p>
- This hook passes the hooked code a boolean saying whether the permission has
- been withdrawn by previously hooked code. The default is true, so all hooked
- code must pass true back to the hook for the permission to be granted.
- </p>
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_members_index_add_member</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to add a new member on the
- Members index page.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_members_index_member_config_warning</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to show the user notices regarding
- information managed under the "Configure" menu.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_index_edit_member</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit member base data.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_index_add_member_info_version</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to add a new member information
- version on the Member index page.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_index_view_member_info_version</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to view member infor versions.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_index_clone_activate_info_version</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to Clone or Activate member
- information versions on the Member index page.
- </td>
- </tr>
-
-
- <tr>
- <th>glm_members_permit_admin_widget_members</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to search members in the Dashboard Widget.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_widget_warnings</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see configuration and other members
- warnings in the Dashboard Widget.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_widget_pending_info</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see a list of pending information
- records for all members in the Dashboard Widget.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_index_list_inactive_info</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see a list of inactive member information.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_info_edit</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit member information.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_profile_index_edit_profile</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit their own profile.
- </td>
- </tr>
-
- <tr><th colspan="3" class="glm-notice"><p>Contacts Add-On</p></th></tr>
- <tr>
- <th>glm_members_permit_admin_member_contacts_tab</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the member Contacts tab.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_contacts_add_contact</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to add a new contact.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_contacts_view_contact</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to view a contact.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_contacts_edit_contact</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit a contact.
- </td>
- </tr>
-
-
- <tr><th colspan="3" class="glm-notice"><p>Packaging Add-On</p></th></tr>
- <tr>
- <th>glm_members_permit_admin_members_packages_tab</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see multi-member packaging tab.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_members_packaging_add_package</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to add a new multi-member package.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_members_packaging_edit_package</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit a multi-member package.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_members_packages_tab</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to see the member packaging tab.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_packaging_add_package</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to add a new Member package.
- </td>
- </tr>
- <tr>
- <th>glm_members_permit_admin_member_packaging_edit_package</th>
- <td>Filter</td>
- <td>
- Hook to test if the logged in user is permitted to edit a member package.
- </td>
- </tr>
-
+ <tr><th>Hook</th><th>Type</th><th>Added Parameters</th><th>Description</th></tr>
+ {apply_filters('glm-member-db-admin-management-hoooksHelp', '')}
</table>
-
-
{include file='admin/footer.html'}
-
-
-
-'glm-member-db-add-tab-for-'.$menuItem,
\ No newline at end of file
{include file='front/members/header.html'}
+{apply_filters('glm-member-db-front-members-detail-pageTop', '', $member.id)}
+
{if $haveMember}
<script src="http://maps.googleapis.com/maps/api/js?sensor=true&key={$settings.google_maps_api_key}"></script>
{/if}
<!-- <h3>{$terms.term_member_cap} Detail</h3>-->
- <script>
- document.write('<a class="button right glm-member-detail-button" href="' + document.referrer + '">Take me back</a>');
-</script>
+ <script> document.write('<a class="button right glm-member-detail-button" href="' + document.referrer + '">Take me back</a>'); </script>
<div class="row">
<div class="small-12 columns glm-member-detail-container">
<div class="row">
<div class="small-12 medium-4 glm-member-detail-info columns">
<!-- Member name, address, and basic information -->
- <h2>
- {$member.member}
- </h2>
- {if $settings.detail_show_address}
- {if $settings.detail_show_street}
- {if $member.addr1}<div>{$member.addr1}</div>{/if}
- {if $member.addr2}<div>{$member.addr2}</div>{/if}
- {/if}
- {if $settings.detail_show_citystatezip}
- {if $member.city}<span>{$member.city}</span>{if $member.state.name}, {/if}{/if}<span>{if $member.state.name}{$member.state.name}</span>{/if}{if $member.zip} {$member.zip}{/if}
- {/if}
- {if $member.country.name && $settings.detail_show_country}<div>{$member.country.name}</div>{/if}
- {/if}
- {if $member.phone && $settings.detail_show_phone}<div>Phone: {$member.phone}</div>{/if}
- {if $member.toll_free && $settings.detail_show_tollfree}<div><b>Toll Free:</b> {$member.toll_free}</div>{/if}
- {if $member.region && $settings.detail_show_region}<div><p><b>Region:</b> {$member.region}</div>{/if}
-
- <div class="glm-member-list-links"><br>
- {if $member.url && $settings.detail_show_url}<a href="{$member.url}"{if $settings.detail_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
- {if $member.email && $settings.detail_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
- {if $settings.detail_show_imagegallery && $haveImageGallery}<a href="#glm-member-detail-photo-gallery">Photo Gallery</a>{/if}
- {if $settings.detail_show_coupons && $coupons}<a href="#glm-member-detail-coupons">Coupons</a>{/if}
- {if $settings.detail_show_packages && $packages}<a href="#glm-member-detail-packages">Packages</a>{/if}
- </div>
- </div>
- {if $settings.detail_show_map}
- {if $member.logo && $settings.detail_show_logo}
- <div id="glm-locationMap-container" class="small-12 medium-4 columns">
- {else}
- <div id="glm-locationMap-container" class="small-12 medium-8 columns">
- {/if}
- <div id="glm-locationMap" class="glm-map">(map loads here)</div>
- </div>
- {/if}
- {if $member.logo && $settings.detail_show_logo}
- <div class="glm-member-detail-image-wrapper small-12 medium-4 columns">
-<!-- <img class="glm-member-list-image-left" src="http://placehold.it/500x300">-->
- <img CLASS="glm-member-list-image-left" src="{$glmPluginMediaURL}/images/{$settings.detail_logo_size}/{$member.logo}">
+ <h2>
+ {$member.member}
+ </h2>
+ {if $settings.detail_show_address}
+ {apply_filters('glm-member-db-front-members-detail-addressTop', '', $member.id)}
+ {if $settings.detail_show_street}
+ {if $member.addr1}<div>{$member.addr1}</div>{/if}
+ {if $member.addr2}<div>{$member.addr2}</div>{/if}
+ {/if}
+ {if $settings.detail_show_citystatezip}
+ {if $member.city}<span>{$member.city}</span>{if $member.state.name}, {/if}{/if}<span>{if $member.state.name}{$member.state.name}</span>{/if}{if $member.zip} {$member.zip}{/if}
+ {/if}
+ {if $member.country.name && $settings.detail_show_country}<div>{$member.country.name}</div>{/if}
+ {apply_filters('glm-member-db-front-members-detail-addressBottom', '', $member.id)}
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-otherDetailTop', '', $member.id)}
+ {if $member.phone && $settings.detail_show_phone}<div>Phone: {$member.phone}</div>{/if}
+ {if $member.toll_free && $settings.detail_show_tollfree}<div><b>Toll Free:</b> {$member.toll_free}</div>{/if}
+ {if $member.region && $settings.detail_show_region}<div><p><b>Region:</b> {$member.region}</div>{/if}
+ {apply_filters('glm-member-db-front-members-detail-otherDetailBottom', '', $member.id)}
+ <div class="glm-member-list-links"><br>
+ {apply_filters('glm-member-db-front-members-detail-linksTop', '', $member.id)}
+ {if $member.url && $settings.detail_show_url}<a href="{$member.url}"{if $settings.detail_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
+ {if $member.email && $settings.detail_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
+ {if $settings.detail_show_imagegallery && $haveImageGallery}<a href="#glm-member-detail-photo-gallery">Photo Gallery</a>{/if}
+ {if $settings.detail_show_coupons && $coupons}<a href="#glm-member-detail-coupons">Coupons</a>{/if}
+ {if $settings.detail_show_packages && $packages}<a href="#glm-member-detail-packages">Packages</a>{/if}
+ {apply_filters('glm-member-db-front-members-detail-linksBottom', '', $member.id)}
</div>
- {/if}
+ </div>
+ {if $settings.detail_show_map}
+ {if $member.logo && $settings.detail_show_logo}
+ <div id="glm-locationMap-container" class="small-12 medium-4 columns">
+ {else}
+ <div id="glm-locationMap-container" class="small-12 medium-8 columns">
+ {/if}
+ <div id="glm-locationMap" class="glm-map">(map loads here)</div>
+ </div>
+ {/if}
+ {if $member.logo && $settings.detail_show_logo}
+ <div class="glm-member-detail-image-wrapper small-12 medium-4 columns">
+<!-- <img class="glm-member-list-image-left" src="http://placehold.it/500x300">-->
+ <img CLASS="glm-member-list-image-left" src="{$glmPluginMediaURL}/images/{$settings.detail_logo_size}/{$member.logo}">
+ </div>
+ {/if}
</div>
-<!-- Member Description -->
+
+
+ <div>
+ <!-- Laury - Here's a filter for the internal page content links -->
+ {apply_filters('glm-member-db-front-members-detail-internalContentLinks', '', $member.id)}
+ </div>
+
+
+<!-- Attributes: amenitities, credit cards, etc -->
<div id="glm-member-detail-descr-row" class="row" data-equalizer data-options="equalize_on_stack:false">
+ {apply_filters('glm-member-db-front-members-detail-attributesTop', '', $member.id)}
{if ($member.amenities && $settings.detail_show_amenities) || ($member.cc_type && $settings.detail_show_creditcards) || ($member.categories && $settings.detail_show_categories)}
<div id="glm-member-detail-amenities-container" class="small-12 medium-4 columns" >
<div data-equalizer-watch>
- {if $member.amenities && $settings.detail_show_amenities}
- <table>
- <th><b>Amenities & Services</b></th>
- {foreach $member.amenities as $a}
- <tr>
- <td>
- {$a.name}
- </td>
- </tr>
- {/foreach}
- </table>
+ {apply_filters('glm-member-db-front-members-detail-attributesTop', '', $member.id)}
+ {if $member.amenities && $settings.detail_show_amenities}
+ <table>
+ <th><b>Amenities & Services</b></th>
+ {foreach $member.amenities as $a}
+ <tr>
+ <td>
+ {$a.name}
+ </td>
+ </tr>
+ {/foreach}
+ </table>
- {/if}
- {if $member.cc_type && $settings.detail_show_creditcards}
- <p>
- <b>Credit Cards Accepted:</b>
- <ul>
- {foreach $member.cc_type.names as $c}
- <li>{$c}</li>
- {/foreach}
- </ul>
- </p>
- {/if}
- {if $member.categories && $settings.detail_show_categories}
- <p>
- <b>{$terms.term_member_cap} Categories</b>
- <ul>
- {foreach $member.categories as $c}
- <li>
- {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
- </li>
- {/foreach}
- </ul>
- </p>
- {/if}
+ {/if}
+ {if $member.cc_type && $settings.detail_show_creditcards}
+ <p>
+ <b>Credit Cards Accepted:</b>
+ <ul>
+ {foreach $member.cc_type.names as $c}
+ <li>{$c}</li>
+ {/foreach}
+ </ul>
+ </p>
+ {/if}
+ {if $member.categories && $settings.detail_show_categories}
+ <p>
+ <b>{$terms.term_member_cap} Categories</b>
+ <ul>
+ {foreach $member.categories as $c}
+ <li>
+ {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
+ </li>
+ {/foreach}
+ </ul>
+ </p>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-attributesBottom', '', $member.id)}
</div>
</div>
+<!-- Member Description -->
<div id="glm-member-detail-description-container" class="small-12 medium-8 columns" >
{else}
<div id="glm-member-detail-description-container" class="small-12 medium-9 medium-centered columns" >
{/if}
<div data-equalizer-watch>
+ {apply_filters('glm-member-db-front-members-detail-descriptionTop', '', $member.id)}
{if $member.descr && $settings.detail_show_descr}{$member.descr|nl2br}{/if}
{if $member.short_descr && $settings.detail_show_short_descr}{$member.short_descr|nl2br}{/if}
+ {apply_filters('glm-member-db-front-members-detail-descriptionBottom', '', $member.id)}
</div>
</div>
</div>
-
+ {apply_filters('glm-member-db-front-members-detail-descriptionAfter', '', $member.id)}
<!-- Image Gallery -->
- {if $settings.detail_show_imagegallery && $haveImageGallery}
- <div id="glm-member-detail-photos" class="row">
- <a name="glm-member-detail-photo-gallery"></a>
- <div class="small-12 columns">
- <b>Photo Gallery</b>
- </div>
-
- <div class="small-12 columns">
- <ul class="clearing-thumbs small-block-grid-2 medium-block-grid-3 large-block-grid-4" data-clearing>
- {foreach $imageGallery as $i}
- <li><a href="{$glmPluginMediaURL}/images/large/{$i.file_name}"><img data-caption="{$i.caption}" src="{$glmPluginMediaURL}/images/small/{$i.file_name}"></a></li>
- {/foreach}
- </ul>
- </div>
- </div>
- {/if}
- {if $settings.detail_show_coupons && $coupons}
- <div id="glm-member-detail-photos" class="row">
- <a name="glm-member-detail-coupons"></a>
- </div>
- {/if}
- {if $settings.detail_show_packages && $havePackages && $packages}
- <div id="glm-member-detail-photos" class="row">
- <a name="glm-member-detail-packages"></a>
- </div>
- {/if}
+ {if $settings.detail_show_imagegallery && $haveImageGallery}
+ <div id="glm-member-detail-photos" class="row">
+ {apply_filters('glm-member-db-front-members-detail-galleryTop', '', $member.id)}
+ <a name="glm-member-detail-photo-gallery"></a>
+ <div class="small-12 columns">
+ <b>Photo Gallery</b>
+ </div>
+
+ <div class="small-12 columns">
+ <ul class="clearing-thumbs small-block-grid-2 medium-block-grid-3 large-block-grid-4" data-clearing>
+ {foreach $imageGallery as $i}
+ <li><a href="{$glmPluginMediaURL}/images/large/{$i.file_name}"><img data-caption="{$i.caption}" src="{$glmPluginMediaURL}/images/small/{$i.file_name}"></a></li>
+ {/foreach}
+ </ul>
+ </div>
+ {apply_filters('glm-member-db-front-members-detail-galleryBottom', '', $member.id)}
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-pageBottom', '', $member.id)}
</div>
</div>
- </div>
+</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
+ {apply_filters('glm-member-db-front-members-detail-jqueryScriptTop', '', $member.id)}
+
{if $settings.detail_show_map}
/*
* Google Maps
});
{/if} {*detail_show_directions*}
-
+
+ {apply_filters('glm-member-db-front-members-detail-jqueryScriptBottom', '', $member.id)}
+
});
</script>
{include file='front/members/header.html'}
+ {apply_filters('glm-member-db-front-members-list-pageTop', '')}
+
<script src="http://maps.googleapis.com/maps/api/js?sensor=true&key={$settings.google_maps_api_key}"></script>
{if $settings.list_show_map}
+ {apply_filters('glm-member-db-front-members-list-mapTop', '')}
<div id="glm-locationMap" class="glm-map">(map loads here)</div>
+ {apply_filters('glm-member-db-front-members-list-mapBottom', '')}
{/if}
{if $settings.list_show_search}
+
<form action="{$thisURL}?glm_action=list" method="post" enctype="multipart/form-data">
<div class="row">
<div class="small-12 columns glm-member-entry-container">
+ {apply_filters('glm-member-db-front-members-list-searchFormTop', '')}
<div class="row">
<div class="small-12 columns">
<h3><br>Search for a {$terms.term_member_cap}</h3>
{/if}
<div class="row"><div class="small-12 columns"><input type="submit" value="Search"></div></div>
+ {apply_filters('glm-member-db-front-members-list-searchFormBottom', '')}
</div>
</div>
</form>
{/if} {*list_show_search*}
+ {apply_filters('glm-member-db-front-members-list-listHeaderTop', '')}
{if $settings.list_show_list}
<h3>List of {$terms.term_member_plur_cap}</h3>
{if $haveMembers}
{/foreach}
</div>
{/if}
+ {apply_filters('glm-member-db-front-members-list-listHeaderBottom', '')}
<!-- Member information displayed in list -->
{foreach $members as $m}
+ {apply_filters('glm-member-db-front-members-list-memberAbove', '', $m.id)}
<div class="row">
<div class="small-12 columns glm-member-list-container">
+ {apply_filters('glm-member-db-front-members-list-memberTop', '', $m.id)}
<div class="row">
- <!-- Member Logo - Medium and up-->
+ <!-- Member Logo - Medium and up-->
{if $m.logo && $settings.list_show_logo}
<div class="glm-member-list-image-wrapper small-12 medium-4 columns">
<div class="glm-member-list-image-border">
<div class="glm-member-list-image-wrapper small-12 medium-4 columns"><br></div>
<div class="small-12 medium-4 glm-member-list-active-info columns">
{/if}
-<!-- Member name, address, and basic information -->
- <h2>
- {if $settings.list_show_detail_link}
- <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">{$m.member}</a>
+<!-- Member name, address, and basic information -->
+ {apply_filters('glm-member-db-front-members-list-memberInfoTop', '', $m.id)}
+ <h2>
+ {if $settings.list_show_detail_link}
+ <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">{$m.member}</a>
- {else}
- {$m.member}
- {/if}
- </h2>
+ {else}
+ {$m.member}
+ {/if}
+ </h2>
{if $settings.list_show_address}
+ {apply_filters('glm-member-db-front-members-list-memberAddressTop', '', $m.id)}
{if $settings.list_show_street}
{if $m.addr1 && $settings.list_show_address}<div>{$m.addr1}</div>{/if}
{if $m.addr2 && $settings.list_show_addr2}<div>{$m.addr2}</div>{/if}
{if $settings.list_show_citystatezip}
{if $m.city}<span>{$m.city}</span>{if $m.state.name}, {/if}{/if}<span>{if $m.state.name}{$m.state.name}</span>{/if}{if $m.zip} {$m.zip}{/if}
{/if}
- {if $m.country.name && $settings.list_show_country}<div>{$m.country.name}</div>{/if}
+ {if $m.country.name && $settings.list_show_country}<div>{$m.country.name}</div>{/if}
+ {apply_filters('glm-member-db-front-members-list-memberAddressBottom', '', $m.id)}
{/if}
- {if $m.phone && $settings.list_show_phone}<div>Phone: {$m.phone}</div>{/if}
- {if $m.toll_free && $settings.list_show_tollfree}<div><b>Toll Free:</b> {$m.toll_free}</div>{/if}
- {if $m.region && $settings.list_show_region}<div><p><b>Region:</b> {$m.region}</div>{/if}
-
+ {apply_filters('glm-member-db-front-members-list-memberDetailTop', '', $m.id)}
+ {if $m.phone && $settings.list_show_phone}<div>Phone: {$m.phone}</div>{/if}
+ {if $m.toll_free && $settings.list_show_tollfree}<div><b>Toll Free:</b> {$m.toll_free}</div>{/if}
+ {if $m.region && $settings.list_show_region}<div><p><b>Region:</b> {$m.region}</div>{/if}
+
<div class="glm-member-list-links"><br>
- {if $m.url && $settings.list_show_url}<a href="{$m.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
- {if $m.email && $settings.list_show_email}<a href="mailto:{$m.email}">Email</a>{/if}
- </div>
- </div>
+ {if $m.url && $settings.list_show_url}<a href="{$m.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
+ {if $m.email && $settings.list_show_email}<a href="mailto:{$m.email}">Email</a>{/if}
+ </div>
+ {apply_filters('glm-member-db-front-members-list-memberDetailBottom', '', $m.id)}
+ </div>
<div class="glm-member-list-description small-12 medium-4 left columns">
-
- {if $m.short_descr && $settings.list_show_short_descr}
- {$m.short_descr|nl2br}
- {elseif $m.descr && $settings.list_show_description}
- {$m.descr|nl2br}
- {/if}
-
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionTop', '', $m.id)}
+ {if $m.short_descr && $settings.list_show_short_descr}
+ {$m.short_descr|nl2br}
+ {elseif $m.descr && $settings.list_show_description}
+ {$m.descr|nl2br}
+ {/if}
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionBottom', '', $m.id)}
{if $m.categories && $settings.list_show_categories}
<p>
<b>{$terms.term_member_cap} Categories</b>
</p>
{/if}
</div>
-
</div>
+ <!-- Laury - This is the one that should go underneath all the address and description area -->
+ {apply_filters('glm-member-db-front-members-list-memberDataBelow', '', $m.id)}
+
+ {apply_filters('glm-member-db-front-members-list-memberBottom', '', $m.id)}
</div>
+ {apply_filters('glm-member-db-front-members-list-memberBelow', '', $m.id)}
<!-- Member Description -->
</div>
-
<!-- Member information displayed in map bubbles -->
<div id="map_info_{$m.id}" class="glm-hidden">
+ {apply_filters('glm-member-db-front-members-list-mapBubbleTop', '', $m.id)}
{if $m.logo && $settings.list_map_show_logo}<div class="glm-member-list-image"><img src="{$glmPluginMediaURL}/images/{$settings.list_map_logo_size}/{$m.logo}"></div>{/if}
<div class="glm-map-member-name">
{if $settings.list_map_show_detaillink}
</div>
{/if}
</div>
+ {apply_filters('glm-member-db-front-members-list-mapBubbleBottom', '', $m.id)}
</div> <!-- End of information displayed in map bubbles -->
{/foreach} {*$members*}
-
+ {apply_filters('glm-member-db-front-members-list-pageBottom', '')}
{else}
<div>(no {$terms.term_member_plur} listed)</div>
{/if}