Server IP : 192.64.118.117 / Your IP : 18.217.55.199 Web Server : LiteSpeed System : Linux premium56.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : thecgapy ( 1160) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/thecgapy/www/wp-content/plugins/testimonials-showcase/form/ |
Upload File : |
<?php $tt_custom_form_css = ''; function ttshowcase_custom_css_footer() { global $tt_custom_form_css; $custom_css = cmshowcase_get_option('custom_css','ttshowcase_advanced_settings',''); $custom_js = cmshowcase_get_option('custom_js','ttshowcase_advanced_settings',''); $css = ''; $js = ''; if($tt_custom_form_css=='') { if($custom_css!='') { $css .= '<!-- Custom Styles for Testimonials Showcase Forms -->'; $css .= '<style type="text/css">'; $css .= $custom_css; $css .= '</style>'; } if($custom_js!='') { $js .= '<!-- Custom Script for Testimonials Showcase Forms -->'; $js .= '<script type="text/javascript">'; $js .= $custom_js; $js .= '</script>'; } $css .= $js; $tt_custom_form_css = $css; echo $css; } } //Fix to add the redirect - not so clean, all form processing needs improving add_action('init','ttshowcase_submit_form'); function ttshowcase_submit_form() { /*if(!session_id()) { session_start(); } $_SESSION['ttform_submit'] = false; */ if(isset($_POST['tt_submitted'])) { $tt_force_redirect = cmshowcase_get_boolean(cmshowcase_get_option('force_redirect', 'ttshowcase_front_form', 'off')); $tt_confirmation_url = cmshowcase_get_option('thankyou_url', 'ttshowcase_front_form', ''); if($tt_confirmation_url!='' || $tt_force_redirect == true) { ob_start(); } } } function ttshowcase_build_form($atts,$post = false) { if(!isset($_POST) && $post != false) { $_POST = $post; } //print_r($_POST); $tt_image; $section = 'ttshowcase_front_form'; $form_html = '<a name="ttform"></a>'; $tt_label_name = do_shortcode(cmshowcase_get_option('name_label', $section, 'Name')); $tt_label_subtitle = cmshowcase_get_option('subtitle_label', $section, 'Position'); $tt_label_url = cmshowcase_get_option('url_label', $section, 'URL'); $tt_label_testimonial = cmshowcase_get_option('testimonial_label', $section, 'Testimonial'); $tt_label_long_testimonial = cmshowcase_get_option('long_testimonial_label', $section, 'Long Testimonial');; $tt_label_rating = cmshowcase_get_option('rating_label', $section, 'Rating'); $tt_label_email = cmshowcase_get_option('email_label', $section, 'Email'); $tt_confirmation_text = cmshowcase_get_option('thankyou', $section, 'Thank you for submitting your message!'); $tt_confirmation_url = cmshowcase_get_option('thankyou_url', $section, ''); $tt_error_text = cmshowcase_get_option('error', $section, 'The testimonial was not submitted. Check the form for errors.'); $tt_confirmation_email_on = cmshowcase_get_option('sendemail', $section, 'on'); $tt_human_verification_logged = cmshowcase_get_option('human_verification_logged', $section, 'on'); $tt_confirmation_email = cmshowcase_get_option('email_to', $section, get_option( 'admin_email' )); $tt_email_subject = cmshowcase_get_option('email_subject', $section, 'New Testimonial for Review'); $tt_email_body = cmshowcase_get_option('email_message', $section, 'New Testimonial entry from: {title}. <br /> <a href="{admin_url}">Approve or Delete Entry</a>'); $tt_submit_label = cmshowcase_get_option('submit_label', $section, 'Submit'); $tt_review_title_label = cmshowcase_get_option('review_title_label', $section, 'Testimonial Title'); $tt_image_label = cmshowcase_get_option('image_label',$section,'Your Image'); $tt_star_label_singular = cmshowcase_get_option('star_singular',$section,'Star'); $tt_star_label_plural = cmshowcase_get_option('star_plural',$section,'Stars'); $tt_verification_label = cmshowcase_get_option('verification',$section,'Are you Human?'); $tt_category_label = cmshowcase_get_option('category_label',$section,'Category'); $tt_post_status = cmshowcase_get_option('status',$section,'pending'); $tt_boolean_label = cmshowcase_get_option('custom_boolean_label',$section,'Yes or No?'); $tt_force_redirect = cmshowcase_get_boolean(cmshowcase_get_option('force_redirect', $section, 'off')); $tt_ajax = cmshowcase_get_boolean(cmshowcase_get_option('ajax', $section, 'off')); $tt_initial_rating = cmshowcase_get_option('default_rating', $section, '5'); $tt_human_verification_logged = cmshowcase_get_boolean($tt_human_verification_logged); $tt_honeypot = cmshowcase_get_boolean(cmshowcase_get_option('honeypot_spam', $section, 'off')); $tt_fields_order = cmshowcase_get_option('order', $section, 'name,subtitle,url,image,title,testimonial,longtestimonial,rating,email,yesOrNo,humanVerification'); $tt_mandatory = cmshowcase_get_option('mandatory', $section, 'name,email,url,subtitle,title,testimonial,rating,image'); $tt_mandatory_append = cmshowcase_get_option('mandatory_append', $section, '(required)'); //ERROR MESSAGES $tt_error_generic = cmshowcase_get_option('error_generic', $section, 'This field is mandatory'); $tt_error_email = cmshowcase_get_option('error_email', $section, 'Invalid or empty email'); $tt_error_image = cmshowcase_get_option('error_image', $section, 'Invalid or empty image'); $tt_error_boolean = cmshowcase_get_option('error_boolean', $section, 'Please review this option'); $tt_error_human = cmshowcase_get_option('error_human', $section, 'Please insert the correct answer'); //Akismet Integration $tt_akismet = cmshowcase_get_boolean(cmshowcase_get_option('akismet', $section, 'off')); if(defined('AKISMET_VERSION')) { if($tt_akismet) { require_once dirname(__FILE__) . '/Akismet.class.php'; if(null !== get_option('wordpress_api_key')) { $akismet = new tt_Akismet(get_site_url(), get_option('wordpress_api_key')); if($akismet->isKeyValid()) { } else { echo '<!-- Invalid Akismet API Key -->'; } } } } if($tt_ajax) { wp_deregister_script( 'ttshowcase-submit-validation' ); wp_register_script( 'ttshowcase-submit-validation', plugins_url( 'js/jquery.validation.js', __FILE__ ),array('jquery'),false,false); wp_enqueue_script( 'ttshowcase-submit-validation' ); wp_localize_script( 'ttshowcase-submit-validation', 'ajax_object',array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } $tt_loggedonly_text = cmshowcase_get_option('loggedonly', $section, 'You need to be a registred user to submit entries'); $custom_css_load = cmshowcase_get_boolean(cmshowcase_get_option('load_css_form','ttshowcase_advanced_settings','off')); if($custom_css_load) { add_action('wp_footer', 'ttshowcase_custom_css_footer'); } $subtitle_on = isset($atts['subtitle']) && $atts['subtitle'] == 'on' ? true : false; $subtitle_url_on = isset($atts['subtitle_url']) && $atts['subtitle_url'] == 'on' ? true : false; $rating_on = isset($atts['rating']) ? $atts['rating'] : false; $r_title_on = isset($atts['review_title']) && $atts['review_title'] == 'on' ? true : false; $email_on = isset($atts['email']) && $atts['email'] == 'on' ? true : false; $long_testimonial_on = isset($atts['long_testimonial']) && $atts['long_testimonial'] == 'on' ? true : false; $verification = isset($atts['verification']) ? $atts['verification'] : false; $logged_on = isset($atts['logged']) && $atts['logged'] == 'on' ? true : false; $logged_only = isset($atts['logged_only']) && $atts['logged_only'] == 'on' ? true : false; $taxonomy_on = isset($atts['taxonomy']) ? true : false; $image_on = isset($atts['image']) && $atts['image'] == 'on' ? true : false; $style = isset($atts['style']) ? $atts['style'] : 'tt_simple'; $category = isset($atts['display_category']) && $atts['display_category'] == 'on' ? true : false; $parent_category = isset($atts['display_category_parent']) && $atts['display_category_parent'] == 'on' ? true : false; $boolean_field = isset($atts['boolean']) ? $atts['boolean'] : false; $hasError = false; //PROCESS ALL STRINGS TO BE TRANSLATED //Process all strings for translation $tt_label_name = tts__($tt_label_name,'ttshowcase'); $tt_label_subtitle = tts__($tt_label_subtitle,'ttshowcase'); $tt_label_url = tts__($tt_label_url,'ttshowcase'); $tt_label_testimonial = tts__($tt_label_testimonial,'ttshowcase'); $tt_label_long_testimonial = tts__($tt_label_long_testimonial,'ttshowcase'); $tt_label_rating = tts__($tt_label_rating,'ttshowcase'); $tt_label_email = tts__($tt_label_email,'ttshowcase'); $tt_confirmation_text = tts__($tt_confirmation_text,'ttshowcase'); $tt_error_text = tts__($tt_error_text,'ttshowcase'); $tt_submit_label = tts__($tt_submit_label,'ttshowcase'); $tt_review_title_label = tts__($tt_review_title_label,'ttshowcase'); $tt_image_label = tts__($tt_image_label,'ttshowcase'); $tt_star_label_singular = tts__($tt_star_label_singular,'ttshowcase'); $tt_star_label_plural = tts__($tt_star_label_plural,'ttshowcase'); $tt_verification_label = tts__($tt_verification_label,'ttshowcase'); $tt_category_label = tts__($tt_category_label,'ttshowcase'); $tt_loggedonly_text = tts__($tt_loggedonly_text,'ttshowcase'); $tt_boolean_label = tts__($tt_boolean_label,'ttshowcase'); $tt_mandatory = str_replace(' ', '', $tt_mandatory); $mandatory = explode(',',$tt_mandatory); $tt_mandatory_append = '<span class="tt_required">'.$tt_mandatory_append.'</span>'; //Add mandatory append to labels //name if(in_array('name', $mandatory)) { $tt_label_name .= $tt_mandatory_append; } if(in_array('email', $mandatory)) { $tt_label_email .= $tt_mandatory_append; } if(in_array('url', $mandatory)) { $tt_label_url .= $tt_mandatory_append; } if(in_array('subtitle', $mandatory)) { $tt_label_subtitle .= $tt_mandatory_append; } if(in_array('testimonial', $mandatory)) { $tt_label_testimonial .= $tt_mandatory_append; } if(in_array('rating', $mandatory)) { $tt_label_rating .= $tt_mandatory_append; } if(in_array('image', $mandatory)) { $tt_image_label .= $tt_mandatory_append; } if(in_array('testimonial_title', $mandatory)) { $tt_review_title_label .= $tt_mandatory_append; } if(in_array('yes_or_no', $mandatory)) { $tt_boolean_label .= $tt_mandatory_append; } if(in_array('long_testimonial', $mandatory)) { $tt_label_long_testimonial .= $tt_mandatory_append; } if(isset($_POST['tt_submitted']) && isset($_POST['post_nonce_field']) && wp_verify_nonce($_POST['post_nonce_field'], 'post_nonce')) { //make field mandatory //possible options in array: name, email, url, subtitle, title, testimonial, rating, image //$mandatory = array('name', 'email', 'url', 'subtitle', 'title', 'testimonial', 'rating', 'image' ); //ERROR HANDLING //honeypot spam prevention if($tt_honeypot) { if(isset($_POST['tt_hp_email_mandatory']) && $_POST['tt_hp_email_mandatory'] != '') { $hasError = true; $tt_error_text .= '<p>'.tts__(' Not human maybe? Try reloading the page and fill out the form manually','ttshowcase').'</p>'; } } if($verification) { if((!is_user_logged_in()) || (is_user_logged_in() && $tt_human_verification_logged)) { if(!isset($_POST['hverification']) || !isset($_POST['hval']) || md5(strtoupper($_POST['hverification'])) != $_POST['hval']) { $hasError = true; $verificationerror = tts__($tt_error_human,'ttshowcase'); } } } //check if author/title has a value if(in_array('name',$mandatory) && isset($_POST['postTitle']) && trim($_POST['postTitle']) === '') { $posttitleerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } else { $postTitle = trim($_POST['postTitle']); } //make testimonials text mandatory if(in_array('testimonial',$mandatory) && isset($_POST['_aditional_info_short_testimonial']) && trim($_POST['_aditional_info_short_testimonial']) === '') { $testimonialerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } if(in_array('long_testimonial',$mandatory) && isset($_POST['_aditional_info_long_testimonial']) && trim($_POST['_aditional_info_long_testimonial']) === '') { $longtestimonialerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } if(in_array('email',$mandatory) && $email_on && ((trim($_POST['_aditional_info_email']) === '') || !cmshowcase_check_email($_POST['_aditional_info_email']) ) ) { //if(in_array('email',$mandatory) && $email_on && (trim($_POST['_aditional_info_email']) === '')) { $emailerror = tts__($tt_error_email,'ttshowcase'); $hasError = true; } //make images mandatory if($image_on && in_array('image',$mandatory) && !file_exists($_FILES['featured_image']['tmp_name'])) { $imageerror = tts__($tt_error_image,'ttshowcase'); $hasError = true; } //make testimonial title mandatory if(in_array('testimonial_title',$mandatory) && isset($_POST['_aditional_info_review_title']) && trim($_POST['_aditional_info_review_title']) === '') { $testimonialtitleerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } //make subtitle mandatory if(in_array('subtitle',$mandatory) && isset($_POST['_aditional_info_name']) && trim($_POST['_aditional_info_name']) === '') { $aditionalinfoerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } //make URL mandatory if(in_array('url',$mandatory) && isset($_POST['_aditional_info_url']) && trim($_POST['_aditional_info_url']) === '') { $urlerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } //make rating mandatory if(in_array('rating',$mandatory) && $rating_on != false && !isset($_POST['_aditional_info_rating']) ) { $ratingerror = tts__($tt_error_generic,'ttshowcase'); $hasError = true; } //make boolean Yes/No mandatory - yes should be selected if(in_array('yes_or_no',$mandatory) && $boolean_field != false && !isset($_POST['_aditional_info_custom_boolean']) ) { $booleanerror = tts__($tt_error_boolean,'ttshowcase'); $hasError = true; } $post_information = array( 'post_title' => esc_attr(strip_tags($_POST['postTitle'])), 'post_type' => 'ttshowcase', 'post_status' => $tt_post_status, //'post_name' => ); if(isset($_POST['_aditional_info_long_testimonial'])) { $post_information['post_content'] = esc_attr($_POST['_aditional_info_long_testimonial']); } if(!$hasError) { //check if it was already submitted with $post_id = wp_insert_post($post_information); if($post_id) { //add featured image if($image_on && isset($_FILES)) { require_once (ABSPATH.'/wp-admin/includes/media.php'); require_once (ABSPATH.'/wp-admin/includes/file.php'); require_once (ABSPATH.'/wp-admin/includes/image.php'); $attachmentId = media_handle_upload('featured_image', $post_id); set_post_thumbnail($post_id, $attachmentId); unset($_FILES); if ( is_wp_error($attachmentId) ) { $errors['upload_error'] = $attachmentId; $id = false; } if (isset($errors)) { //image not uploaded } } //add category if(isset($_POST['tt_taxonomy'])) { $cat_entry = trim($_POST['tt_taxonomy']); //if is the taxonomy dropdown, the ids will be sent so we need to convert them to intengers if(is_numeric($cat_entry)) { $cat_entry = intval($cat_entry); } if($_POST['tt_taxonomy']=='{current_page_slug}') { $slug = basename(get_permalink()); //for taxonomies - still needs to be reviewed //$slug = basename("http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]); $cat_entry = $slug; } if($_POST['tt_taxonomy']=='{current_page_id}') { //in this case we create the category first, so it's easier to identify $new_taxonomy = get_term_by('slug', $_POST['tt_page_id'], 'ttshowcase_groups'); //if it doesn't exist, we create the entry first if(!$new_taxonomy) { $new_t_title = get_the_title($_POST['tt_page_id']); $new_t_slug = $_POST['tt_page_id']; wp_insert_term( $new_t_title, // the term 'ttshowcase_groups', // the taxonomy array( 'slug' => $new_t_slug, 'description' => get_permalink() ) ); } $cat_entry = $_POST['tt_page_id']; } wp_set_object_terms($post_id,$cat_entry,'ttshowcase_groups'); } //Code to add custom taxonomies //first we check if there's any custom taxonomy global $ttshowcase_options; if(count($ttshowcase_options['taxonomies'])>1) { foreach ($ttshowcase_options['taxonomies'] as $identifier => $data) { if($identifier=='groups') { continue; } if(isset($data['force_form']) && $data['force_form'] && taxonomy_exists('ttshowcase_'.$identifier) && isset($_POST['ttshowcase_'.$identifier])) { wp_set_object_terms($post_id,intval($_POST['ttshowcase_'.$identifier]),'ttshowcase_'.$identifier); } } } // Update Custom Meta if(isset($_POST['_aditional_info_name'])) { update_post_meta($post_id, '_aditional_info_name', esc_attr(strip_tags($_POST['_aditional_info_name']))); } if(isset($_POST['_aditional_info_url'])) { update_post_meta($post_id, '_aditional_info_url', esc_attr(strip_tags($_POST['_aditional_info_url']))); } if(isset($_POST['_aditional_info_email'])) { update_post_meta($post_id, '_aditional_info_email', esc_attr(strip_tags($_POST['_aditional_info_email']))); } if(isset($_POST['_aditional_info_review_title'])) { update_post_meta($post_id, '_aditional_info_review_title', esc_attr(strip_tags($_POST['_aditional_info_review_title']))); } if(isset($_POST['_aditional_info_short_testimonial'])) { update_post_meta($post_id, '_aditional_info_short_testimonial', esc_attr(strip_tags($_POST['_aditional_info_short_testimonial']))); } if(isset($_POST['_aditional_info_rating'])) { update_post_meta($post_id, '_aditional_info_rating', esc_attr(strip_tags($_POST['_aditional_info_rating']))); } if(isset($_POST['_aditional_info_custom_boolean'])) { update_post_meta($post_id, '_aditional_info_custom_boolean', esc_attr(strip_tags($_POST['_aditional_info_custom_boolean']))); } if(!isset($_POST['_aditional_info_custom_boolean'])) { update_post_meta($post_id, '_aditional_info_custom_boolean', 'false'); } //Filter the submission with Akismet before sending notification email $send_email = true; if(defined('AKISMET_VERSION')) { if($tt_akismet) { require_once dirname(__FILE__) . '/Akismet.class.php'; if(null !== get_option('wordpress_api_key')) { $akismet = new tt_Akismet(get_site_url(), get_option('wordpress_api_key')); if($akismet->isKeyValid()) { $akismet->setCommentAuthor($_POST['postTitle']); if(isset($_POST['_aditional_info_email'])) { $akismet->setCommentAuthorEmail($_POST['_aditional_info_email']); } if(isset($_POST['_aditional_info_url'])) { $akismet->setCommentAuthorURL($_POST['_aditional_info_url']); } if(isset($_POST['_aditional_info_short_testimonial'])) { $akismet->setCommentContent($_POST['_aditional_info_short_testimonial']); } $akismet->setPermalink(get_permalink($post_id)); if($akismet->isCommentSpam()) { $send_email = false; wp_update_post(array( 'ID' => $post_id, 'post_status' => 'trash', 'post_title' => '[SPAM?] '.$_POST['postTitle'] )); } } } } } //Send Email if($tt_confirmation_email_on=='on' && $send_email) { $url = admin_url( 'post.php?post='.$post_id.'&action=edit'); $title = $postTitle; $text = sanitize_text_field($_POST['_aditional_info_short_testimonial']); $rating = isset($_POST['_aditional_info_rating']) ? sanitize_text_field($_POST['_aditional_info_rating']) : ''; $boolean = isset($_POST['_aditional_info_custom_boolean']) ? sanitize_text_field($_POST['_aditional_info_custom_boolean']) : ''; $taxonomy = ''; $email = isset($_POST['_aditional_info_email']) ? sanitize_text_field($_POST['_aditional_info_email']) : ''; $taxs = get_post_taxonomies( $post_id ); foreach ($taxs as $key => $value) { $tax = get_taxonomy( $value ); $term_list = wp_get_post_terms($post_id, $value, array("fields" => "names")); //print_r($term_list); $current = ''; foreach ($term_list as $tkey => $tvalue) { if($current!=$value) { $taxonomy .= $tax->labels->name.': '.$tvalue; $current = $value; } else { $taxonomy .= ', '.$tvalue; } } $taxonomy .= '<br>'; } //template tags /* {title} - Name of entry author {admin_url} - Link to the edit and approval page for this entry {text} - Entry submitted text {rating} - Rating for this entry {boolean} - Yes/No field {email} - Email {taxonomy} - Categories */ $template_search = array('{title}','{admin_url}','{text}','{rating}','{boolean}','{taxonomy}','{email}'); $template_replace = array($title,$url,$text,$rating,$boolean,$taxonomy,$email); $message_subject = str_replace($template_search,$template_replace, $tt_email_subject); $message_body = str_replace($template_search,$template_replace, $tt_email_body); $headers[] = 'Content-type: text/html'; $send_email = wp_mail( $tt_confirmation_email, $message_subject, nl2br($message_body) ,$headers); } if($send_email) { //email was sent } // Redirect if($tt_confirmation_url!='') { wp_redirect( $tt_confirmation_url ); exit; } else { if($tt_force_redirect) { global $wp; $current_url = home_url(add_query_arg(array( 'ttform' => 'success#ttform'),$wp->request)); wp_redirect( $current_url ); exit; } else { $form_html .= '<div class="ttshowcase_confirmation">'.do_shortcode($tt_confirmation_text).'</div>'; } } } } } if(isset($_GET['ttform'])) { $form_html .= '<div class="ttshowcase_confirmation">'.do_shortcode($tt_confirmation_text).'</div>'; } if(!isset($_POST['tt_submitted']) || (isset($_POST['tt_submitted']) && $hasError)) { $html_array = array(); if($logged_on) { if(is_user_logged_in()) { $current_user = wp_get_current_user(); } else { $logged_on = false; } } $form_type = ''; if($image_on) { $form_type = 'enctype="multipart/form-data"'; } $form_html .= ' <!-- #primary BEGIN --> <div class="ttshowcase_form_wrap">'; if($hasError) { $form_html .= '<div class="ttshowcase_form_error">'; $form_html .= do_shortcode($tt_error_text); $form_html .= '</div>'; } $tt_action = 'action="#ttform" method="POST"'; if($tt_ajax) { $tt_action = 'onsubmit="tt_ajax_form(); return false;"'; } $form_html .= ' <form '.$tt_action.' id="ttshowcase_form" class="'.$style.'" '.$form_type.'>'; if(!$logged_on) { $name_form_html = ''; $name_form_html .= '<fieldset> <label for="postTitle">'.$tt_label_name.'</label> <input type="text" name="postTitle" id="postTitle" value="'; if(isset($_POST['postTitle'])) { $name_form_html .= $_POST['postTitle']; } $name_form_html .= '" class="required" />'; if ( isset($posttitleerror) && $posttitleerror != '' ) { $name_form_html .= '<span class="error">'.$posttitleerror.'</span> <div class="clearfix"></div>'; } $name_form_html .= '</fieldset>'; $html_array['name'] = $name_form_html; } if($logged_on) { $name_form_html = ''; $name_form_html .= ' <fieldset> <label for="postTitle">'.$tt_label_name.'</label> <input type="text" name="postTitle" id="postTitle" value="'.$current_user->display_name.'" class="required" readonly /> </fieldset>'; $html_array['name'] = $name_form_html; } if($subtitle_on) { $subtitle_form_html = ''; $subtitle_form_html .= '<fieldset> <label for="_aditional_info_name">'.$tt_label_subtitle.'</label> <input type="text" name="_aditional_info_name" id="_aditional_info_name" value="'; if($logged_on && isset($current_user->billing_company) && $current_user->billing_company!='' && !isset($_POST['_aditional_info_name']) ) { $subtitle_form_html .= $current_user->billing_company; } if(isset($_POST['_aditional_info_name'])) { $subtitle_form_html .= $_POST['_aditional_info_name']; } $subtitle_form_html .= '" />'; if ( isset($aditionalinfoerror) && $aditionalinfoerror != '' ) { $subtitle_form_html .= '<span class="error">'.$aditionalinfoerror.' <div class="clearfix"></div>'; } $subtitle_form_html .= '</fieldset>'; $html_array['subtitle'] = $subtitle_form_html; /* Custom Made Drop Down $form_html .= '<fieldset> <label for="_aditional_info_name">'.$tt_label_subtitle.'</label> <select class="regular" name="_aditional_info_name" id="_aditional_info_name">'; $tt_curr_selected = isset($_POST['_aditional_info_name']) ? $_POST['_aditional_info_name'] : null; $form_html .= '<option value="Selling" '. selected($tt_curr_selected, 'Selling' , false).' >Selling</option>'; $form_html .= '<option value="Purchasing" '. selected($tt_curr_selected, 'Selling' , false).' >Purchasing</option>'; $form_html .= '<option value="Staging" '. selected($tt_curr_selected, 'Staging' , false).' >Staging</option>'; $form_html .= '</select> </fieldset> ';*/ } if($subtitle_url_on) { $url_form_html = ''; $url_form_html .= ' <fieldset> <label for="_aditional_info_url">'.$tt_label_url.'</label> <input type="text" name="_aditional_info_url" id="_aditional_info_url" value="'; if($logged_on && $current_user->user_url!='' && !isset($_POST['_aditional_info_url'])) { $url_form_html .= $current_user->user_url; } if(isset($_POST['_aditional_info_url'])) { $url_form_html .= $_POST['_aditional_info_url']; } $url_form_html .= '" />'; if ( isset($urlerror) && $urlerror != '' ) { $url_form_html .= '<span class="error">'.$urlerror.' <div class="clearfix"></div>'; } $url_form_html .= '</fieldset>'; $html_array['url'] = $url_form_html; } if($image_on) { $image_form_html = ''; $image_form_html .= ' <fieldset> <label for="featured_image">'.$tt_image_label.'</label> <input type="file" name="featured_image" id="featured_image"'; if(isset($_POST['featured_image'])) $image_form_html .= ' value="'.$_POST['featured_image'].'"'; $image_form_html .= '/>'; if ( isset($imageerror) && $imageerror != '' ) { $image_form_html .= '<div class="clearfix"></div><span class="error">'.$imageerror.' </span><div class="clearfix"></div>'; } $image_form_html .='</fieldset>'; $html_array['image'] = $image_form_html; //$html_array['image'] = '<fieldset><div style="display:inline-block; width:26%;">Votre Photo</div><label class="fusion-button button-flat button-pill button-small button-default button-41 btn-file"> Parcourir <input name="featured_image" id="featured_image" type="file" style="display:none;"> </label></fieldset>'; } if($r_title_on) { $title_form_html = ''; $title_form_html .= ' <fieldset> <label for="_aditional_info_review_title">'.$tt_review_title_label.'</label> <input type="text" name="_aditional_info_review_title" id="_aditional_info_review_title" value="'; if(isset($_POST['_aditional_info_review_title'])) $title_form_html .= $_POST['_aditional_info_review_title']; $title_form_html .= '" />'; if ( isset($testimonialtitleerror ) && $testimonialtitleerror != '' ) { $title_form_html .= '<span class="error">'.$testimonialtitleerror.' </span><div class="clearfix"></div>'; } $title_form_html .= '</fieldset>'; $html_array['testimonialTitle'] = $title_form_html; } if($rating_on == 'on') { $rating_form_html = ''; $rating_form_html .= '<fieldset> <label for="_aditional_info_rating">'.$tt_label_rating.'</label> <select class="regular" name="_aditional_info_rating" id="_aditional_info_rating">'; $tt_curr_selected = isset($_POST['_aditional_info_rating']) ? $_POST['_aditional_info_rating'] : $tt_initial_rating; $rating_form_html .= '<option value="5" '. selected($tt_curr_selected, 5 , false).' >5 '.$tt_star_label_plural.'</option>'; $rating_form_html .= '<option value="4" '. selected($tt_curr_selected, 4 , false).' >4 '.$tt_star_label_plural.'</option>'; $rating_form_html .= '<option value="3" '. selected($tt_curr_selected, 3 , false).' >3 '.$tt_star_label_plural.'</option>'; $rating_form_html .= '<option value="2" '. selected($tt_curr_selected, 2 , false).' >2 '.$tt_star_label_plural.'</option>'; $rating_form_html .= '<option value="1" '. selected($tt_curr_selected, 1 , false).' >1 '.$tt_star_label_singular.'</option>'; $rating_form_html .= '</select> </fieldset> '; $html_array['rating'] = $rating_form_html; } if($rating_on == 'hover') { $rating_form_html = ''; wp_register_style( 'tthoverrating', plugins_url( 'hover-rating.css', __FILE__ ) ); wp_enqueue_style( 'tthoverrating' ); wp_register_style( 'tt-font-awesome', plugins_url( 'resources/font-awesome/css/font-awesome.min.css', dirname(__FILE__) ) ); wp_enqueue_style( 'tt-font-awesome' ); $tt_curr_selected = isset($_POST['_aditional_info_rating']) ? $_POST['_aditional_info_rating'] : $tt_initial_rating; $rating_form_html .= ' <fieldset> <label for="_aditional_info_rating">'.$tt_label_rating.'</label> <div class="tt_rating"> <input type="radio" '.checked( $tt_curr_selected, 5, false ).' name="_aditional_info_rating" id="_aditional_info_rating_5" value="5" /><label for="_aditional_info_rating_5" title="5 '.$tt_star_label_plural.'"><i class="fa fa-star"></i></label> <input type="radio" '.checked( $tt_curr_selected, 4, false ).' name="_aditional_info_rating" id="_aditional_info_rating_4" value="4" /><label for="_aditional_info_rating_4" title="4 '.$tt_star_label_plural.'"><i class="fa fa-star"></i></label> <input type="radio" '.checked( $tt_curr_selected, 3, false ).' name="_aditional_info_rating" id="_aditional_info_rating_3" value="3" /><label for="_aditional_info_rating_3" title="3 '.$tt_star_label_plural.'"><i class="fa fa-star"></i></label> <input type="radio" '.checked( $tt_curr_selected, 2, false ).' name="_aditional_info_rating" id="_aditional_info_rating_2" value="2" /><label for="_aditional_info_rating_2" title="2 '.$tt_star_label_plural.'"><i class="fa fa-star"></i></label> <input type="radio" '.checked( $tt_curr_selected, 1, false ).' name="_aditional_info_rating" id="_aditional_info_rating_1" value="1" /><label for="_aditional_info_rating_1" title="1 '.$tt_star_label_singular.'"><i class="fa fa-star"></i></label> </div>'; $rating_form_html .= '</fieldset>'; if ( isset($ratingerror ) && $ratingerror != '' ) { $rating_form_html .= '<span class="error">'.$ratingerror.' </span><div class="clearfix"></div>'; } $html_array['rating'] = $rating_form_html; } $testimonial_form_html = ''; $testimonial_form_html .= ' <fieldset> <label for="_aditional_info_short_testimonial">'.$tt_label_testimonial.'</label> <textarea name="_aditional_info_short_testimonial" id="_aditional_info_short_testimonial" rows="8" cols="30">'; if(isset($_POST['_aditional_info_short_testimonial'])) { if(function_exists('stripslashes')) { $testimonial_form_html .= stripslashes($_POST['_aditional_info_short_testimonial']); } else { $testimonial_form_html .= $_POST['_aditional_info_short_testimonial']; } } $testimonial_form_html .='</textarea>'; if ( isset($testimonialerror) && $testimonialerror != '' ) { $testimonial_form_html .= '<span class="error">'.$testimonialerror.'</span> <div class="clearfix"></div>'; } $testimonial_form_html .='</fieldset>'; $html_array['testimonial'] = $testimonial_form_html; if($long_testimonial_on) { $long_testimonial_form_html = ''; $long_testimonial_form_html .= ' <fieldset> <label for="_aditional_info_long_testimonial">'.$tt_label_long_testimonial.'</label> <textarea name="_aditional_info_long_testimonial" id="_aditional_info_long_testimonial" rows="8" cols="30">'; if(isset($_POST['_aditional_info_long_testimonial'])) { if(function_exists('stripslashes')) { $long_testimonial_form_html .= stripslashes($_POST['_aditional_info_long_testimonial']); } else { $long_testimonial_form_html .= $_POST['_aditional_info_long_testimonial']; } } $long_testimonial_form_html .='</textarea>'; if ( isset($longtestimonialerror) && $longtestimonialerror != '' ) { $long_testimonial_form_html .= '<span class="error">'.$longtestimonialerror.'</span> <div class="clearfix"></div>'; } $long_testimonial_form_html .='</fieldset>'; $html_array['longTestimonial'] = $long_testimonial_form_html; } if($email_on && !$logged_on) { $email_form_html = ''; $email_form_html .= ' <fieldset> <label for="_aditional_info_email">'.$tt_label_email.'</label> <input type="text" name="_aditional_info_email" id="_aditional_info_email" value="'; if(isset($_POST['_aditional_info_email'])) { $email_form_html .= $_POST['_aditional_info_email']; } $email_form_html .= '" />'; if ( isset($emailerror) && $emailerror != '' ) { $email_form_html .= '<span class="error">'.$emailerror.' <div class="clearfix"></div>'; } $email_form_html .= ' </fieldset>'; $html_array['email'] = $email_form_html; } if($email_on && $logged_on) { $email_form_html = ''; $email_form_html .= ' <fieldset> <label for="_aditional_info_email">'.$tt_label_email.'</label> <input type="text" name="_aditional_info_email" id="_aditional_info_email" value="'.$current_user->user_email.'" readonly /> </fieldset>'; $html_array['email'] = $email_form_html; } if($tt_honeypot) { $form_html .= '<input name="tt_hp_email_mandatory" type="email" id="tt_hp_email_mandatory" value="" />'; } if($boolean_field == 'on') { global $ttshowcase_options; $bool_opt = $ttshowcase_options['meta_boxes']['aditional_info']['fields']['custom_boolean']['options']; $yesno_form_html = ''; $yesno_form_html .= '<fieldset> <label for="_aditional_info_custom_boolean">'.$tt_boolean_label.'</label> <select class="regular" name="_aditional_info_custom_boolean" id="_aditional_info_custom_boolean">'; $tt_curr_selected = isset($_POST['_aditional_info_custom_boolean']) ? $_POST['_aditional_info_custom_boolean'] : null; foreach ($bool_opt as $key => $value) { $yesno_form_html .= '<option value="'.$key.'" '. selected($tt_curr_selected, $key , false).' >'.tts__($value,'ttshowcase').'</option>'; } $yesno_form_html .= '</select>'; if ( isset($booleanerror) && $booleanerror != '' ) { $yesno_form_html .= '<span class="error">'.$booleanerror.'</span> <div class="clearfix"></div>'; } $yesno_form_html .= '</fieldset> '; $html_array['yesOrNo'] = $yesno_form_html; } //boolean checkbox if($boolean_field == 'checkbox') { global $ttshowcase_options; $bool_opt = $ttshowcase_options['meta_boxes']['aditional_info']['fields']['custom_boolean']['options']; $yesno_form_html = ''; $yesno_form_html .= '<fieldset>'; $tt_curr_selected = isset($_POST['_aditional_info_custom_boolean']) ? 'checked' : ''; $yesno_form_html .= '<input type="checkbox" value="true" name="_aditional_info_custom_boolean" id="_aditional_info_custom_boolean" '.$tt_curr_selected.'>'; $yesno_form_html .= '<label style="width:100%;" for="_aditional_info_custom_boolean">'.$tt_boolean_label.'</label>'; if ( isset($booleanerror) && $booleanerror != '' ) { $yesno_form_html .= '<span class="error">'.$booleanerror.'</span> <div class="clearfix"></div>'; } $yesno_form_html .='</fieldset>'; $html_array['yesOrNo'] = $yesno_form_html; } if($verification == 'on') { if( !is_user_logged_in() || ( is_user_logged_in() && ($tt_human_verification_logged || is_admin() ) ) ) { $one = rand(50, 90); $two = rand(1, 9); $result = md5($one + $two); $verification_form_html = ''; $verification_form_html .= ' <fieldset> <label for="hverification">'.$tt_verification_label.'</label> '.$one.' + '.$two.' = <input type="text" style="width:30px;" name="hverification" id="hverification" value="" /> <input type="hidden" name="hval" id="hval" value="'.$result.'" />'; if (isset($verificationerror) && $verificationerror != '' ) { $verification_form_html .= '<div class="clearfix"></div><span class="error">'.$verificationerror.'</span> <div class="clearfix"></div>'; } $verification_form_html .= '</fieldset>'; $html_array['humanVerification'] = $verification_form_html; } } if($verification == 'captcha') { if( !is_user_logged_in() || ( is_user_logged_in() && ($tt_human_verification_logged || is_admin() ) ) ) { $one = rand(50, 90); $two = rand(1, 9); $result = md5($one + $two); $image_key = tt_create_image($result); $word = $image_key['word']; $image_ash = $image_key['image']; $img_url = "data:image/png;base64,".$image_ash; $verification_form_html = ''; $verification_form_html .= ' <fieldset> <label for="captcha">'.$tt_verification_label.'</label> <input type="text" class="tt_cap_input" name="hverification" id="hverification" value="" /> <img class="tt_capimg" src="'.$img_url.'"> <input type="hidden" name="hval" id="hval" value="'.$word.'" /> </fieldset>'; if ( isset($verificationerror) && $verificationerror != '' ) { $verification_form_html .= '<span class="error">'.$verificationerror.'</span> <div class="clearfix"></div>'; } $html_array['humanVerification'] = $verification_form_html; } } if($category) { $category_form_html = ''; $category_form_html .= '<fieldset> <label for="tt_taxonomy">'.$tt_category_label.'</label> '; $args = array( 'echo' => false, 'taxonomy' => 'ttshowcase_groups', 'hide_empty' => false, 'name' => 'tt_taxonomy', 'id' => 'tt_taxonomy', 'orderby' => 'SLUG', 'order' => 'ASC' ); if($parent_category) { $args['hierarchical'] = true; $args['depth'] = 1; } if($taxonomy_on){ $tax_id = get_term_by('slug', $atts['taxonomy'], 'ttshowcase_groups'); if($tax_id){ $args['selected'] = $tax_id->term_id; } } $dropdown = wp_dropdown_categories( $args ); $category_form_html .= $dropdown; $category_form_html .= '</fieldset>'; $html_array['category'] = $category_form_html; } //CUSTOM TAXONOMY FETCHING global $ttshowcase_options; if(count($ttshowcase_options['taxonomies'])>1) { $html_array['customTax'] = ''; $custom_tax_form_html = ''; foreach ($ttshowcase_options['taxonomies'] as $identifier => $data) { if($identifier=='groups') { continue; } if(isset($data['force_form']) && $data['force_form'] && taxonomy_exists('ttshowcase_'.$identifier)) { $tax = get_taxonomy('ttshowcase_'.$identifier); $custom_tax_form_html .= '<fieldset> <label for="tt_custom_taxonomy">'.$tax->labels->name.'</label> '; $args = array( 'echo' => false, 'taxonomy' => 'ttshowcase_'.$identifier, 'hide_empty' => false, 'name' => 'ttshowcase_'.$identifier, 'id' => 'ttshowcase_'.$identifier, 'orderby' => 'NAME', 'order' => 'ASC' ); $dropdown = wp_dropdown_categories( $args ); $custom_tax_form_html .= $dropdown; $custom_tax_form_html .= '</fieldset>'; } } $html_array['customTax'] .= $custom_tax_form_html; } //To order the fields $field_order = explode(',',$tt_fields_order); foreach ($field_order as $field_key) { if(isset($html_array[$field_key])) { $form_html .= $html_array[$field_key]; } } //$form_html .= print_r(explode(',',$tt_fields_order)); /*global $ts_content_order; foreach ($ts_content_order as $info) { if(isset($info_array[$info])) { $html.=$info_array[$info]; } } */ //$form_html .= '<fieldset>'; $form_html .= wp_nonce_field('post_nonce', 'post_nonce_field',true,false); //get the post id $this_post = get_post(); if(is_object($this_post)) { $current_page_id = $this_post->ID; } else { $current_page_id = 'null'; } $form_html .= '<input type="hidden" name="tt_page_id" id="tt_page_id" value="'.$current_page_id.'" />'; if($taxonomy_on && !$category) { $form_html .= '<input id="tt_taxonomy" name="tt_taxonomy" type="hidden" value="'.$atts['taxonomy'].'">'; } $form_html .= '<input type="hidden" name="tt_atts" id="tt_atts" value="'.base64_encode(json_encode($atts)).'">'; $form_html .= '<input type="hidden" name="tt_submitted" id="tt_submitted" value="true" />'; $form_html .= '<button type="submit" class="tt_form_button">'.$tt_submit_label.'</button>'; //$form_html .= '</fieldset>'; $form_html .= '</form>'; $form_html .= '</div><!-- #primary END -->'; if($logged_only) { if ( ! is_user_logged_in() ) { $form_html = $tt_loggedonly_text; } } } /* Temp fix for swipeTouch issue. Uncomment if needed */ // $form_html .= '<script>jQuery(document).ready(function(){jQuery("#ttshowcase_form input").click(function(){this.focus()}),jQuery("#ttshowcase_form textarea").click(function(){this.focus()})});</script>'; /* End Temp Fix */ return do_shortcode($form_html); } function tt_create_image($ash) { global $tt_image; $tt_image = imagecreatetruecolor(150, 26) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($tt_image, 255, 255, 255); $text_color = imagecolorallocate($tt_image, 0, 255, 255); $line_color = imagecolorallocate($tt_image, 64, 64, 64); $pixel_color = imagecolorallocate($tt_image, 150, 150, 200); imagefilledrectangle($tt_image, 0, 0, 180, 26, $background_color); for ($i = 0; $i < 3; $i++) { imageline($tt_image, 0, rand() % 26, 180, rand() % 26, $line_color); } for ($i = 0; $i < 1000; $i++) { imagesetpixel($tt_image, rand() % 180, rand() % 26, $pixel_color); } $letters = 'ABCDEFGHIJKMNPQRTUVWXY346789'; $len = strlen($letters); $letter = $letters[rand(0, $len - 1)]; $text_color = imagecolorallocate($tt_image, 0, 0, 0); $word = ""; for ($i = 0; $i < 6; $i++) { $letter = $letters[rand(0, $len - 1)]; imagestring($tt_image, 5, 5 + ($i * 26), 10, $letter, $text_color); $word .= strtoupper($letter); } ob_start(); imagepng($tt_image); // Capture the output $imagedata = ob_get_contents(); // Clear the output buffer ob_end_clean(); imagedestroy($tt_image); $array_image = array(); $array_image['image'] = base64_encode($imagedata); $array_image['word'] = md5($word); return $array_image; } // In Development add_action('wp_ajax_nopriv_ttshowcase_ajax_form', 'ttshowcase_ajax_form_submit'); add_action('wp_ajax_ttshowcase_ajax_form', 'ttshowcase_ajax_form_submit'); function ttshowcase_ajax_form_submit() { //Process data submitted $atts = isset($_POST['tt_atts']) ? json_decode(base64_decode($_POST['tt_atts']),true) : array(); echo ttshowcase_build_form($atts,$_POST); exit(); } ?>