From: Steve Sutton Date: Fri, 20 Oct 2017 20:23:39 +0000 (-0400) Subject: Starting refractor of adding registrant to cart X-Git-Tag: v1.0.0^2~324^2~2 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=343aab4e8d11e5760a27ad5a7ea51f725dceebf5;p=WP-Plugins%2Fglm-member-db-registrations.git Starting refractor of adding registrant to cart Refractoring registrant and and update in the cart. Will be moving this into the support class. --- diff --git a/models/admin/ajax/regFront/registrant.php b/models/admin/ajax/regFront/registrant.php index 0bb02fc..0aaf3be 100644 --- a/models/admin/ajax/regFront/registrant.php +++ b/models/admin/ajax/regFront/registrant.php @@ -100,285 +100,9 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations case 'add': - // Check for or create reg_request_event - if ( $modelData['reg_event'] ) { - //return false; - } - $regRequestEventId = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_event - WHERE reg_event = %d - AND reg_request = %d", - $modelData['reg_event'], - $modelData['reg_request'] - ) - ); - $data = array( - 'reg_request' => $modelData['reg_request'], - 'reg_event' => $modelData['reg_event'], - 'event_name' => $modelData['event_name'], - 'event_datetime' => $modelData['event_datetime'], - ); - $dataFormat = array( - '%d', // reg_request - '%d', // reg_event - '%s', // event_name - '%s', // event_datetime - ); - if ( !$regRequestEventId ) { - $this->wpdb->insert( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_event', - $data, - $dataFormat - ); - $regRequestEventId = $this->wpdb->insert_id; - } else { - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_event', - $data, - array( 'id' => $regRequestEventId ), - $dataFormat, - array( '%d' ) - ); - } - - // Check for or create reg_request_class - $regRequestClassId = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_class - WHERE reg_request_event = %d - AND class = %d - AND reg_request = %d", - $regRequestEventId, - $modelData['reg_class'], - $modelData['reg_request'] - ) - ); - // At this point we need to get the class data - $regClass = $this->wpdb->get_row( - $this->wpdb->prepare( - "SELECT * - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_class - WHERE id = %d", - $modelData['reg_class'] - ), - ARRAY_A - ); - $data = array( - 'reg_event' => $modelData['reg_event'], - 'event_datetime' => $modelData['event_datetime'], - 'reg_request' => $modelData['reg_request'], - 'reg_request_event' => $regRequestEventId, - 'class' => $modelData['reg_class'], - 'class_name' => $regClass['name'], - ); - $dataFormat = array( - '%d', // reg_event - '%s', // event_datetime - '%d', // reg_request - '%d', // reg_request_event - '%d', // class - '%s', // class_name - ); - if ( !$regRequestClassId ) { - $this->wpdb->insert( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_class', - $data, - $dataFormat - ); - $regRequestClassId = $this->wpdb->insert_id; - } else { - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_class', - $data, - array( 'id' => $regRequestClassId ), - $dataFormat, - array( '%d' ) - ); - } - - // Check for or create reg_request_rate - $regRequestRate = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " .GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_rate - WHERE reg_event = %d - AND rate = %d - AND reg_request = %d", - $modelData['reg_event'], - $modelData['reg_rate'], - $modelData['reg_request'] - ) - ); - // At this point we need to get the rate data - $rate = $this->wpdb->get_row( - $this->wpdb->prepare( - "SELECT * - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_rate - WHERE id = %d", - $modelData['reg_rate'] - ), - ARRAY_A - ); - $data = array( - 'reg_event' => $modelData['reg_event'], - 'event_datetime' => $modelData['event_datetime'], - 'reg_request' => $modelData['reg_request'], - 'reg_request_event' => $regRequestEventId, - 'reg_request_class' => $regRequestClassId, - 'rate' => $modelData['reg_rate'], - 'rate_name' => $rate['name'], - 'base_rate' => $rate['base_rate'], - 'per_registrant' => $rate['per_registrant'], - 'registrant_credits' => $rate['registrant_credits'], - ) ; - $dataFormat = array( - '%d', // reg_event - '%s', // event_datetime - '%d', // reg_request - '%d', // reg_request_event - '%d', // reg_request_class - '%d', // rate - '%s', // rate_name - '%f', // base_rate - '%f', // per_registrant - '%d', // registrant_credits - ); - if ( !$regRequestRate ) { - // Now with the previous data we can create reg_request_rate - $this->wpdb->insert( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_rate', - $data, - $dataFormat - ); - $regRequestRate = $this->wpdb->insert_id; - } else { - // Now with the previous data we can create reg_request_rate - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_rate', - $data, - array( 'id' => $regRequestRate ), - $dataFormat, - array( '%d' ) - ); - } - - // If we have the email address then look up the account for it - if ( isset( $modelData['email'] ) && $email = filter_var( $modelData['email'], FILTER_VALIDATE_EMAIL ) ) { - $accountId = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account - WHERE email = %s", - $email - ) - ); - } - if ( !isset( $accountId ) ) { - // We need to create an account for this one - $this->wpdb->insert( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'account', - array( - 'fname' => $modelData['fname'], - 'lname' => $modelData['lname'], - 'email' => $modelData['email'], - 'date_created' => date('Y-m-d'), - ), - '%s' - ); - $accountId = $this->wpdb->insert_id; - // Here validated would be false. - // Because it is new account. - } - $validated = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT validated - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account - WHERE id = %d", - $accountId - ) - ); - - // Check for or create reg_request_registrant - $regRequestRegistrantId = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_registrant - WHERE reg_request = %d - AND account = %d - AND reg_request_event = %d - AND reg_request_class = %d", - $modelData['reg_request'], - $accountId, - $regRequestEventId, - $regRequestClassId - ) - ); + // Call to add registrant + $registrant = $this->addRegistrantToCart( $modelData ); - $regTime = $this->wpdb->get_row( - $this->wpdb->prepare( - "SELECT * - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time - WHERE id = %d", - $modelData['reg_time'] - ), - ARRAY_A - ); - $data = array( - 'account' => $accountId, - 'reg_event' => $modelData['reg_event'], - 'reg_time' => $modelData['reg_time'], - 'event_datetime' => $regTime['start_datetime'], - 'reg_request' => $modelData['reg_request'], - 'reg_request_event' => $regRequestEventId, - 'reg_request_class' => $regRequestClassId, - 'reg_request_rate' => $regRequestRate, - 'fname' => $modelData['fname'], - 'lname' => $modelData['lname'], - ); - $dataFormat = array( - '%d', // account - '%d', // reg_event - '%s', // reg_time - '%s', // event_datetime - '%d', // reg_request - '%d', // reg_request_event - '%d', // reg_request_class - '%d', // reg_request_rate - '%s', // fname - '%s', // lname - ); - if ( !$regRequestRegistrantId ) { - $this->wpdb->insert( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', - $data, - $dataFormat - ); - $regRequestRegistrantId = $this->wpdb->insert_id; - } else { - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', - $data, - array( 'id' => $regRequestRegistrantId ), - $dataFormat, - array( '%d' ) - ); - } - $registrant = $this->getEntry( $regRequestRegistrantId ); - $registrant['validated'] = $validated; - if ( $registrant['reg_time'] && filter_var( $registrant['reg_time'], FILTER_VALIDATE_INT ) ) { - $regTimeText = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT DATE_FORMAT( start_datetime, '%%m/%%d/%%Y %%l:%%i %%p' ) - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time - WHERE id = %d", - $registrant['reg_time'] - ) - ); - $registrant['reg_time_text'] = $regTimeText; - } echo json_encode( $registrant, JSON_NUMERIC_CHECK ); wp_die(); break; @@ -387,106 +111,111 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations break; case 'update': - if ( $accountId = filter_var( $modelData['account'], FILTER_VALIDATE_INT ) ) { - $validated = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT validated - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account - WHERE id = %d", - $accountId - ) - ); - // If not validated go ahead and update the account data - if ( !$validated ) { - $accountData = array( - 'fname' => $modelData['fname'], - 'lname' => $modelData['lname'], - 'addr1' => $modelData['addr1'], - 'addr2' => $modelData['addr2'], - 'city' => $modelData['city'], - 'state' => $modelData['state'], - 'zip' => $modelData['zip'], - 'country' => $modelData['country'], - ); - $accountDataFormat = array( - '%s', // fname - '%s', // lname - '%s', // addr1 - '%s', // addr2 - '%s', // city - '%s', // state - '%s', // zip - '%s', // country - ); - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'account', - $accountData, - array( 'id' => $accountId ), - $accountDataFormat, - array( '%d' ) - ); - } - - } - if ( $regRequestRegistrantId = filter_var( $modelData['id'], FILTER_VALIDATE_INT ) ) { - $regTime = $this->wpdb->get_row( - $this->wpdb->prepare( - "SELECT * - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time - WHERE id = %d", - $modelData['reg_time'] - ), - ARRAY_A - ); - // Check the account to see what's changed - // Check for a new reg_time - $data = array( - 'account' => $modelData['account'], - 'reg_event' => $modelData['reg_event'], - 'reg_time' => $modelData['reg_time'], - 'event_datetime' => $regTime['start_datetime'], - 'reg_request' => $modelData['reg_request'], - 'reg_request_event' => $modelData['reg_request_event'], - 'reg_request_class' => $modelData['reg_request_class'], - 'reg_request_rate' => $modelData['reg_request_rate'], - 'fname' => $modelData['fname'], - 'lname' => $modelData['lname'], - ); - $dataFormat = array( - '%d', // account - '%d', // reg_event - '%s', // reg_time - '%s', // event_datetime - '%d', // reg_request - '%d', // reg_request_event - '%d', // reg_request_class - '%d', // reg_request_rate - '%s', // fname - '%s', // lname - ); - $this->wpdb->update( - GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', - $data, - array( 'id' => $regRequestRegistrantId ), - $dataFormat, - array( '%d' ) - ); - $registrant = $this->getEntry( $regRequestRegistrantId ); - $registrant['validated'] = $validated; - if ( $registrant['reg_time'] && filter_var( $registrant['reg_time'], FILTER_VALIDATE_INT ) ) { - $regTimeText = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT DATE_FORMAT( start_datetime, '%%m/%%d/%%Y %%l:%%i %%p' ) - FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time - WHERE id = %d", - $registrant['reg_time'] - ) - ); - $registrant['reg_time_text'] = $regTimeText; - } - echo json_encode( $registrant, JSON_NUMERIC_CHECK ); - wp_die(); - } + + $registrant = $this->addRegistrantToCart( $modelData ); + + echo json_encode( $registrant, JSON_NUMERIC_CHECK ); + wp_die(); + // if ( $accountId = filter_var( $modelData['account'], FILTER_VALIDATE_INT ) ) { + // $validated = $this->wpdb->get_var( + // $this->wpdb->prepare( + // "SELECT validated + // FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account + // WHERE id = %d", + // $accountId + // ) + // ); + // // If not validated go ahead and update the account data + // if ( !$validated ) { + // $accountData = array( + // 'fname' => $modelData['fname'], + // 'lname' => $modelData['lname'], + // 'addr1' => $modelData['addr1'], + // 'addr2' => $modelData['addr2'], + // 'city' => $modelData['city'], + // 'state' => $modelData['state'], + // 'zip' => $modelData['zip'], + // 'country' => $modelData['country'], + // ); + // $accountDataFormat = array( + // '%s', // fname + // '%s', // lname + // '%s', // addr1 + // '%s', // addr2 + // '%s', // city + // '%s', // state + // '%s', // zip + // '%s', // country + // ); + // $this->wpdb->update( + // GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'account', + // $accountData, + // array( 'id' => $accountId ), + // $accountDataFormat, + // array( '%d' ) + // ); + // } + // + // } + // if ( $regRequestRegistrantId = filter_var( $modelData['id'], FILTER_VALIDATE_INT ) ) { + // $regTime = $this->wpdb->get_row( + // $this->wpdb->prepare( + // "SELECT * + // FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + // WHERE id = %d", + // $modelData['reg_time'] + // ), + // ARRAY_A + // ); + // // Check the account to see what's changed + // // Check for a new reg_time + // $data = array( + // 'account' => $modelData['account'], + // 'reg_event' => $modelData['reg_event'], + // 'reg_time' => $modelData['reg_time'], + // 'event_datetime' => $regTime['start_datetime'], + // 'reg_request' => $modelData['reg_request'], + // 'reg_request_event' => $modelData['reg_request_event'], + // 'reg_request_class' => $modelData['reg_request_class'], + // 'reg_request_rate' => $modelData['reg_request_rate'], + // 'fname' => $modelData['fname'], + // 'lname' => $modelData['lname'], + // ); + // $dataFormat = array( + // '%d', // account + // '%d', // reg_event + // '%s', // reg_time + // '%s', // event_datetime + // '%d', // reg_request + // '%d', // reg_request_event + // '%d', // reg_request_class + // '%d', // reg_request_rate + // '%s', // fname + // '%s', // lname + // ); + // $this->wpdb->update( + // GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', + // $data, + // array( 'id' => $regRequestRegistrantId ), + // $dataFormat, + // array( '%d' ) + // ); + // $registrant = $this->getEntry( $regRequestRegistrantId ); + // $registrant['validated'] = $validated; + // if ( $registrant['reg_time'] && filter_var( $registrant['reg_time'], FILTER_VALIDATE_INT ) ) { + // $regTimeText = $this->wpdb->get_var( + // $this->wpdb->prepare( + // "SELECT DATE_FORMAT( start_datetime, '%%m/%%d/%%Y %%l:%%i %%p' ) + // FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + // WHERE id = %d", + // $registrant['reg_time'] + // ) + // ); + // $registrant['reg_time_text'] = $regTimeText; + // } + // echo json_encode( $registrant, JSON_NUMERIC_CHECK ); + // wp_die(); + // } break; case 'delete': @@ -512,4 +241,288 @@ class GlmMembersAdmin_registrations_ajax_registrant extends GlmDataRegistrations } + public function addRegistrantToCart( $modelData ) + { + $validated = false; + + // Check for or create reg_request_event + $regRequestEventId = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_event + WHERE reg_event = %d + AND reg_request = %d", + $modelData['reg_event'], + $modelData['reg_request'] + ) + ); + $data = array( + 'reg_request' => $modelData['reg_request'], + 'reg_event' => $modelData['reg_event'], + 'event_name' => $modelData['event_name'], + 'event_datetime' => $modelData['event_datetime'], + ); + $dataFormat = array( + '%d', // reg_request + '%d', // reg_event + '%s', // event_name + '%s', // event_datetime + ); + if ( !$regRequestEventId ) { + $this->wpdb->insert( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_event', + $data, + $dataFormat + ); + $regRequestEventId = $this->wpdb->insert_id; + } else { + $this->wpdb->update( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_event', + $data, + array( 'id' => $regRequestEventId ), + $dataFormat, + array( '%d' ) + ); + } + + // Check for or create reg_request_class + $regRequestClassId = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_class + WHERE reg_request_event = %d + AND class = %d + AND reg_request = %d", + $regRequestEventId, + $modelData['reg_class'], + $modelData['reg_request'] + ) + ); + // At this point we need to get the class data + $regClass = $this->wpdb->get_row( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_class + WHERE id = %d", + $modelData['reg_class'] + ), + ARRAY_A + ); + $data = array( + 'reg_event' => $modelData['reg_event'], + 'event_datetime' => $modelData['event_datetime'], + 'reg_request' => $modelData['reg_request'], + 'reg_request_event' => $regRequestEventId, + 'class' => $modelData['reg_class'], + 'class_name' => $regClass['name'], + ); + $dataFormat = array( + '%d', // reg_event + '%s', // event_datetime + '%d', // reg_request + '%d', // reg_request_event + '%d', // class + '%s', // class_name + ); + if ( !$regRequestClassId ) { + $this->wpdb->insert( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_class', + $data, + $dataFormat + ); + $regRequestClassId = $this->wpdb->insert_id; + } else { + $this->wpdb->update( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_class', + $data, + array( 'id' => $regRequestClassId ), + $dataFormat, + array( '%d' ) + ); + } + + // Check for or create reg_request_rate + $regRequestRate = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " .GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_rate + WHERE reg_event = %d + AND rate = %d + AND reg_request = %d", + $modelData['reg_event'], + $modelData['reg_rate'], + $modelData['reg_request'] + ) + ); + // At this point we need to get the rate data + $rate = $this->wpdb->get_row( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_rate + WHERE id = %d", + $modelData['reg_rate'] + ), + ARRAY_A + ); + $data = array( + 'reg_event' => $modelData['reg_event'], + 'event_datetime' => $modelData['event_datetime'], + 'reg_request' => $modelData['reg_request'], + 'reg_request_event' => $regRequestEventId, + 'reg_request_class' => $regRequestClassId, + 'rate' => $modelData['reg_rate'], + 'rate_name' => $rate['name'], + 'base_rate' => $rate['base_rate'], + 'per_registrant' => $rate['per_registrant'], + 'registrant_credits' => $rate['registrant_credits'], + ) ; + $dataFormat = array( + '%d', // reg_event + '%s', // event_datetime + '%d', // reg_request + '%d', // reg_request_event + '%d', // reg_request_class + '%d', // rate + '%s', // rate_name + '%f', // base_rate + '%f', // per_registrant + '%d', // registrant_credits + ); + if ( !$regRequestRate ) { + // Now with the previous data we can create reg_request_rate + $this->wpdb->insert( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_rate', + $data, + $dataFormat + ); + $regRequestRate = $this->wpdb->insert_id; + } else { + // Now with the previous data we can create reg_request_rate + $this->wpdb->update( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_rate', + $data, + array( 'id' => $regRequestRate ), + $dataFormat, + array( '%d' ) + ); + } + + // If we have the email address then look up the account for it + if ( isset( $modelData['email'] ) && $email = filter_var( $modelData['email'], FILTER_VALIDATE_EMAIL ) ) { + $accountId = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account + WHERE email = %s", + $email + ) + ); + } + if ( !isset( $accountId ) ) { + // We need to create an account for this one + $this->wpdb->insert( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'account', + array( + 'fname' => $modelData['fname'], + 'lname' => $modelData['lname'], + 'email' => $modelData['email'], + 'date_created' => date('Y-m-d'), + ), + '%s' + ); + $accountId = $this->wpdb->insert_id; + // Here validated would be false. + // Because it is new account. + } + $validated = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT validated + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "account + WHERE id = %d", + $accountId + ) + ); + + // Check for or create reg_request_registrant + $regRequestRegistrantId = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_request_registrant + WHERE reg_request = %d + AND account = %d + AND reg_request_event = %d + AND reg_request_class = %d", + $modelData['reg_request'], + $accountId, + $regRequestEventId, + $regRequestClassId + ) + ); + + $regTime = $this->wpdb->get_row( + $this->wpdb->prepare( + "SELECT * + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + WHERE id = %d", + $modelData['reg_time'] + ), + ARRAY_A + ); + $data = array( + 'account' => $accountId, + 'reg_event' => $modelData['reg_event'], + 'reg_time' => $modelData['reg_time'], + 'event_datetime' => $regTime['start_datetime'], + 'reg_request' => $modelData['reg_request'], + 'reg_request_event' => $regRequestEventId, + 'reg_request_class' => $regRequestClassId, + 'reg_request_rate' => $regRequestRate, + 'fname' => $modelData['fname'], + 'lname' => $modelData['lname'], + ); + $dataFormat = array( + '%d', // account + '%d', // reg_event + '%s', // reg_time + '%s', // event_datetime + '%d', // reg_request + '%d', // reg_request_event + '%d', // reg_request_class + '%d', // reg_request_rate + '%s', // fname + '%s', // lname + ); + if ( !$regRequestRegistrantId ) { + $this->wpdb->insert( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', + $data, + $dataFormat + ); + $regRequestRegistrantId = $this->wpdb->insert_id; + } else { + $this->wpdb->update( + GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . 'reg_request_registrant', + $data, + array( 'id' => $regRequestRegistrantId ), + $dataFormat, + array( '%d' ) + ); + } + $registrant = $this->getEntry( $regRequestRegistrantId ); + $registrant['validated'] = $validated; + if ( $registrant['reg_time'] && filter_var( $registrant['reg_time'], FILTER_VALIDATE_INT ) ) { + $regTimeText = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT DATE_FORMAT( start_datetime, '%%m/%%d/%%Y %%l:%%i %%p' ) + FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_time + WHERE id = %d", + $registrant['reg_time'] + ) + ); + $registrant['reg_time_text'] = $regTimeText; + } + + return $registrant; + + } }