Beispiel #1
0
 function upload_file($image_only = false)
 {
     $this->validate_nonce();
     // a valid request will have a form ID
     $form_id = isset($_POST['form_id']) ? intval($_POST['form_id']) : false;
     if (!$form_id) {
         die('error');
     }
     // check if guest post enabled for guests
     if (!is_user_logged_in()) {
         $guest_post = false;
         $form_settings = wpuf_get_form_settings($form_id);
         if (isset($form_settings['guest_post']) && $form_settings['guest_post'] == 'true') {
             $guest_post = true;
         }
         if (!$guest_post) {
             die('error');
         }
     }
     $upload = array('name' => $_FILES['wpuf_file']['name'], 'type' => $_FILES['wpuf_file']['type'], 'tmp_name' => $_FILES['wpuf_file']['tmp_name'], 'error' => $_FILES['wpuf_file']['error'], 'size' => $_FILES['wpuf_file']['size']);
     header('Content-Type: text/html; charset=' . get_option('blog_charset'));
     $attach = $this->handle_upload($upload);
     if ($attach['success']) {
         $response = array('success' => true);
         if ($image_only) {
             $image_size = wpuf_get_option('insert_photo_size', 'wpuf_general', 'thumbnail');
             $image_type = wpuf_get_option('insert_photo_type', 'wpuf_general', 'link');
             if ($image_type == 'link') {
                 $response['html'] = wp_get_attachment_link($attach['attach_id'], $image_size);
             } else {
                 $response['html'] = wp_get_attachment_image($attach['attach_id'], $image_size);
             }
         } else {
             $response['html'] = $this->attach_html($attach['attach_id']);
         }
         echo $response['html'];
     } else {
         echo 'error';
     }
     // $response = array('success' => false, 'message' => $attach['error']);
     // echo json_encode( $response );
     exit;
 }
Beispiel #2
0
    function render_form($form_id, $post_id = null, $preview = false)
    {
        global $post;
        $form_id = get_post_meta($post->ID, '_wpuf_form_id', true);
        $form_settings = wpuf_get_form_settings($form_id);
        // hide the metabox itself if no form ID is set
        if (!$form_id) {
            $this->hide_form();
            return;
        }
        list($post_fields, $taxonomy_fields, $custom_fields) = $this->get_input_fields($form_id);
        if (empty($custom_fields)) {
            _e('No custom fields found.', 'wpuf');
            return;
        }
        ?>

        <input type="hidden" name="wpuf_cf_update" value="<?php 
        echo wp_create_nonce(plugin_basename(__FILE__));
        ?>
" />
        <input type="hidden" name="wpuf_cf_form_id" value="<?php 
        echo $form_id;
        ?>
" />

        <table class="form-table wpuf-cf-table">
            <tbody>
                <?php 
        $this->render_items($custom_fields, $post->ID, 'post', $form_id, $form_settings);
        ?>
            </tbody>
        </table>
        <?php 
        $this->scripts_styles();
    }
Beispiel #3
0
    /**
     * Display settings for user profile builder
     *
     * @return void
     */
    function form_settings_profile()
    {
        global $post;
        $form_settings = wpuf_get_form_settings($post->ID);
        $email_verification = isset($form_settings['enable_email_verification']) ? $form_settings['enable_email_verification'] : 'no';
        $role_selected = isset($form_settings['role']) ? $form_settings['role'] : 'subscriber';
        $redirect_to = isset($form_settings['redirect_to']) ? $form_settings['redirect_to'] : 'post';
        $message = isset($form_settings['message']) ? $form_settings['message'] : __('Registration successful', 'wpuf');
        $update_message = isset($form_settings['update_message']) ? $form_settings['update_message'] : __('Profile updated successfully', 'wpuf');
        $page_id = isset($form_settings['page_id']) ? $form_settings['page_id'] : 0;
        $url = isset($form_settings['url']) ? $form_settings['url'] : '';
        $submit_text = isset($form_settings['submit_text']) ? $form_settings['submit_text'] : __('Register', 'wpuf');
        $update_text = isset($form_settings['update_text']) ? $form_settings['update_text'] : __('Update Profile', 'wpuf');
        ?>
        <table class="form-table">
            <tr class="wpuf-post-type">
                <th><?php 
        _e('Enable Email Verfication', 'wpuf');
        ?>
</th>
                <td>
                    <input type="hidden" name="wpuf_settings[enable_email_verification]" value="no">
                    <input type="checkbox" id="wpuf-enable_email_verification" name="wpuf_settings[enable_email_verification]" value="yes" <?php 
        checked($email_verification, 'yes');
        ?>
 > <label for="wpuf-enable_email_verification">Enable Email Verification</label>
                </td>
            </tr>

            <tr class="wpuf-post-type">
                <th><?php 
        _e('New User Role', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[role]">
                        <?php 
        $user_roles = wpuf_get_user_roles();
        foreach ($user_roles as $role => $label) {
            printf('<option value="%s"%s>%s</option>', $role, selected($role_selected, $role, false), $label);
        }
        ?>
                    </select>
                </td>
            </tr>

            <tr class="wpuf-redirect-to">
                <th><?php 
        _e('Redirect To', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[redirect_to]">
                        <?php 
        $redirect_options = array('same' => __('Same Page', 'wpuf'), 'page' => __('To a page', 'wpuf'), 'url' => __('To a custom URL', 'wpuf'));
        foreach ($redirect_options as $to => $label) {
            printf('<option value="%s"%s>%s</option>', $to, selected($redirect_to, $to, false), $label);
        }
        ?>
                    </select>
                    <div class="description">
                        <?php 
        _e('After successfull submit, where the page will redirect to', 'wpuf');
        ?>
                    </div>
                </td>
            </tr>

            <tr class="wpuf-same-page">
                <th><?php 
        _e('Registration success message', 'wpuf');
        ?>
</th>
                <td>
                    <textarea rows="3" cols="40" name="wpuf_settings[message]"><?php 
        echo esc_textarea($message);
        ?>
</textarea>
                </td>
            </tr>

            <tr class="wpuf-same-page">
                <th><?php 
        _e('Update profile message', 'wpuf');
        ?>
</th>
                <td>
                    <textarea rows="3" cols="40" name="wpuf_settings[update_message]"><?php 
        echo esc_textarea($update_message);
        ?>
</textarea>
                </td>
            </tr>

            <tr class="wpuf-page-id">
                <th><?php 
        _e('Page', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[page_id]">
                        <?php 
        $pages = get_posts(array('numberposts' => -1, 'post_type' => 'page'));
        foreach ($pages as $page) {
            printf('<option value="%s"%s>%s</option>', $page->ID, selected($page_id, $page->ID, false), esc_attr($page->post_title));
        }
        ?>
                    </select>
                </td>
            </tr>

            <tr class="wpuf-url">
                <th><?php 
        _e('Custom URL', 'wpuf');
        ?>
</th>
                <td>
                    <input type="url" name="wpuf_settings[url]" value="<?php 
        echo esc_attr($url);
        ?>
">
                </td>
            </tr>

            <tr class="wpuf-submit-text">
                <th><?php 
        _e('Submit Button text', 'wpuf');
        ?>
</th>
                <td>
                    <input type="text" name="wpuf_settings[submit_text]" value="<?php 
        echo esc_attr($submit_text);
        ?>
">
                </td>
            </tr>

            <tr class="wpuf-update-text">
                <th><?php 
        _e('Update Button text', 'wpuf');
        ?>
</th>
                <td>
                    <input type="text" name="wpuf_settings[update_text]" value="<?php 
        echo esc_attr($update_text);
        ?>
">
                </td>
            </tr>
            <?php 
        do_action('registration_setting', $form_settings, $post);
        ?>
        </table>
        <?php 
    }
 function update_profile()
 {
     check_ajax_referer('wpuf_form_add');
     @header('Content-Type: application/json; charset=' . get_option('blog_charset'));
     $form_id = isset($_POST['form_id']) ? intval($_POST['form_id']) : 0;
     $form_vars = $this->get_input_fields($form_id);
     $form_settings = wpuf_get_form_settings($form_id);
     list($user_vars, $taxonomy_vars, $meta_vars) = $form_vars;
     $user_id = get_current_user_id();
     $userdata = array('ID' => $user_id);
     if ($this->search($user_vars, 'name', 'first_name')) {
         $userdata['first_name'] = $_POST['first_name'];
     }
     if ($this->search($user_vars, 'name', 'last_name')) {
         $userdata['last_name'] = $_POST['last_name'];
     }
     if ($this->search($user_vars, 'name', 'nickname')) {
         $userdata['nickname'] = $_POST['nickname'];
     }
     if ($this->search($user_vars, 'name', 'user_url')) {
         $userdata['user_url'] = $_POST['user_url'];
     }
     if ($this->search($user_vars, 'name', 'user_email')) {
         $userdata['user_email'] = $_POST['user_email'];
     }
     if ($this->search($user_vars, 'name', 'description')) {
         $userdata['description'] = $_POST['description'];
     }
     // check if password filled out
     // verify password
     if ($pass_element = $this->search($user_vars, 'name', 'password')) {
         $pass_element = current($pass_element);
         $password = $_POST['pass1'];
         $password_repeat = $_POST['pass2'];
         // check only if it's filled
         if ($pass_length = strlen($password)) {
             // min length check
             if ($pass_length < intval($pass_element['min_length'])) {
                 $this->send_error(sprintf(__('Password must be %s character long', 'wpuf'), $pass_element['min_length']));
             }
             // repeat password check
             if ($password != $password_repeat) {
                 $this->send_error(__('Password didn\'t match', 'wpuf'));
             }
             // seems like he want to change the password
             $userdata['user_pass'] = $password;
         }
     }
     $userdata = apply_filters('wpuf_update_profile_vars', $userdata, $form_id, $form_settings);
     $user_id = wp_update_user($userdata);
     if ($user_id) {
         // update meta fields
         $this->update_user_meta($meta_vars, $user_id);
         do_action('wpuf_update_profile', $user_id, $form_id, $form_settings);
     }
     //redirect URL
     $show_message = false;
     if ($form_settings['redirect_to'] == 'page') {
         $redirect_to = get_permalink($form_settings['page_id']);
     } elseif ($form_settings['redirect_to'] == 'url') {
         $redirect_to = $form_settings['url'];
     } elseif ($form_settings['redirect_to'] == 'same') {
         $redirect_to = get_permalink($_POST['page_id']);
         $redirect_to = add_query_arg(array('msg' => 'profile_update'), $redirect_to);
     }
     // send the response
     $response = array('success' => true, 'redirect_to' => $redirect_to, 'show_message' => $show_message, 'message' => $form_settings['update_message']);
     $response = apply_filters('wpuf_update_profile_resp', $response, $user_id, $form_id, $form_settings);
     wpuf_clear_buffer();
     echo json_encode($response);
     exit;
 }
 function draft_post()
 {
     check_ajax_referer('wpuf_form_add');
     @header('Content-Type: application/json; charset=' . get_option('blog_charset'));
     $form_id = isset($_POST['form_id']) ? intval($_POST['form_id']) : 0;
     $form_vars = $this->get_input_fields($form_id);
     $form_settings = wpuf_get_form_settings($form_id);
     list($post_vars, $taxonomy_vars, $meta_vars) = $form_vars;
     // echo json_encode( $_POST );
     // print_r( $post_vars );
     // print_r( $taxonomy_vars );
     // print_r( $meta_vars );
     $postarr = array('post_type' => $form_settings['post_type'], 'post_status' => 'draft', 'post_author' => get_current_user_id(), 'post_title' => isset($_POST['post_title']) ? trim($_POST['post_title']) : '', 'post_content' => isset($_POST['post_content']) ? trim($_POST['post_content']) : '', 'post_excerpt' => isset($_POST['post_excerpt']) ? trim($_POST['post_excerpt']) : '');
     if (isset($_POST['category'])) {
         $category = $_POST['category'];
         $postarr['post_category'] = is_array($category) ? $category : array($category);
     }
     if (isset($_POST['tags'])) {
         $postarr['tags_input'] = explode(',', $_POST['tags']);
     }
     // if post_id is passed, we update the post
     if (isset($_POST['post_id'])) {
         $is_update = true;
         $postarr['ID'] = $_POST['post_id'];
         $postarr['comment_status'] = 'open';
     }
     $post_id = wp_insert_post($postarr);
     if ($post_id) {
         self::update_post_meta($meta_vars, $post_id);
         // set the post form_id for later usage
         update_post_meta($post_id, self::$config_id, $form_id);
         // save post formats if have any
         if (isset($form_settings['post_format']) && $form_settings['post_format'] != '0') {
             if (post_type_supports($form_settings['post_type'], 'post-formats')) {
                 set_post_format($post_id, $form_settings['post_format']);
             }
         }
         // save any custom taxonomies
         foreach ($taxonomy_vars as $taxonomy) {
             if (isset($_POST[$taxonomy['name']])) {
                 if (is_object_in_taxonomy($form_settings['post_type'], $taxonomy['name'])) {
                     $tax = $_POST[$taxonomy['name']];
                     // if it's not an array, make it one
                     if (!is_array($tax)) {
                         $tax = array($tax);
                     }
                     wp_set_post_terms($post_id, $_POST[$taxonomy['name']], $taxonomy['name']);
                 }
             }
         }
     }
     wpuf_clear_buffer();
     echo json_encode(array('post_id' => $post_id, 'action' => $_POST['action'], 'date' => current_time('mysql'), 'post_author' => get_current_user_id(), 'comment_status' => get_option('default_comment_status'), 'url' => add_query_arg('preview', 'true', get_permalink($post_id))));
     exit;
 }
Beispiel #6
0
 /**
  * Maintain post status from the form settings
  *
  * @since 2.1.9
  * @param int $post_id
  */
 function set_post_status($post_id)
 {
     $post_status = 'publish';
     $form_id = get_post_meta($post_id, '_wpuf_form_id', true);
     if ($form_id) {
         $form_settings = wpuf_get_form_settings($form_id);
         $post_status = $form_settings['post_status'];
     }
     $update_post = array('ID' => $post_id, 'post_status' => $post_status);
     wp_update_post($update_post);
 }
    /**
     * Handles the add post shortcode
     *
     * @param $atts
     */
    function render_form($form_id, $post_id = NULL, $preview = false)
    {
        $form_vars = wpuf_get_form_fields($form_id);
        $form_settings = wpuf_get_form_settings($form_id);
        if (!is_user_logged_in() && $form_settings['guest_post'] != 'true') {
            echo '<div class="wpuf-message">' . $form_settings['message_restrict'] . '</div>';
            wp_login_form();
            return;
        }
        if ($form_vars) {
            ?>

            <?php 
            if (!$preview) {
                ?>
                <form class="wpuf-form-add" action="" method="post">
                <?php 
            }
            ?>

                <ul class="wpuf-form">

                    <?php 
            if (!$post_id) {
                do_action('wpuf_add_post_form_top', $form_id, $form_settings);
            } else {
                do_action('wpuf_edit_post_form_top', $form_id, $post_id, $form_settings);
            }
            if (!is_user_logged_in() && $form_settings['guest_post'] == 'true' && $form_settings['guest_details'] == 'true') {
                $this->guest_fields($form_settings);
            }
            $this->render_items($form_vars, $post_id, 'post', $form_id, $form_settings);
            $this->submit_button($form_id, $form_settings, $post_id);
            if (!$post_id) {
                do_action('wpuf_add_post_form_bottom', $form_id, $form_settings);
            } else {
                do_action('wpuf_edit_post_form_bottom', $form_id, $post_id, $form_settings);
            }
            ?>

                </ul>

                <?php 
            if (!$preview) {
                ?>
                </form>
            <?php 
            }
            ?>

            <?php 
        }
        //endif
    }
Beispiel #8
0
    /**
     * Displays settings on post form builder
     *
     * @global object $post
     */
    function form_settings_posts_edit()
    {
        global $post;
        $form_settings = wpuf_get_form_settings($post->ID);
        $post_status_selected = isset($form_settings['edit_post_status']) ? $form_settings['edit_post_status'] : 'publish';
        $redirect_to = isset($form_settings['edit_redirect_to']) ? $form_settings['edit_redirect_to'] : 'same';
        $update_message = isset($form_settings['update_message']) ? $form_settings['update_message'] : __('Post updated successfully', 'wpuf');
        $page_id = isset($form_settings['edit_page_id']) ? $form_settings['edit_page_id'] : 0;
        $url = isset($form_settings['edit_url']) ? $form_settings['edit_url'] : '';
        $update_text = isset($form_settings['update_text']) ? $form_settings['update_text'] : __('Update', 'wpuf');
        $subscription = isset($form_settings['subscription']) ? $form_settings['subscription'] : null;
        ?>
        <table class="form-table">

            <tr class="wpuf-post-status">
                <th><?php 
        _e('Set Post Status to', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[edit_post_status]">
                        <?php 
        $statuses = get_post_statuses();
        foreach ($statuses as $status => $label) {
            printf('<option value="%s"%s>%s</option>', $status, selected($post_status_selected, $status, false), $label);
        }
        printf('<option value="_nochange"%s>%s</option>', selected($post_status_selected, '_nochange', false), __('No Change', 'wpuf'));
        ?>
                    </select>
                </td>
            </tr>

            <tr class="wpuf-redirect-to">
                <th><?php 
        _e('Redirect To', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[edit_redirect_to]">
                        <?php 
        $redirect_options = array('post' => __('Newly created post', 'wpuf'), 'same' => __('Same Page', 'wpuf'), 'page' => __('To a page', 'wpuf'), 'url' => __('To a custom URL', 'wpuf'));
        foreach ($redirect_options as $to => $label) {
            printf('<option value="%s"%s>%s</option>', $to, selected($redirect_to, $to, false), $label);
        }
        ?>
                    </select>
                    <p class="description">
                        <?php 
        _e('After successfull submit, where the page will redirect to', $domain = 'default');
        ?>
                    </p>
                </td>
            </tr>

            <tr class="wpuf-same-page">
                <th><?php 
        _e('Post Update Message', 'wpuf');
        ?>
</th>
                <td>
                    <textarea rows="3" cols="40" name="wpuf_settings[update_message]"><?php 
        echo esc_textarea($update_message);
        ?>
</textarea>
                </td>
            </tr>

            <tr class="wpuf-page-id">
                <th><?php 
        _e('Page', 'wpuf');
        ?>
</th>
                <td>
                    <select name="wpuf_settings[edit_page_id]">
                        <?php 
        $pages = get_posts(array('numberposts' => -1, 'post_type' => 'page'));
        foreach ($pages as $page) {
            printf('<option value="%s"%s>%s</option>', $page->ID, selected($page_id, $page->ID, false), esc_attr($page->post_title));
        }
        ?>
                    </select>
                </td>
            </tr>

            <tr class="wpuf-url">
                <th><?php 
        _e('Custom URL', 'wpuf');
        ?>
</th>
                <td>
                    <input type="url" name="wpuf_settings[edit_url]" value="<?php 
        echo esc_attr($url);
        ?>
">
                </td>
            </tr>

            <tr class="wpuf-subscription-pack" style="display: none;">
                <th><?php 
        _e('Subscription Title');
        ?>
</th>
                <td>
                    <select id="wpuf-subscription-list" name="wpuf_settings[subscription]">
                        <?php 
        $this->subscription_dropdown($subscription);
        ?>
                    </select>
                </td>
            </tr>

            <tr class="wpuf-update-text">
                <th><?php 
        _e('Update Post Button text', 'wpuf');
        ?>
</th>
                <td>
                    <input type="text" name="wpuf_settings[update_text]" value="<?php 
        echo esc_attr($update_text);
        ?>
">
                </td>
            </tr>
        </table>
    <?php 
    }
Beispiel #9
0
    /**
     * Render registration settings
     */
    public static function render_registration_settings()
    {
        global $post;
        $form_settings = wpuf_get_form_settings($post->ID);
        $email_verification = 'no';
        $role_selected = 'subscriber';
        $redirect_to = 'post';
        $message = __('Registration successful', 'wpuf');
        $update_message = __('Profile updated successfully', 'wpuf');
        $page_id = 0;
        $url = '';
        $submit_text = __('Register', 'wpuf');
        $update_text = __('Update Profile', 'wpuf');
        ?>
        <tr>
            <td colspan="2">
                <?php 
        self::get_pro_prompt();
        ?>
            </td>
        </tr>
        <tr class="wpuf-post-type">
            <th><?php 
        _e('Enable Email Verfication', 'wpuf');
        ?>
</th>
            <td>
                <input type="hidden" name="" value="no">
                <input disabled type="checkbox" id="wpuf-enable_email_verification" name="" value="yes" <?php 
        checked($email_verification, 'yes');
        ?>
 > <label for="wpuf-enable_email_verification">Enable Email Verification</label>
            </td>
        </tr>

        <tr class="wpuf-post-type">
            <th><?php 
        _e('New User Role', 'wpuf');
        ?>
</th>
            <td>
                <select disabled name="">
                    <?php 
        $user_roles = wpuf_get_user_roles();
        foreach ($user_roles as $role => $label) {
            printf('<option value="%s"%s>%s</option>', $role, selected($role_selected, $role, false), $label);
        }
        ?>
                </select>
            </td>
        </tr>

        <tr class="wpuf-redirect-to">
            <th><?php 
        _e('Redirect To', 'wpuf');
        ?>
</th>
            <td>
                <select disabled name="">
                    <?php 
        $redirect_options = array('same' => __('Same Page', 'wpuf'), 'page' => __('To a page', 'wpuf'), 'url' => __('To a custom URL', 'wpuf'));
        foreach ($redirect_options as $to => $label) {
            printf('<option value="%s"%s>%s</option>', $to, selected($redirect_to, $to, false), $label);
        }
        ?>
                </select>
                <div class="description">
                    <?php 
        _e('After successfull submit, where the page will redirect to', 'wpuf');
        ?>
                </div>
            </td>
        </tr>

        <tr class="wpuf-same-page">
            <th><?php 
        _e('Registration success message', 'wpuf');
        ?>
</th>
            <td>
                <textarea disabled rows="3" cols="40" name=""><?php 
        echo esc_textarea($message);
        ?>
</textarea>
            </td>
        </tr>

        <tr class="wpuf-same-page">
            <th><?php 
        _e('Update profile message', 'wpuf');
        ?>
</th>
            <td>
                <textarea disabled rows="3" cols="40" name=""><?php 
        echo esc_textarea($update_message);
        ?>
</textarea>
            </td>
        </tr>

        <tr class="wpuf-page-id">
            <th><?php 
        _e('Page', 'wpuf');
        ?>
</th>
            <td>
                <select disabled name="">
                    <?php 
        $pages = get_posts(array('numberposts' => -1, 'post_type' => 'page'));
        foreach ($pages as $page) {
            printf('<option value="%s"%s>%s</option>', $page->ID, selected($page_id, $page->ID, false), esc_attr($page->post_title));
        }
        ?>
                </select>
            </td>
        </tr>

        <tr class="wpuf-url">
            <th><?php 
        _e('Custom URL', 'wpuf');
        ?>
</th>
            <td>
                <input disabled type="url" name="" value="<?php 
        echo esc_attr($url);
        ?>
">
            </td>
        </tr>

        <tr class="wpuf-submit-text">
            <th><?php 
        _e('Submit Button text', 'wpuf');
        ?>
</th>
            <td>
                <input disabled type="text" name="" value="<?php 
        echo esc_attr($submit_text);
        ?>
">
            </td>
        </tr>

        <tr class="wpuf-update-text">
            <th><?php 
        _e('Update Button text', 'wpuf');
        ?>
</th>
            <td>
                <input disabled type="text" name="" value="<?php 
        echo esc_attr($update_text);
        ?>
">
            </td>
        </tr>
    <?php 
    }
Beispiel #10
0
    /**
     * Render custom taxonomies
     */
    public static function render_custom_taxonomies_element()
    {
        //$custom_taxonomies = get_taxonomies(array('_builtin' => false ) );
        $custom_taxonomies = get_taxonomies(array('_builtin' => false), 'objects');
        if (function_exists('wc_get_attribute_taxonomies')) {
            $product_attributes = wc_get_attribute_taxonomies();
        } else {
            $product_attributes = array();
        }
        $attr_name = array();
        foreach ($product_attributes as $attr) {
            $attr_name[] = $attr->attribute_name;
        }
        //pri($custom_taxonomies);
        $form_settings = wpuf_get_form_settings(get_the_ID());
        if ($custom_taxonomies) {
            ?>
            <div class="wpuf-taxonomies-holder">
                <?php 
            $product_attr_tax = '';
            foreach ($custom_taxonomies as $tax_name => $tax) {
                if (strstr($tax_name, 'pa_') && strpos($tax_name, 'pa_') == 0 && in_array('product', $tax->object_type) && in_array(substr($tax_name, 3), $attr_name)) {
                    $product_attr_tax .= '<button class="wpuf-custom-tax-btn button ' . implode(' ', $tax->object_type) . '" style="' . (isset($form_settings['post_type']) && !in_array($form_settings['post_type'], $tax->object_type) ? 'display:none' : '') . '" data-name="taxonomy" data-type="' . $tax_name . '" title="' . __('Click to add to the editor', 'wpuf') . '">' . $tax_name . '</button>';
                } else {
                    ?>
                        <button class="wpuf-custom-tax-btn button <?php 
                    echo implode(' ', $tax->object_type);
                    ?>
" style="<?php 
                    echo isset($form_settings['post_type']) && !in_array($form_settings['post_type'], $tax->object_type) ? 'display:none' : '';
                    ?>
" data-name="taxonomy" data-type="<?php 
                    echo $tax_name;
                    ?>
" title="<?php 
                    _e('Click to add to the editor', 'wpuf');
                    ?>
"><?php 
                    echo $tax_name;
                    ?>
</button>
                    <?php 
                }
            }
            ?>
                <div class="attributes_holder product" style="<?php 
            echo isset($form_settings['post_type']) && !in_array($form_settings['post_type'], $tax->object_type) ? 'display:none' : '';
            ?>
">
                    <h2>Product Attributes</h2>
                    <?php 
            echo $product_attr_tax;
            ?>
                </div>
            </div>
            <?php 
        } else {
            _e('No custom taxonomies found', 'wpuf');
        }
    }