}
switch( $option ) {
+ case 'updateEmail':
+ $view = 'memberTypes';
+ $response = $this->updateCustomFieldEmails();
+ break;
+ case 'archive':
+ $view = 'memberTypes';
+ $response = $this->archive();
+ break;
case 'updateUsernames':
$view = 'memberTypes';
$response = $this->updateUsernames();
}
+ public function updateCustomFieldEmails()
+ {
+
+ $sql = "
+ SELECT member_id,member_contact_email
+ FROM member
+ WHERE member_id IN (SELECT member_id
+ FROM member_category
+ WHERE category_id IN (40,42))";
+ $stmt = $this->dbh->query( $sql );
+ $members = $stmt->fetchAll();
+
+ $count = count( $members );
+
+ $this->wpdb->query('START TRANSACTION');
+ foreach ( $members as $m ) {
+ // First get the ref_dest for this member.
+ $ref_dest = $this->wpdb->get_var(
+ $this->wpdb->prepare(
+ "SELECT id
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
+ WHERE old_member_id = %d",
+ $m['member_id']
+ )
+ );
+ if ( $ref_dest ) {
+ $contact_id = $this->wpdb->get_var(
+ $this->wpdb->prepare(
+ "SELECT id
+ FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts
+ WHERE ref_dest = %d",
+ $ref_dest
+ )
+ );
+ echo '<pre>$contact_id: ' . print_r( $contact_id, true ) . '</pre>';
+ // see if there's an email set
+ $cf_email_id = $this->wpdb->get_var(
+ $this->wpdb->prepare(
+ "SELECT id
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+ WHERE field_id = %d
+ AND entity_id = %d",
+ 14,
+ $contact_id
+ )
+ );
+ echo '<pre>$cf_email_id: ' . print_r( $cf_email_id, true ) . '</pre>';
+ if ( $cf_email_id ) {
+ $this->wpdb->update(
+ GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data',
+ array( 'field_data' => $m['member_contact_email'] ),
+ array( 'id' => $cf_email_id )
+ );
+ } else {
+ $this->wpdb->insert(
+ GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data',
+ array(
+ 'field_data' => $m['member_contact_email'],
+ 'field_id' => 14,
+ 'entity_id' => $contact_id
+ )
+ );
+ }
+ }
+
+ }
+ // $this->wpdb->query('ROLLBACK');
+ $this->wpdb->query('COMMIT');
+
+ return '<pre>$count: ' . print_r( $count, true ) . '</pre>';
+ }
+
+ public function archive()
+ {
+ $sql = "
+ SELECT member_id,member_name,process_email
+ FROM member
+ WHERE member_id NOT IN (SELECT member_id
+ FROM member_category
+ WHERE category_id IN (40,42))";
+ $stmt = $this->dbh->query( $sql );
+ $members = $stmt->fetchAll();
+
+ $count = count( $members );
+
+ $this->wpdb->query('START TRANSACTION');
+ foreach ( $members as $m ) {
+ // First get the ref_dest for this member.
+ $ref_dest = $this->wpdb->get_var(
+ $this->wpdb->prepare(
+ "SELECT id
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
+ WHERE old_member_id = %d",
+ $m['member_id']
+ )
+ );
+ if ( $ref_dest ) {
+ // update the member access level.
+ $this->wpdb->update(
+ GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members',
+ array( 'access' => 90 ),
+ array( 'id' => $ref_dest )
+ );
+ echo '<pre>$ref_dest: ' . print_r( $ref_dest, true ) . '</pre>';
+ // Now update the member contact access level for this member.
+ $this->wpdb->update(
+ GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . 'contacts',
+ array( 'access' => 90 ),
+ array( 'ref_dest' => $ref_dest )
+ );
+ }
+
+ }
+ // $this->wpdb->query('ROLLBACK');
+ $this->wpdb->query('COMMIT');
+
+ return '<pre>$count: ' . print_r( $count, true ) . '</pre>';
+ }
+
public function updateUsernames()
{
// $contact_ids = array( 725, 1123, 904, 1308, 974, 1099, 534, 1019, 1077, 907, 773, 851, 1113, 1011, 17, 1213, 724, 225, 719, 687, 709, 882, 989, 648, 768, 1210, 1176, 659, 1080, 402, 817, 1300, 934);