/** * What to display in form * * @access public * @return String */ function form($args, $options) { extract($args); $output = ""; if (!isset($tdomf_post_id)) { $output .= tdomf_prepare_string($options['text'], $tdomf_form_id, $mode, false, "", $args); } else { $output .= tdomf_prepare_string($options['text'], $tdomf_form_id, $mode, $tdomf_post_id, "", $args); } return $output; }
function tdomf_widget_notify_get_message($form_id, $type, $process = false, $post_id = false) { $options = tdomf_get_option_widget('notifyme', $form_id); $message = ""; if ($options == false) { switch ($type) { case 'approved': $message = sprintf(__("This is just a quick email to notify you that your post has been approved and published online. You can see it at %s.\n\n", "tdomf"), TDOMF_MACRO_SUBMISSIONURL); $message .= __("Best Regards", "tdomf") . "\n"; $message .= "<?php echo get_bloginfo(\"title\"); ?>"; break; case 'rejected': $message = sprintf(__("We are sorry to inform you that your post \"%s\" has been rejected.\n\n", "tdomf"), TDOMF_MACRO_SUBMISSIONTITLE); $message .= __("Best Regards", "tdomf") . "\n"; $message .= "<?php echo get_bloginfo(\"title\"); ?>"; break; case 'approved_subject': $message = sprintf(__("[%s] Your entry \"%s\" has been approved!", "tdomf"), "<?php echo get_bloginfo('title'); ?>", TDOMF_MACRO_SUBMISSIONTITLE); break; case 'rejected_subject': $message = sprintf(__("[%s] Your entry \"%s\" has been rejected! :(", "tdomf"), "<?php echo get_bloginfo('title'); ?>", TDOMF_MACRO_SUBMISSIONTITLE); break; } } else { $message = $options[$type]; } if ($process) { $message = tdomf_prepare_string($message, $form_id, "", $post_id); $message = str_replace("\n", "\r\n", $message); } return $message; }
/** * Action to be processed when post created successfully. Will send email * if valid post. * * @access public * @return Boolean */ function sendMailAction($post_id, $form_id) { // do nothing if no email set // $autorespondemail_email = get_post_meta($post_id, '_tdomf_autorespond_widget_email', true); if ($autorespondemail_email == false) { return false; } delete_post_meta($post_id, '_tdomf_autorespond_widget_email'); // if spam, do nothing // if (get_post_meta($post_id, TDOMF_KEY_SPAM, true)) { return false; } $options = $this->getOptions($form_id); if ($options['link']) { $nonce = wp_create_nonce('tdomf-autorespondemail-' . $post_id); $url = trailingslashit(get_bloginfo('wpurl')) . '?tdomf_autorespondemail_post_id=' . $post_id . '&key=' . $nonce; $patterns[] = '/' . TDOMF_MACRO_AUTORESPONDEMAIL_LINK . '/'; $replacements[] = $url; } $subject = tdomf_prepare_string($options['subject'], $form_id, "", $post_id); $body = tdomf_prepare_string($options['body'], $form_id, "", $post_id); if ($options['link']) { $body = preg_replace($patterns, $replacements, $body); } $body = str_replace("\n", "\r\n", $body); // Use custom from field // if (tdomf_get_option_form(TDOMF_OPTION_FROM_EMAIL, $form_id)) { // We can modify the "from" field by using the "header" option at the end! // $headers = "MIME-Version: 1.0\n" . "From: " . tdomf_get_option_form(TDOMF_OPTION_FROM_EMAIL, $form_id) . "\n" . "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"\n"; $status = @wp_mail($autorespondemail_email, $subject, $body, $headers); } else { $status = @wp_mail($autorespondemail_email, $subject, $body); } // should we do some sort of error handling here? // tdomf_log_message("wp_mail returned {$status} for auto responde email on post {$post_id}"); return true; }
function preview($args, $options, $postfix = '') { $output = ""; if ($options['preview']) { $field = $this->getField($options['type'], $this->index); $fieldOriginalPrefix = $this->getFieldPrefixOriginal($options['type'], $this->index); if ($field != false) { extract($args); $options = $this->updateFieldOptions($options, $options['type'], $this->index); if ($options['append'] && trim($options['format']) != "") { $value = $field->post($args, $options, $fieldOriginalPrefix); // select of course has to be a special case! if ($options['type'] == 'select') { $value = $this->selectConvert($value, $options, $this->index); } $fmt = $this->format($value, $options); $output .= trim(tdomf_prepare_string($fmt, $tdomf_form_id, $mode)); } else { $output .= $field->preview($args, $options); } } else { tdomf_log_message('TDOMF_WidgetCustomFields->preview(): ERROR: Cant find field', TDOMF_LOG_ERROR); } } return $output; }
function tdomf_get_message_instance($key, $form_id = false, $mode = false, $post_id = false, $errors = "") { global $current_user; $message = tdomf_get_message($key, $form_id); if (!empty($message) || $message !== false) { return tdomf_prepare_string($message, $form_id, $mode, $post_id, $errors); } return ""; }
/** * What the widget does when the submission is being posted * * @return Mixed * @access public */ function post($args, $options, $postfix = '') { extract($args); $message = tdomf_prepare_string($options['message'], $tdomf_form_id, $mode, $post_ID, "", $args); $post = wp_get_single_post($post_ID, ARRAY_A); if (!empty($post['post_content'])) { $post = add_magic_quotes($post); } $postdata = array("ID" => $post_ID, "post_content" => $post['post_content'] . $message); sanitize_post($postdata, "db"); wp_update_post($postdata); return NULL; }