*/
// Load Members data abstract
-require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php';
+require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMembers.php';
/*
* This class performs the work for the default action of the "Members" menu
* @return object Class object
*
*/
- public function __construct ($wpdb, $config)
+ public function __construct ( $wpdb, $config )
{
// Save WordPress Database object
$this->config = $config;
// Run constructor for members data class
- parent::__construct(false, false);
+ parent::__construct( false, false );
}
* produce output.
*
*/
- public function modelAction ($actionData = false)
+ public function modelAction ( $actionData = false )
{
// ***** THIS IS ONLY TEMPORARY AS WE TRANSITION AWAY FROM OPTION FOR LAST MEMBER ID - Can be deleted after 2.10.30 ******
delete_option('glmMembersDatabaseMemberID');
-
- $success = true;
- $haveMember = false;
- $addingMember = false;
- $memberData = false;
- $memberName = false;
- $memberID = 0;
- $archived = false;
- $memberUpdated = false;
- $haveMemberInfo = false;
- $clickThroughCounts = array('day' => 0, 'week' => 0, 'month' => 0);
- $detailViewCounts = array('day' => 0, 'week' => 0, 'month' => 0);
+ $success = true;
+ $haveMember = false;
+ $addingMember = false;
+ $memberData = false;
+ $memberName = false;
+ $memberID = 0;
+ $archived = false;
+ $memberUpdated = false;
+ $haveMemberInfo = false;
+ $clickThroughCounts = array( 'day' => 0, 'week' => 0, 'month' => 0 );
+ $detailViewCounts = array( 'day' => 0, 'week' => 0, 'month' => 0 );
// Check for required Member Types
- require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberTypes.php';
- $MemberTypes = new GlmDataMemberTypes($this->wpdb, $this->config);
+ require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberTypes.php';
+ $MemberTypes = new GlmDataMemberTypes( $this->wpdb, $this->config );
$memberTypesStats = $MemberTypes->getStats();
- $haveMemberTypes = ($memberTypesStats > 0);
+ $haveMemberTypes = ( $memberTypesStats > 0 );
// Check if there's a logged in user who is locked to their own entity
- $lockedToMember = apply_filters('glm_members_locked_to_member_id', false);
- if ($lockedToMember) {
+ $lockedToMember = apply_filters( 'glm_members_locked_to_member_id', false );
+ if ( $lockedToMember ) {
$memberID = $lockedToMember;
// Next make darn't sure they are admin or members manager before checking for other member ID.
- } elseif (!apply_filters('glm_members_menu_members', false) && !is_admin()) {
+ } elseif ( !apply_filters( 'glm_members_menu_members', false ) && !is_admin() ) {
- wp_die('There has been a member access check failure. Please call for support.');
+ wp_die( 'There has been a member access check failure. Please call for support.' );
// Otherwise Check for other member selection options
} else {
- if (isset($_REQUEST['option']) && $_REQUEST['option'] == 'add') {
+ if ( isset($_REQUEST['option'] ) && $_REQUEST['option'] == 'add' ) {
$memberID = 0;
- setcookie("glmMembersDatabaseMemberID", $memberID, time()-3600);
+ setcookie( "glmMembersDatabaseMemberID", $memberID, time() - 3600 );
// Check if a redirecting model supplied the member ID
- } elseif (isset($actionData['memberID'])) {
+ } elseif ( isset( $actionData['memberID'] ) ) {
$memberID = $actionData['memberID'];
// Otherwise check if one was supplied by the user or passed from somewhere else
- } elseif (isset($_REQUEST['member'])) {
+ } elseif ( isset( $_REQUEST['member'] ) ) {
// Make sure it's a number
- $memberID = $_REQUEST['member']-0;
+ $memberID = $_REQUEST['member'] - 0;
} else {
$memberID = 0;
- if (isset($_COOKIE['glmMembersDatabaseMemberID']) && $_COOKIE['glmMembersDatabaseMemberID'] > 0) {
+ if ( isset( $_COOKIE['glmMembersDatabaseMemberID']) && $_COOKIE['glmMembersDatabaseMemberID'] > 0 ) {
$memberID = $_COOKIE['glmMembersDatabaseMemberID'];
}
* Setup to add a new member
*
*/
- if ($memberID <= 0 && isset($_REQUEST['option']) && ($_REQUEST['option'] == 'add' || $_REQUEST['option'] == 'addNew')) {
+ if ( $memberID <= 0 && isset( $_REQUEST['option'] ) && ( $_REQUEST['option'] == 'add' || $_REQUEST['option'] == 'addNew' ) ) {
// If this is a new member submission
- if (isset($_REQUEST['option']) && $_REQUEST['option'] == 'addNew') {
+ if ( isset($_REQUEST['option'] ) && $_REQUEST['option'] == 'addNew' ) {
// Attempt to add the new member
$memberData = $this->insertEntry();
- if($memberData['status']) {
+ if( $memberData['status'] ) {
$memberID = $memberData['fieldData']['id'];
// Update the member slug then get member data again
- $this->updateSlug($memberID);
+ $this->updateSlug( $memberID );
// Now get the updated entry with the slug
- $memberData = $this->editEntry($memberID);
+ $memberData = $this->editEntry( $memberID );
$haveMember = true;
* Member update
*
*/
- } elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') {
+ } elseif ( isset( $_REQUEST['option'] ) && $_REQUEST['option'] == 'submit' ) {
- $memberData = $this->updateEntry($memberID);
+ $memberData = $this->updateEntry( $memberID );
// If update was successful then use editEntry() to setup for the edit again.
- if ($memberData['status']) {
-
- $slug = $this->updateSlug($memberID);
+ if ( $memberData['status'] ) {
- $memberData = $this->editEntry($memberID);
+ $slug = $this->updateSlug( $memberID );
+ $memberData = $this->editEntry( $memberID );
$memberUpdated = true;
// Also update all member info records with any possible name change
$sql = "
- UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET member_name = '".addslashes($memberData['fieldData']['name'])."'
+ UPDATE " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
+ SET member_name = '".addslashes( $memberData['fieldData']['name'] )."'
WHERE member = $memberID
;";
- $this->wpdb->query($sql);
+ $this->wpdb->query( $sql );
}
* Get existing base member data
*
*/
- } elseif ($memberID > 0) {
+ } elseif ( $memberID > 0 ) {
// Try to get existing member data
- $memberData = $this->editEntry($memberID);
- if ($memberData) {
+ $memberData = $this->editEntry( $memberID );
+ if ( $memberData ) {
$haveMember = true;
}
*
*/
// Check if there's a request to delete a specific member information record
- if (isset($_REQUEST['deleteID']) && $_REQUEST['deleteID'] != '') {
+ if ( isset( $_REQUEST['deleteID'] ) && $_REQUEST['deleteID'] != '' ) {
// Make sure ID is a number
- $delID = $_REQUEST['deleteID']-0;
+ $delID = $_REQUEST['deleteID'] - 0;
// Make sure it's positive integer
- if ($delID > 0 && is_int($delID)) {
+ if ( $delID > 0 && is_int( $delID ) ) {
// Delete the selected record
$sql = "
- UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET status = ".$this->config['status_numb']['Archived']."
+ UPDATE " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
+ SET status = " . $this->config['status_numb']['Archived'] . "
WHERE id = $delID
;";
- $this->wpdb->query($sql);
+ $this->wpdb->query( $sql );
}
+
+ if ( $memberID > 0 ) {
+ // Try to get existing member data
+ $memberData = $this->editEntry( $memberID );
+ if ( $memberData ) {
+ $haveMember = true;
+ }
+ }
}
// Check if there's a request to activate a specific member information record
- if (isset($_REQUEST['activateID']) && $_REQUEST['activateID'] != '') {
+ if ( isset( $_REQUEST['activateID'] ) && $_REQUEST['activateID'] != '' ) {
- $activateID = $_REQUEST['activateID']-0;
+ $activateID = $_REQUEST['activateID'] - 0;
// If the ID is sane, try to activate this recored
- if ($activateID > 0) {
+ if ( $activateID > 0 ) {
// Make sure we have a good ID
$sql = "
FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
WHERE id = $activateID
;";
- $idTest = $this->wpdb->get_row($sql, ARRAY_A);
+ $idTest = $this->wpdb->get_row( $sql, ARRAY_A );
// If we do, then activate it
- if($idTest != null) {
+ if ( $idTest != null ) {
if ( !$this->config['settings']['enable_multiple_profiles'] ) {
$sql = "
UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET status = ".$this->config['status_numb']['Inactive']."
+ SET status = " . $this->config['status_numb']['Inactive'] . "
WHERE member = $memberID
- AND status = ".$this->config['status_numb']['Active']."
+ AND status = " . $this->config['status_numb']['Active'] . "
;";
- $this->wpdb->query($sql);
+ $this->wpdb->query( $sql );
}
$sql = "
UPDATE ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- SET status = ".$this->config['status_numb']['Active']."
+ SET status = " . $this->config['status_numb']['Active'] . "
WHERE id = $activateID";
- $this->wpdb->query($sql);
+ $this->wpdb->query( $sql );
glmClearShortcodeCache();
// Ask to re-index this member.
- $url = GLM_MEMBERS_SITE_BASE_URL.$this->config['settings']['canonical_member_page'].'/'.$memberData['fieldData']['member_slug'].'/';
+ $url = GLM_MEMBERS_SITE_BASE_URL . $this->config['settings']['canonical_member_page'] . '/' . $memberData['fieldData']['member_slug'] . '/';
$result = apply_filters( 'glm_member_db_common_search_indexurl', $url );
if ( !$lockedToMember ) {
}
// If we have a member then also get a list of member info records
- $haveInfoRecords = false;
+ $haveInfoRecords = false;
$memberInfoRecords = false;
- $noActive = false;
- $showArchived = false;
- if ($haveMember) {
+ $noActive = false;
+ $showArchived = false;
+ if ( $haveMember ) {
// Get member name for title
$memberName = $memberData['fieldData']['name'];
// Hide archived unless instructed otherwise
$hideArchived = '';
- if (!isset($_REQUEST['showArchived']) || $_REQUEST['showArchived'] != 'true') {
- $hideArchived = " && T.status != ".$this->config['status_numb']['Archived'];
+ if ( !isset( $_REQUEST['showArchived'] ) || $_REQUEST['showArchived'] != 'true' ) {
+ $hideArchived = " && T.status != " . $this->config['status_numb']['Archived'];
} else {
$showArchived = true;
}
- require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberInfo.php';
- $MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config);
- $memberInfoRecords = $MemberInfo->getList("T.member = $memberID".$hideArchived, 'T.status');
+ require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php';
+ $MemberInfo = new GlmDataMemberInfo( $this->wpdb, $this->config );
+ $memberInfoRecords = $MemberInfo->getList( "T.member = $memberID".$hideArchived, 'T.status');
// Check if there's any member information records
- if (is_array($memberInfoRecords) && count($memberInfoRecords) > 0) {
+ if ( is_array( $memberInfoRecords ) && count( $memberInfoRecords ) > 0 ) {
$haveInfoRecords = true;
}
// Determine if there are any active info records for this member
$sql = "
SELECT count(id) as numbActive
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info
- WHERE status = ".$this->config['status_numb']['Active']."
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
+ WHERE status = " . $this->config['status_numb']['Active'] . "
;";
- $activeTest = $this->wpdb->get_row($sql, ARRAY_A);
+ $activeTest = $this->wpdb->get_row( $sql, ARRAY_A );
// If count is 0 then there are no active info records
- if ($activeTest['numbActive'] == 0) {
+ if ( $activeTest['numbActive'] == 0 ) {
$noActive = true;
}
// Also save the mmeber ID as a cookie
- setcookie("glmMembersDatabaseMemberID", $memberID, time()+86400);
+ setcookie( "glmMembersDatabaseMemberID", $memberID, time() + 86400 );
/*
* Get member view stats
*/
// Get the current date, first date of this week, and first date of this month
- $today = date('Y-m-d');
- $thisWeek = date('Y-m-d', strtotime('-'.date('w').' days'));
- $thisMonth = date('Y-m-d', strtotime('-'.(date('j')-1).' days'));
+ $today = date( 'Y-m-d' );
+ $thisWeek = date( 'Y-m-d', strtotime( '-'.date( 'w' ).' days' ) );
+ $thisMonth = date( 'Y-m-d', strtotime( '-'.( date( 'j' ) - 1 ).' days' ) );
- $clickThroughCounts = $this->wpdb->get_row("
+ $clickThroughCounts = $this->wpdb->get_row( "
SELECT COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."clickthrough_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "clickthrough_stats
WHERE member = $memberID
AND stat_type = 1
AND stat_date = '$today'
), 0) AS day,
COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."clickthrough_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "clickthrough_stats
WHERE member = $memberID
AND stat_type = 2
AND stat_date = '$thisWeek'
), 0) AS week,
COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."clickthrough_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "clickthrough_stats
WHERE member = $memberID
AND stat_type = 3
AND stat_date = '$thisMonth'
), 0) AS month
- ", ARRAY_A);
+ ", ARRAY_A );
- $detailViewCounts = $this->wpdb->get_row("
+ $detailViewCounts = $this->wpdb->get_row( "
SELECT COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_detail_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_detail_stats
WHERE member = $memberID
AND stat_type = 1
AND stat_date = '$today'
), 0) AS day,
COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_detail_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_detail_stats
WHERE member = $memberID
AND stat_type = 2
AND stat_date = '$thisWeek'
), 0) AS week,
COALESCE ((
SELECT clicks
- FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_detail_stats
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_detail_stats
WHERE member = $memberID
AND stat_type = 3
AND stat_date = '$thisMonth'
), 0) AS month
- ", ARRAY_A);
+ ", ARRAY_A );
}
// Build data for month and year picklists for graph date selection
$years = array();
- for ($y=date('Y', strtotime('-10 years')) ; $y<=date('Y') ; $y++ ) {
+ for ( $y = date( 'Y', strtotime( '-10 years' ) ) ; $y <= date( 'Y' ); $y++ ) {
$years[$y] = $y;
}
// End of - Get member view stats
- $thisDate = date('m/d/Y');
+ $thisDate = date( 'm/d/Y' );
// Compile template data
$templateData = array(
'clickThroughCounts' => $clickThroughCounts,
'detailViewCounts' => $detailViewCounts,
'thisDate' => $thisDate,
- 'thisMonth' => date('m')-1, // Using this as an index into the month array - starts with 0
- 'thisYear' => date('Y'),
+ 'thisMonth' => date( 'm' ) - 1, // Using this as an index into the month array - starts with 0
+ 'thisYear' => date( 'Y' ),
'years' => $years,
'months' => $this->config['month'],
- 'time' => time() // Used to break browser caching of graphs
+ 'time' => time(), // Used to break browser caching of graphs
);
// Return status, suggested view, and data to controller
return array(
- 'status' => $success,
+ 'status' => $success,
'menuItemRedirect' => false,
- 'modelRedirect' => false,
- 'view' => 'admin/member/index.html',
- 'data' => $templateData
+ 'modelRedirect' => false,
+ 'view' => 'admin/member/index.html',
+ 'data' => $templateData,
);
}
}
-
-?>
{include file='admin/member/header.html'}
{if $haveMember || $addingMember}
- {if $haveMemberTypes}
+ {if $haveMemberTypes}
- {if $memberUpdated}
- <h2 class="glm-notice glm-flash-updated">{$terms.term_member_cap} Updated</h2>
- {/if}
-
-<div id="glm-admin-member-dashboard" class="glm-admin-table">
- {if $haveMember}
-
- {if $lockedToMember}
- {if apply_filters( 'glm-members-billing-enabled', false )}
- <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-billing-index">Billing</a><br>
- </div>
- </div>
+ {if $memberUpdated}
+ <h2 class="glm-notice glm-flash-updated">{$terms.term_member_cap} Updated</h2>
{/if}
- <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-profile">My Contact Info</a>
- </div>
- </div>
- {if apply_filters( 'glm-members-forsale-enabled', false )}
- <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-for-sale-index">For Sale</a>
- </div>
- </div>
- {/if}
+ <div id="glm-admin-member-dashboard" class="glm-admin-table">
- {if apply_filters( 'glm-members-jobs-enabled', false )}
- <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-jobs-index">Job Postings</a>
- </div>
- </div>
- {/if}
- {/if}
+ {if $haveMember}
- <div class="glm-row">
- <div class="glm-small-4 glm-left">
- <div class="glm-admin-table">
- <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <h4>Date created:</h4>
+ {if $lockedToMember}
+ {if apply_filters( 'glm-members-billing-enabled', false )}
+ <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-billing-index">Billing</a><br>
+ </div>
</div>
+ {/if}
+ <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
<div class="glm-small-12 glm-column">
- {$member.fieldData.created.date}
+ <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-profile">My Contact Info</a>
</div>
</div>
- <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <h4>URL CLick Counts</h4>
- </div>
- <div class="glm-small-12 glm-column">
- <b>Today:</b> {$clickThroughCounts.day} <a data-type="daysClicks" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
+
+ {if apply_filters( 'glm-members-forsale-enabled', false )}
+ <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-for-sale-index">For Sale</a>
+ </div>
</div>
- </div>
- </div>
- </div>
- <div class="glm-small-4 glm-left">
- <div class="glm-admin-table">
- <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <h4>{$terms.term_member_cap} Display & Access:</h4>
+ {/if}
+
+ {if apply_filters( 'glm-members-jobs-enabled', false )}
+ <div class="glm-row{if !$lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <a class="button" href="{$thisUrl}?page=glm-members-admin-menu-jobs-index">Job Postings</a>
+ </div>
</div>
- <div class="glm-small-12 glm-column">
- {$member.fieldData.access.name}
+ {/if}
+ {/if}
+
+ <div class="glm-row">
+ <div class="glm-small-4 glm-left">
+ <div class="glm-admin-table">
+ <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <h4>Date created:</h4>
+ </div>
+ <div class="glm-small-12 glm-column">
+ {$member.fieldData.created.date}
+ </div>
+ </div>
+ <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <h4>URL CLick Counts</h4>
+ </div>
+ <div class="glm-small-12 glm-column">
+ <b>Today:</b> {$clickThroughCounts.day} <a data-type="daysClicks" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
+ </div>
+ </div>
</div>
</div>
- <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <h4>{$terms.term_member_cap} Type:</h4>
- </div>
- <div class="glm-small-12 glm-column">
- {$member.fieldData.member_type.name}
+ <div class="glm-small-4 glm-left">
+ <div class="glm-admin-table">
+ <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <h4>{$terms.term_member_cap} Display & Access:</h4>
+ </div>
+ <div class="glm-small-12 glm-column">
+ {$member.fieldData.access.name}
+ </div>
+ </div>
+ <div class="glm-row{if $lockedToMember} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <h4>{$terms.term_member_cap} Type:</h4>
+ </div>
+ <div class="glm-small-12 glm-column">
+ {$member.fieldData.member_type.name}
+ </div>
+ </div>
+ <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
+ <div class="glm-small-12 glm-column">
+ <h4>Detail Page View Counts</h4>
+ </div>
+ <div class="glm-small-12 glm-column">
+ <b>Today:</b> {$detailViewCounts.day} <a data-type="daysViews" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
+ </div>
+ </div>
</div>
</div>
- <div class="glm-row{if $lockedToMember && !$settings.enable_member_reports} glm-hidden{/if}">
- <div class="glm-small-12 glm-column">
- <h4>Detail Page View Counts</h4>
+ {if apply_filters('glm_members_menu_members', true)}
+ <div class="glm-small-4 glm-right">
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=memberEdit&member={$memberID}" class="button button-primary glm-button glm-right">Edit {$terms.term_member_cap} Name and Status</a>
</div>
- <div class="glm-small-12 glm-column">
- <b>Today:</b> {$detailViewCounts.day} <a data-type="daysViews" class="dialog-button" href=""><img src="{$assetsUrl}/graph.png"></a>
- </div>
- </div>
+ {/if}
+ </div>
+ {else}
+ <h3>No {$terms.term_member} information available.</h3>
+ {/if}
+
+ {apply_filters('glm_members_admin_member_index_topOfMemberSummary', '', {$member.fieldData.id})}
+
+ <script src="{$jsUrl}/PrintArea/jquery.PrintArea.js"></script>
+
+ {* URL click through graphs *}
+ <div id="daysClicks" class="graph-dialog glm-dialog-box" title="URL Click-Through Counts Graph">
+ <center>
+ <p> </p>
+ <select id="clickMonths">
+ {foreach from=$months key=monthNumb item=monthName}
+ <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
+ {/foreach}
+ </select>
+ <select id="clickYears">
+ {foreach $years as $year}
+ <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
+ {/foreach}
+ </select>
+ <div id="clickUpdate" class="button button-secondaryt">Update Graphs</div>
+ <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily URL Click-Through counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
+ <div class="button button-secondary graph-print" data-areaToPrint="urlClicksPrintArea">Print</div>
+ <a id="clickExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportClicks&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
+ </center>
+ <div id="urlClicksPrintArea" class="PrintArea" style="padding: 10px;">
+ <p><img id="clicksMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+ <p><img id="clicksYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
</div>
</div>
- {if apply_filters('glm_members_menu_members', true)}
- <div class="glm-small-4 glm-right">
- <a href="{$thisUrl}?page={$thisPage}&glm_action=memberEdit&member={$memberID}" class="button button-primary glm-button glm-right">Edit {$terms.term_member_cap} Name and Status</a>
+
+ {* Member Detail Views *}
+ <div id="daysViews" class="graph-dialog glm-dialog-box" title="Daily Detail Page Views Graph">
+ <center>
+ <p> </p>
+ <select id="viewMonths">
+ {foreach from=$months key=monthNumb item=monthName}
+ <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
+ {/foreach}
+ </select>
+ <select id="viewYears">
+ {foreach $years as $year}
+ <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
+ {/foreach}
+ </select>
+ <div id="viewUpdate" class="button button-secondaryt">Update Graphs</div>
+ <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily Detail Page View counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
+ <div class="button button-secondary graph-print" data-areaToPrint="viewsPrintArea">Print</div>
+ <a id="viewExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportViews&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
+ </center>
+ <div id="viewsPrintArea" class="PrintArea" style="padding: 10px;">
+ <p><img id="viewsMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+ <p><img id="viewsYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
+ </div>
</div>
- {/if}
- </div>
- {else}
- <h3>No {$terms.term_member} information available.</h3>
- {/if}
-
- {apply_filters('glm_members_admin_member_index_topOfMemberSummary', '', {$member.fieldData.id})}
-
- <script src="{$jsUrl}/PrintArea/jquery.PrintArea.js" type="text/JavaScript" language="javascript"></script>
-
- <!-- URL click through graphs -->
- <div id="daysClicks" class="graph-dialog glm-dialog-box" title="URL Click-Through Counts Graph">
- <center>
- <p> </p>
- <select id="clickMonths">
- {foreach from=$months key=monthNumb item=monthName}
- <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
- {/foreach}
- </select>
- <select id="clickYears">
- {foreach $years as $year}
- <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
- {/foreach}
- </select>
- <div id="clickUpdate" class="button button-secondaryt">Update Graphs</div>
- <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily URL Click-Through counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
- <div class="button button-secondary graph-print" data-areaToPrint="urlClicksPrintArea">Print</div>
- <a id="clickExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportClicks&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
- </center>
- <div id="urlClicksPrintArea" class="PrintArea" style="padding: 10px;">
- <p><img id="clicksMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
- <p><img id="clicksYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
- </div>
- </div>
- <!-- Member Detail Views -->
- <div id="daysViews" class="graph-dialog glm-dialog-box" title="Daily Detail Page Views Graph">
- <center>
- <p> </p>
- <select id="viewMonths">
- {foreach from=$months key=monthNumb item=monthName}
- <option value="{$monthNumb}"{if $monthNumb == $thisMonth} selected{/if}>{$monthName}</option>
- {/foreach}
- </select>
- <select id="viewYears">
- {foreach $years as $year}
- <option value="{$year}"{if $thisYear == $year} selected{/if}>{$year}</option>
- {/foreach}
- </select>
- <div id="viewUpdate" class="button button-secondaryt">Update Graphs</div>
- <span class="message button notice-link" data-notice='Legacy Websites may not have included retained daily data.-br--br-If this was the case, you will only see daily Detail Page View counts collected subsequent to the introduction of this site.-br--br-Any monthly count summaries imported from a legacy site should however display on the lower graph.'>?</span>
- <div class="button button-secondary graph-print" data-areaToPrint="viewsPrintArea">Print</div>
- <a id="viewExport" class="button button-secondary" href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=exportViews&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}">Export All Monthly Totals</a>
- </center>
- <div id="viewsPrintArea" class="PrintArea" style="padding: 10px;">
- <p><img id="viewsMonthGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
- <p><img id="viewsYearGraph" src="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}"><br></p>
- </div>
- </div>
+ {apply_filters('glm_members_admin_member_index_bottomOfMemberSummary', '', {$member.fieldData.id})}
- {apply_filters('glm_members_admin_member_index_bottomOfMemberSummary', '', {$member.fieldData.id})}
+ {if $haveMember}
- {if $haveMember}
+ {if !$lockedToMember}
+ {if apply_filters('glm_members_permit_admin_member_index_view_member_info_version', true)}
+ {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)}{/if}
-{if !$lockedToMember}
- {if apply_filters('glm_members_permit_admin_member_index_view_member_info_version', true)}
- {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)}
- {/if}
- <div class="glm-row">
- <div>
- <h3 class="glm-left">{$terms.term_member_cap} Profile Versions</h3>
- <span class="glm-right">
- <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}" class="button button-primary glm-button glm-right">Add New {$terms.term_member_cap} Profile Version</a>
- </span>
-
- <div class="glm-admin-show-archived-container">
- <input type="checkbox" id="showArchived"{if $showArchived} checked="checked"{/if}> Show archived information
- </div>
- </div>
- <br clear="all">
- <table class="wp-list-table striped glm-admin-table">
- <thead>
- <tr>
- <th>Status</th>
- <th>Reference Name</th>
- <th>Created</th>
- <th>Last Update</th>
- <th> </th>
- </tr>
- </thead>
- <tbody>
-
- {if $haveInfoRecords}
- {assign var="i" value="0"}
- {foreach $memberInfoRecords as $m}
-
- {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)}
- {if $i++ is odd by 1}
- <tr>
- {else}
- <tr class="alternate{if $m.status.name == 'Active'} glm-admin-table-active{/if}">
- {/if}
- <td>
- <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}"{if $m.status.value == $statusPending} class="glm-notice"{/if}>
- Edit {if $m.status.name == 'Active'}Current{else}{$m.status.name}{/if} Profile
- </a>
- </td>
- <td>{$m.reference_name}</td>
- <td>{$m.create_time.datetime}</td>
- <td>{$m.modify_time.datetime}</td>
- <td>
- {if $settings.memb_info_location} {if $m.bad_lat_lon && !$m.has_no_map_data.value}<span class="glm-error">Bad Map Location</span>{/if} {/if}
- {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)}
- <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}&option=clone" class="button button-secondary glm-button-small glm-right">Clone</a>
- {if $m.status.name != 'Active'}<a href="{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&activateID={$m.id}" class="button button-secondary glm-button-small glm-right">Activate</a>{/if}
- {/if}
- </td>
- </tr>
-
-
- {/if}
- {/foreach}
- {else} <!-- haveInfoRecords -->
- <tr><td colspan="5"><a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}">Click here to start entering information for this {$terms.term_member}.</a></td></tr>
- {/if}
- </tbody>
- </table>
- {/if} <!-- apply_filters -->
- {/if}
-{/if}
- </div>
- <br>
+ <div class="glm-row">
+ <div>
+ <h3 class="glm-left">{$terms.term_member_cap} Profile Versions</h3>
+ <span class="glm-right">
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}" class="button button-primary glm-button glm-right">Add New {$terms.term_member_cap} Profile Version</a>
+ </span>
+
+ <div class="glm-admin-show-archived-container">
+ <input type="checkbox" id="showArchived"{if $showArchived} checked="checked"{/if}> Show archived information
+ </div>
+ </div>
+ <br clear="all">
+ <table class="wp-list-table striped glm-admin-table">
+ <thead>
+ <tr>
+ <th>Status</th>
+ <th>Reference Name</th>
+ <th>Created</th>
+ <th>Last Update</th>
+ <th> </th>
+ </tr>
+ </thead>
+ <tbody>
+ {if $haveInfoRecords}
+ {assign var="i" value="0"}
+ {foreach $memberInfoRecords as $m}
+
+ {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)}
+ <tr class="{if $m@iteration is div by 2}alternate{/if}{if $m.status.name == 'Active'} glm-admin-table-active{/if}">
+ <td>
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}"{if $m.status.value == $statusPending} class="glm-notice"{/if}>
+ Edit {if $m.status.name == 'Active'}Current{else}{$m.status.name}{/if} Profile
+ </a>
+ </td>
+ <td>{$m.reference_name}</td>
+ <td>{$m.create_time.datetime}</td>
+ <td>{$m.modify_time.datetime}</td>
+ <td>
+ {if $settings.memb_info_location} {if $m.bad_lat_lon && !$m.has_no_map_data.value}<span class="glm-error">Bad Map Location</span>{/if} {/if}
+ {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)}
+ <a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}&memberInfo={$m.id}&option=clone" class="button button-secondary glm-button-small glm-right">Clone</a>
+ {if $m.status.name != 'Active'}<a href="{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&activateID={$m.id}" class="button button-secondary glm-button-small glm-right">Activate</a>{/if}
+ {/if}
+ </td>
+ </tr>
+ {/if}
+ {/foreach}
+ {else} {* haveInfoRecords *}
+ <tr><td colspan="5"><a href="{$thisUrl}?page={$thisPage}&glm_action=memberInfo&member={$memberID}">Click here to start entering information for this {$terms.term_member}.</a></td></tr>
+ {/if}
+ </tbody>
+ </table>
+ </div>
+ {/if} {* apply_filters *}
+ {/if} {* lockedToMember *}
+ {/if} {* haveMember *}
+ <br>
- {else}
+ {else} {* haveMemberTypes *}
<h3 class="glm-error">You do not have any {$terms.term_member_cap} Types setup.</h3>
<p>You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.</p>
<td><a href="{$thisUrl}?page=glm-members-admin-menu-settings&glm_action=index">Click here to add {$terms.term_member_cap} Types.</a></td>
- {/if}
- {else}
- <h3 class="glm-error">No {$terms.term_member} currently selected.</h3>
{/if}
- {if $lockedToMember}
- <div id="glm-dashboard-widgets-wrap">
- {apply_filters('glm-member-db-dashboard-member-widgets', $member)}
- </div>
- {/if}
+ </div>
-</div>
- <script type="text/javascript">
- jQuery(document).ready(function($) {
+{else} {* $haveMember && $haveInfoRecords *}
+ <h3 class="glm-error">No {$terms.term_member} currently selected.</h3>
+{/if}
- $('#clickUpdate').on('click', function() {
- var m = $('#clickMonths option:selected').val();
- var y = $('#clickYears option:selected').val();
- $('#clicksMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
- $('#clicksYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
- });
+{if $lockedToMember}
+ <div id="glm-dashboard-widgets-wrap">
+ {apply_filters('glm-member-db-dashboard-member-widgets', $member)}
+ </div>
+{/if}
- $('#viewUpdate').on('click', function() {
- var m = $('#viewMonths option:selected').val();
- var y = $('#viewYears option:selected').val();
- $('#viewsMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
- $('#viewsYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
- });
- // Create graph dialog boxes
- $(".graph-dialog").dialog({
- autoOpen: false,
- minWidth: 1020
- });
+<script>
+ jQuery(document).ready(function($) {
- $("div.graph-print").click(function(){
- var areaToPrint = $(this).attr('data-areaToPrint');
- var position = $(this).offset();
- $('#' + areaToPrint).printArea({
- mode: 'popup', //printable window is either iframe or browser popup
- popHt: 500, // popup window height
- popWd: 1000, // popup window width
- popX: 200, // popup window screen X position
- popY: 200, //popup window screen Y position
- popTitle: 'Graph Print Window', // popup window title element
- popClose: true, // popup window close after printing
- extraCss: '', // Comma separated list of extra css to include
- extraHead: '', // Comma separated list of extra elements to be appended to head tag
- strict: false // strict or looseTransitional html 4.01 document standard or undefined to not include at all only for popup option
- });
- });
-
- // Display selected graph dialog box
- $('.dialog-button').click( function() {
- $(".graph-dialog").dialog("close");
- var graph = $(this).attr('data-type');
- $('#' + graph).dialog("open");
- return false;
- });
+ $('#clickUpdate').on('click', function() {
+ var m = $('#clickMonths option:selected').val();
+ var y = $('#clickYears option:selected').val();
+ $('#clicksMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+ $('#clicksYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=clicks&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+ });
- $('#showArchived').click( function() {
- checked = 'false';
- if ($(this).attr('checked') == 'checked') {
- checked = 'true';
- }
- window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&showArchived=" + checked);
- });
+ $('#viewUpdate').on('click', function() {
+ var m = $('#viewMonths option:selected').val();
+ var y = $('#viewYears option:selected').val();
+ $('#viewsMonthGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=oneMonth&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+ $('#viewsYearGraph').attr('src', '{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberGraphs&graphType=views&graphPeriod=twoYears&memberId={$member.fieldData.id}&memberSlug={$member.fieldData.member_slug}&kb={$time}&refMonth=' + m + '&refYear=' + y);
+ });
+
+ // Create graph dialog boxes
+ $(".graph-dialog").dialog({
+ autoOpen: false,
+ minWidth: 1020
+ });
- $('.message').on('click', function() {
- var notice = $(this).attr('data-notice');
- alert(notice.replace(/-br-/g, "\n"));
+ $("div.graph-print").click(function(){
+ var areaToPrint = $(this).attr('data-areaToPrint');
+ var position = $(this).offset();
+ $('#' + areaToPrint).printArea({
+ mode: 'popup', // printable window is either iframe or browser popup
+ popHt: 500, // popup window height
+ popWd: 1000, // popup window width
+ popX: 200, // popup window screen X position
+ popY: 200, // popup window screen Y position
+ popTitle: 'Graph Print Window', // popup window title element
+ popClose: true, // popup window close after printing
+ extraCss: '', // Comma separated list of extra css to include
+ extraHead: '', // Comma separated list of extra elements to be appended to head tag
+ strict: false // strict or looseTransitional html 4.01 document standard or undefined to not include at all only for popup option
});
+ });
+
+ // Display selected graph dialog box
+ $('.dialog-button').click( function() {
+ $(".graph-dialog").dialog("close");
+ var graph = $(this).attr('data-type');
+ $('#' + graph).dialog("open");
+ return false;
+ });
- // Flash certain elements for a short time after display
- $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+ $('#showArchived').click( function() {
+ checked = 'false';
+ if ($(this).attr('checked') == 'checked') {
+ checked = 'true';
+ }
+ window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&showArchived=" + checked);
+ });
+ $('.message').on('click', function() {
+ var notice = $(this).attr('data-notice');
+ alert(notice.replace(/-br-/g, "\n"));
});
- </script>
+
+ // Flash certain elements for a short time after display
+ $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+ });
+</script>
{include file='admin/footer.html'}