Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // first, let's get Submission ID and save it in temporary $_POST key
- // otherwise it will not be available later
- add_action( 'forminator_custom_form_submit_before_set_fields', 'forminator_custominsert_entry_id', 20, 3 );
- function forminator_custominsert_entry_id( $entry, $form_id, $field_data_array ) {
- if ( $form_id == 23868 ) {
- $_POST['_forminator_cform_entry_id'] = $entry->entry_id;
- }
- }
- // now the actual code to be run on ANY form submission
- add_action( 'forminator_form_after_save_entry', 'forminator_custominsert_entryid_set', 10, 2 );
- function forminator_custominsert_entryid_set( $form_id, $response ) {
- if ( $form_id == 23868 ) {
- global $wpdb;
- // get entry ID
- $entry_id = $_POST['_forminator_cform_entry_id'];
- // fetch entry data
- $data = Forminator_API::get_entry( $form_id, $entry_id );
- // get user email value from form data
- $user_email = $data->meta_data['email-1']['value'];
- // check if user exists in database
- $user = get_user_by('email', $user_email);
- if ( ! $user ) {
- echo "The email address does not exist.";
- return;
- }
- // get user ID
- $user_id = $user->ID;
- // Check and update user role based on condition
- $roles = $user->roles;
- if (in_array('customer', $roles) && !in_array('student', $roles)) {
- $update_args = array(
- 'ID' => $user_id,
- 'role' => 'student'
- );
- wp_update_user($update_args);
- }
- else if (in_array('customer', $roles) && in_array('student', $roles)) {
- $new_roles = array_diff($roles, array('customer'));
- $update_args = array(
- 'ID' => $user_id,
- 'role' => implode(',', $new_roles)
- );
- wp_update_user($update_args);
- }
- // get field value
- $user_value = '';
- switch ($data->meta_data['select-1']['value']) {
- case 'TUESDAY/KEDD, 18:30-19:30 (OKTOGON)':
- $user_value = 16;
- break;
- case 'TUESDAY/KEDD, 20:00-21:30 (OKTOGON)':
- $user_value = 17;
- break;
- case 'WEDNESDAY/SZERDA, 18:30-19:30 (MARCZIBÁNYI TÉR)':
- $user_value = 21;
- break;
- case 'THURSDAY/CSÜTÖRTÖK, 19:00-20:00 (PESTERZSÉBET)':
- $user_value = 20;
- break;
- case 'SUNDAY/VASÁRNAP, 15:00-16:30 (OKTOGON)':
- $user_value = 18;
- break;
- case 'SUNDAY/VASÁRNAP, 16:30-18:00 (OKTOGON)':
- $user_value = 19;
- break;
- case 'INSTRUCTOR (VIP)':
- $user_value = 27;
- break;
- default:
- break;
- }
- // check if field exists for user
- $field_id = 1; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 1, // fix the field ID to 1
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- } else {
- // do nothing, since $user_value is empty
- }
- }
- $user_value = '';
- switch ($data->meta_data['select-2']['value']) {
- case 'BEGINNER / KEZDŐ':
- $user_value = 5;
- break;
- case 'INTERMEDIATE / KÖZÉPHALADÓ':
- $user_value = 6;
- break;
- case 'ADVANCED / HALADÓ':
- $user_value = 7;
- break;
- case 'EXTRA ADVANCED / EXTRAHALADÓ':
- $user_value = 8;
- break;
- case 'EXPERT':
- $user_value = 26;
- break;
- case 'MASTER / MESTER':
- $user_value = 9;
- break;
- default:
- break;
- }
- // check if field exists for user
- $field_id = 2; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 2, // fix the field ID to 2
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- } else {
- // do nothing, since $user_value is empty
- }
- }
- $user_value = $data->meta_data['date-1']['value'];
- // check if field exists for user
- $field_id = 3; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 3, // fix the field ID to 3
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- $user_value = $data->meta_data['select-3']['value'];
- // check if field exists for user
- $field_id = 4; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 4, // fix the field ID to 4
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- $user_value = $data->meta_data['text-1']['value'];
- // check if field exists for user
- $field_id = 8; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 8, // fix the field ID to 8
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- $user_value = $data->meta_data['text-2']['value'];
- // check if field exists for user
- $field_id = 10; // fixed field ID
- $field_data = $wpdb->get_row(
- $wpdb->prepare(
- "SELECT * FROM {$wpdb->prefix}prflxtrflds_user_field_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- )
- );
- if ($field_data && $user_id == $field_data->user_id ) {
- // field exists, update value
- if (!empty($user_value)) { // hozzáadott feltétel: $user_value nem üres
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => $user_value ),
- array( 'field_id' => $field_data->field_id, 'user_id' => $user_id ),
- array( '%s' ),
- array( '%d', '%d' )
- );
- } else {
- // do nothing, leave existing value in the database
- }
- }
- else {
- // field does not exist, insert new row
- $last_id = $wpdb->get_var( "SELECT id FROM " . $wpdb->prefix . "prflxtrflds_user_field_data ORDER BY id DESC LIMIT 1" );
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array(
- 'id' => $new_id,
- 'field_id' => 10, // fix the field ID to 10
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment