Пример #1
0
function crf_insert_form_entry($post, $id, $files, $server)
{
    global $wpdb;
    $crf_fields = $wpdb->prefix . "crf_fields";
    $crf_submissions = $wpdb->prefix . "crf_submissions";
    $qry1 = "select * from {$crf_fields} where Form_Id= '" . $id . "' and Type not in('heading','paragraph') order by ordering asc";
    $reg1 = $wpdb->get_results($qry1);
    $entry = array();
    $form_type = crf_get_form_option_value('form_type', $id);
    $last_insert_id = $wpdb->get_var("SELECT max(`submission_id`) FROM {$crf_submissions}");
    $submission_id = $last_insert_id + 1;
    $userip = crf_get_global_option_value('userip');
    $autoapproval = crf_get_global_option_value('userautoapproval');
    $form_options = crf_get_form_option_value('form_option', $id);
    $form_option = maybe_unserialize($form_options);
    crf_insert_submission($submission_id, $id, 'form_type', $form_type);
    crf_insert_submission($submission_id, $id, 'user_approval', $autoapproval);
    if ($form_type == 'reg_form') {
        $user_name = $post['user_name'];
        $user_email = $post['user_email'];
        $user_pass = $post['user_pass'];
        $role = set_crf_user_role($id, $post, $form_option);
        $user_email = $post['user_email'];
        crf_insert_submission($submission_id, $id, 'user_name', $user_name);
        crf_insert_submission($submission_id, $id, 'user_email', $user_email);
        crf_insert_submission($submission_id, $id, 'user_pass', $user_pass);
        crf_insert_submission($submission_id, $id, 'role', $role);
    }
    if (!empty($reg1)) {
        foreach ($reg1 as $row1) {
            if (!empty($row1)) {
                /*file addon start */
                $Customfield = crf_get_field_key($row1);
                if ($row1->Type == 'file') {
                    $filefield = $files[$Customfield];
                    if (is_array($filefield)) {
                        for ($i = 0; $i <= count($filefield['name']); $i++) {
                            $file = array('name' => @$filefield['name'][$i], 'type' => @$filefield['type'][$i], 'tmp_name' => @$filefield['tmp_name'][$i], 'error' => @$filefield['error'][$i], 'size' => @$filefield['size'][$i]);
                            if (@$filefield['error'][$i] === 0) {
                                if (!function_exists('wp_handle_upload')) {
                                    require_once ABSPATH . 'wp-admin/includes/file.php';
                                }
                                $upload_overrides = array('test_form' => false);
                                $movefile = wp_handle_upload($file, $upload_overrides);
                                if ($movefile) {
                                    // $filename should be the path to a file in the upload directory.
                                    $filename = $movefile['file'];
                                    // The ID of the post this attachment is for.
                                    $parent_post_id = 0;
                                    // Check the type of tile. We'll use this as the 'post_mime_type'.
                                    $filetype = wp_check_filetype(basename($filename), null);
                                    // Get the path to the upload directory.
                                    $wp_upload_dir = wp_upload_dir();
                                    // Prepare an array of post data for the attachment.
                                    $attachment = array('guid' => $wp_upload_dir['url'] . '/' . basename($filename), 'post_mime_type' => $filetype['type'], 'post_title' => preg_replace('/\\.[^.]+$/', '', basename($filename)), 'post_content' => '', 'post_status' => 'inherit');
                                    // Insert the attachment.
                                    $attach_id[] = wp_insert_attachment($attachment, $filename, $parent_post_id);
                                }
                            }
                        }
                    }
                    if (isset($attach_id)) {
                        $attach_ids = implode(',', $attach_id);
                        crf_insert_submission($submission_id, $id, $Customfield, $attach_ids);
                        unset($attach_id);
                    }
                } else {
                    if (isset($post[$Customfield])) {
                        if (is_array($post[$Customfield])) {
                            $value = implode(',', $post[$Customfield]);
                        } else {
                            $value = $post[$Customfield];
                        }
                        crf_insert_submission($submission_id, $id, $Customfield, $value);
                        //$entry[$Customfield] =  $post[$Customfield];
                    }
                }
                /*file addon end */
            }
        }
    }
    if ($userip == 'yes') {
        crf_insert_submission($submission_id, $id, 'User_IP', $server['REMOTE_ADDR']);
        crf_insert_submission($submission_id, $id, 'Browser', $server['HTTP_USER_AGENT']);
    }
    $time = time();
    crf_insert_submission($submission_id, $id, 'entry_time', $time);
    return $submission_id;
}
Пример #2
0
<?php

error_reporting(0);
global $wpdb;
$crf_entries = $wpdb->prefix . "crf_entries";
$crf_submissions = $wpdb->prefix . "crf_submissions";
include 'crf_functions.php';
$qry = "select * from {$crf_entries}";
$reg = $wpdb->get_results($qry);
foreach ($reg as $row) {
    $id = $row->id;
    $form_id = $row->form_id;
    $form_type = $row->form_type;
    $user_approval = $row->user_approval;
    $value = maybe_unserialize($row->value);
    crf_insert_submission($id, $form_id, 'form_type', $form_type);
    crf_insert_submission($id, $form_id, 'user_approval', $user_approval);
    foreach ($value as $key => $val) {
        //echo $key . ' '. $val;
        if (is_array($val)) {
            $val = implode(',', $val);
        }
        crf_insert_submission($id, $form_id, $key, $val);
    }
}
echo 'submission migrated successful';
update_option("crf_migrate_submission", 'yes');