Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- add_action( 'admin_post_nopriv_submit_form_data', 'submit_form_data' );
- add_action( 'admin_post_submit_form_data', 'submit_form_data' );
- function submit_form_data() {
- if (!empty($_POST['text-4'])) {
- // Biztonságosan generált jelszó
- function generate_secure_password() {
- $length = 15; // Jelszó hossza
- $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?'; // Lehetséges karakterek
- $password = '';
- // Jelszó generálása
- $character_count = strlen($characters);
- for ($i = 0; $i < $length; $i++) {
- $password .= $characters[rand(0, $character_count - 1)];
- }
- return $password;
- }
- // Jelszó generálása és tárolása egy változóban
- $generated_password = generate_secure_password();
- // Fixként tárolás
- define('FIXED_PASSWORD', $generated_password);
- // A kód további részeiben hivatkozás a jelszóra
- echo FIXED_PASSWORD;
- // Hibaellenőrzés a felhasználó által megadott adatokra
- $email = $_POST['email-1'];
- if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
- wp_send_json_error( 'Az e-mail cím formátuma nem megfelelő' );
- exit;
- }
- // Ellenőrzés, hogy az e-mail címhez tartozik-e felhasználó a WordPress-ben
- $user = get_user_by('email', $email);
- if ($user) {
- $user_id = $user->ID;
- // Ellenőrzés és felhasználói szerepkör frissítése a feltétel alapján
- $roles = $user->roles;
- if (in_array('customer', $roles) && !in_array('student', $roles)) {
- $update_args = array(
- 'ID' => $user_id,
- 'role' => 'student'
- );
- // Felhasználói szerepkör frissítése
- wp_update_user($update_args);
- }
- $entry_meta = array(
- array(
- 'name' => 'email-1',
- 'value' => $_POST['email-1']
- ),
- array(
- 'name' => 'text-1',
- 'value' => $_POST['text-1']
- ),
- array(
- 'name' => 'text-2',
- 'value' => $_POST['text-2']
- ),
- array(
- 'name' => 'date-1',
- 'value' => $_POST['date-1']
- ),
- array(
- 'name' => 'text-3',
- 'value' => $_POST['text-3']
- ),
- array(
- 'name' => 'hidden-3',
- 'value' => $_POST['hidden-3']
- ),
- array(
- 'name' => 'date-2',
- 'value' => $_POST['date-2']
- ),
- array(
- 'name' => 'text-4',
- 'value' => $_POST['text-4']
- ),
- array(
- 'name' => 'text-5',
- 'value' => $_POST['fullname']
- ),
- array(
- 'name' => 'text-6',
- 'value' => $_POST['phone']
- ),
- array(
- 'name' => 'text-7',
- 'value' => $_POST['birthdate']
- ),
- array(
- 'name' => 'text-8',
- 'value' => $_POST['email-1']
- )
- );
- // Ellenőrzés, hogy a felhasználót létre kell-e hozni
- if ($user) {
- $user_id = $user->ID;
- $entry_meta[] = array(
- 'name' => 'text-9',
- 'value' => ''
- );
- } else {
- $entry_meta[] = array(
- 'name' => 'text-9',
- 'value' => FIXED_PASSWORD
- );
- }
- } else {
- // Felosztás a teljes névről vezetéknévre és keresztnévre
- $name_parts = explode(' ', str_replace('+', ' ', $_POST['fullname']));
- $first_word = array_shift($name_parts);
- $last_name = $first_word;
- $first_name = implode(' ', $name_parts);
- // Hozzáadjuk az új felhasználót a WordPress-hez
- $user_id = wp_insert_user( array(
- 'user_login' => $_POST['email-1'],
- 'user_pass' => FIXED_PASSWORD,
- 'user_email' => $_POST['email-1'],
- 'first_name' => $first_name,
- 'last_name' => $last_name,
- 'role' => 'student'
- ) );
- // Ellenőrzés, hogy sikeres volt-e a felhasználó hozzáadása
- if ( ! is_wp_error( $user_id ) ) {
- // Felhasználó sikeresen létrehozva, adatok hozzáadása a usermeta táblához
- // Billing phone hozzáadása
- update_user_meta( $user_id, 'billing_phone', $_POST['phone'] );
- // Birthday hozzáadása
- update_user_meta( $user_id, 'yith_birthday', $_POST['birthdate'] );
- $entry_meta = array(
- array(
- 'name' => 'email-1',
- 'value' => $_POST['email-1']
- ),
- array(
- 'name' => 'text-1',
- 'value' => $_POST['text-1']
- ),
- array(
- 'name' => 'text-2',
- 'value' => $_POST['text-2']
- ),
- array(
- 'name' => 'date-1',
- 'value' => $_POST['date-1']
- ),
- array(
- 'name' => 'text-3',
- 'value' => $_POST['text-3']
- ),
- array(
- 'name' => 'hidden-3',
- 'value' => $_POST['hidden-3']
- ),
- array(
- 'name' => 'date-2',
- 'value' => $_POST['date-2']
- ),
- array(
- 'name' => 'text-4',
- 'value' => $_POST['text-4']
- ),
- array(
- 'name' => 'text-5',
- 'value' => $_POST['fullname']
- ),
- array(
- 'name' => 'text-6',
- 'value' => $_POST['phone']
- ),
- array(
- 'name' => 'text-7',
- 'value' => $_POST['birthdate']
- ),
- array(
- 'name' => 'text-8',
- 'value' => $_POST['email-1']
- ),
- // ...
- array(
- 'name' => 'text-9',
- 'value' => FIXED_PASSWORD
- )
- );
- } else {
- // Hiba történt a felhasználó létrehozása során
- $error_message = $user_id->get_error_message();
- echo 'Hiba történt a felhasználó hozzáadása során: ' . $error_message;
- }
- }
- // get field value
- // check if field exists for user
- global $wpdb;
- $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($field_data->user_value)) {
- $wpdb->update(
- $wpdb->prefix . 'prflxtrflds_user_field_data',
- array( 'user_value' => 5 ),
- 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' => 2, // fix the field ID to 2
- 'user_id' => $user_id,
- 'user_value' => 5
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- $user_value = $_POST['date-1'];
- // check if field exists for user
- global $wpdb;
- $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 = $_POST['text-3'];
- if (empty($user_value)) {
- $user_value = '0';
- } elseif ($user_value === 'x') {
- $user_value = 'UNLIMITED/KORLÁTLAN';
- }
- global $wpdb;
- $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
- $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 {
- // 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 = $_POST['text-1'];
- // check if field exists for user
- global $wpdb;
- $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 = $_POST['text-2'];
- // check if field exists for user
- global $wpdb;
- $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'
- )
- );
- }
- $user_value = $_POST['userfoto'];
- // check if field exists for user
- global $wpdb;
- $field_id = 12; // 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)) {
- $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 user_value is not empty
- if (!empty($user_value)) {
- $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' => 12, // fix the field ID to 12
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- }
- $user_value = $_POST['date-2'];
- if ($user_value !== '1970-01-01') {
- // check if field exists for user
- global $wpdb;
- $field_id = 11; // 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)) {
- $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' => 11, // fix the field ID to 11
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- }
- $user_value = $_POST['date-2'];
- $user_value_formatted = date('Y-m-d', strtotime($user_value)); // Formátum ellenőrzése és átalakítása
- if ($user_value_formatted !== '1970-01-01') {
- global $wpdb;
- $field_id = 12; // fixed field ID
- // Check if a row with the same user_value exists for the current user
- $existing_row = $wpdb->get_row($wpdb->prepare(
- "SELECT * FROM " . $wpdb->prefix . "prflxtrflds_checkin_data WHERE field_id = %d AND user_id = %d",
- $field_id,
- $user_id
- ));
- // If no matching row found or the user_value is different, insert a new row
- if (!$existing_row || $existing_row->user_value !== $user_value_formatted) {
- // Check if the user_value already exists for the given user_id and field_id
- $duplicate_row = $wpdb->get_row($wpdb->prepare(
- "SELECT * FROM " . $wpdb->prefix . "prflxtrflds_checkin_data WHERE field_id = %d AND user_id = %d AND user_value = %s",
- $field_id,
- $user_id,
- $user_value_formatted
- ));
- if (!$duplicate_row) {
- $last_id = $wpdb->get_var("SELECT id FROM " . $wpdb->prefix . "prflxtrflds_checkin_data ORDER BY id DESC LIMIT 1");
- $new_id = $last_id + 1;
- $wpdb->insert(
- $wpdb->prefix . 'prflxtrflds_checkin_data',
- array(
- 'id' => $new_id,
- 'field_id' => $field_id,
- 'user_id' => $user_id,
- 'user_value' => $user_value_formatted
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- }
- }
- }
- $user_value = '';
- switch ($_POST['text-4']) {
- case '77':
- case '78':
- case '84':
- $user_value = 34;
- break;
- case '89':
- case '90':
- $user_value = 35;
- break;
- default:
- break;
- }
- // check if field exists for user
- $field_id = 13; // 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' => 13, // fix the field ID to 13
- 'user_id' => $user_id,
- 'user_value' => $user_value
- ),
- array(
- '%d',
- '%d',
- '%d',
- '%s'
- )
- );
- } else {
- // do nothing, since $user_value is empty
- }
- }
- $form_id = 23868;
- // Űrlapbejegyzés létrehozása a Forminator API-val
- $entry_id = Forminator_API::add_form_entry( $form_id, $entry_meta );
- if ($entry_id) {
- $form = Forminator_API::get_form( $form_id );
- $entry = Forminator_API::get_entry( $form_id, $entry_id );
- (new Forminator_CForm_Front_Mail)->process_mail( $form, $entry, $entry_meta );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment