nlozovan

Untitled

May 6th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. <?php
  2. // the shortcode
  3. function vscf_shortcode($atts) {
  4. extract(shortcode_atts(array(
  5. "email" => get_bloginfo('admin_email'),
  6. "subject" => '',
  7. "label_name" => __('Name', 'verysimple') ,
  8. "label_email" => __('Email', 'verysimple') ,
  9. "label_subject" => __('Subject', 'verysimple') ,
  10. "label_message" => __('Message', 'verysimple') ,
  11. "label_submit" => __('Submit', 'verysimple') ,
  12. "error_empty" => __("Please fill in all the required fields", "verysimple"),
  13. "error_form_name" => __('Please enter at least 3 characters', 'verysimple') ,
  14. "error_form_subject" => __('Please enter at least 3 characters', 'verysimple') ,
  15. "error_form_message" => __('Please enter at least 10 characters', 'verysimple') ,
  16. "error_email" => __("Please enter a valid email", "verysimple"),
  17. "success" => __("Thanks for your message! I will contact you as soon as I can.", "verysimple"),
  18. ), $atts));
  19.  
  20. if (($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['form_send']) ) {
  21.  
  22. // get posted data and sanitize them
  23. $post_data = array(
  24. 'form_name' => vscf_clean_input (sanitize_text_field($_POST['form_name'])),
  25. 'email' => sanitize_email($_POST['email']),
  26. 'form_subject' => vscf_clean_input (sanitize_text_field($_POST['form_subject'])),
  27. 'form_message' => vscf_clean_input (sanitize_text_field($_POST['form_message']))
  28. );
  29.  
  30. $error = false;
  31. $required_fields = array("form_name", "email", /*"form_subject",*/ "form_message");
  32.  
  33. foreach ($required_fields as $required_field) {
  34. $value = stripslashes(trim($post_data[$required_field]));
  35.  
  36. // displaying error message if validation failed for each input field
  37. if(((($required_field == "form_name") || ($required_field == "form_subject")) && strlen($value)<3) ||
  38. (($required_field == "form_message") && strlen($value)<10) || empty($value)) {
  39. $error_class[$required_field] = "error";
  40. $error_msg[$required_field] = ${"error_".$required_field};
  41. $error = true;
  42. $result = $error_empty;
  43. }
  44. $form_data[$required_field] = $value;
  45. }
  46.  
  47.  
  48. // sending email to admin
  49. if ($error == false) {
  50. $email_subject = "[" . get_bloginfo('name') . "] " . $form_data['form_subject'];
  51. $email_message = $form_data['form_message'] . "\n\nIP: " . vscf_get_the_ip();
  52. $headers = "From: ".$form_data['form_name']." <".$form_data['email'].">\n";
  53. $headers .= "Content-Type: text/plain; charset=UTF-8\n";
  54. $headers .= "Content-Transfer-Encoding: 8bit\n";
  55. wp_mail($email, $email_subject, $email_message, $headers);
  56. $result = $success;
  57. $sent = true;
  58. }
  59. }
  60.  
  61. // message
  62. if($result != "") {
  63. $info .= '<div class="info">'.$result.'</div>';
  64. }
  65.  
  66. $pat_name = __('Name', 'verysimple');
  67. $pat_mail = __('Your e-mail or phone', 'verysimple');
  68. $pat_phone = __('Message', 'verysimple');
  69.  
  70. // the contact form with error messages
  71. $email_form = '<form class="cnicu vscf" id="vscf" method="post" action="">
  72. <div>
  73. <label for="vscf_name">'.$label_name.': <span class="error '.((isset($error_class['form_name']))?"":" hide").'" >'.$error_form_name.'</span></label>
  74. <input type="text" placeholder="' . $pat_name . '" name="form_name" id="vscf_name" class="'.$error_class['form_name'].'" maxlength="50" value="'.$form_data['form_name'].'" />
  75. </div>
  76. <div>
  77. <label for="vscf_email">'.$label_email.': <span class="error '.((isset($error_class['email']))?"":" hide").'" >'.$error_email.'</span></label>
  78. <input type="text" placeholder="' . $pat_mail . '" name="email" id="vscf_email" class="'.$error_class['email'].'" maxlength="50" value="'.$form_data['email'].'" />
  79. </div>
  80. <div>
  81. <label for="vscf_subject">'.$label_subject.': <span class="error '.((isset($error_class['form_subject']))?"":" hide").'" >'.$error_form_subject.'</span></label>
  82. <input type="text" name="form_subject" id="vscf_subject" maxlength="50" class="'.$error_class['form_subject'].'" value="'.$subject.$form_data['form_subject'].'" />
  83. </div>
  84. <div>
  85. <label for="vscf_message">'.$label_message.': <span class="error '.((isset($error_class['form_message']))?"":" hide").'" >'.$error_form_message.'</span></label>
  86. <textarea name="form_message" id="vscf_message" rows="10" class="'.$error_class['form_message'].'" >'.$form_data['form_message'].'</textarea>
  87.  
  88. </div>
  89. <div>
  90. <input type="submit" value="'.$label_submit.'" name="form_send" id="vscf_send" />
  91. </div>
  92. </form>';
  93.  
  94. if($sent == true) {
  95. return $info;
  96. } else {
  97. return $info.$email_form;
  98. }
  99. }
  100. add_shortcode('contact', 'vscf_shortcode');
  101. ?>
Advertisement
Add Comment
Please, Sign In to add comment