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;
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':
}
+ 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;
+
+ }
}