* When populating this file, consider the following flow * of control: * * - This method should be static * - Check if the $_REQUEST content actually is the plugin name * - Run an admin referrer check to make sure it goes through authentication * - Verify the output of $_GET makes sense * - Repeat with other user roles. Best directly by using the links/query string parameters. * - Repeat things for multisite. Once for a single site in the network, once sitewide. * * This file may be updated more in future version of the Boilerplate; however, this is the * general skeleton and outline for how the file should work. * * For more information, see the following discussion: * https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate/pull/123#issuecomment-28541913 * * @link http://example.com * @since 1.0.0 * * @package simple_contact_forms */ // If uninstall not called from WordPress, then exit. if (!defined('WP_UNINSTALL_PLUGIN')) { exit; } require_once plugin_dir_path(dirname(__FILE__)) . 'simple-contact-forms/admin/partials/scf_options.php'; $options = new SCFOptions(); $options->delete(); require_once plugin_dir_path(dirname(__FILE__)) . 'simple-contact-forms/admin/partials/scf_data.php'; $scf_db = new SCF_Data_Management(); $scf_db->deleteTable();
public function scf_update_db_check() { $scf_db = new SCF_Data_Management(); $scf_db->db_check(); }
public function sendEmail($fields, $options) { // Set the subject line $subject = $options['email_subject']; // Set senders $email_recipients = explode(",", trim($options['email_recipients'])); foreach ($email_recipients as $email) { $senders[] = array('email' => $email); } // Set the headers $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Determine the from details. Check for name field, then email field foreach ($fields as $field) { if ($field['type'] == 'name' && isset($field['value']) && !isset($sender_name)) { $sender_name = $field['value']; } if ($field['type'] == 'email' && isset($field['value']) && !isset($sender_email)) { $sender_email = $field['value']; } } // Default to 'Enquirer' if there's nothing there if (!isset($sender_name)) { $sender_name = 'Enquirer'; } if (!isset($sender_email)) { $sender_email = empty($senders) ? '*****@*****.**' : $senders[0]['email']; } // Set the from details $headers .= "From: {$sender_name} <{$sender_email}>\r\n"; // Set the name checker $nameIsAbandon = false; // Cycle through the fields foreach ($fields as $field) { // Set the field content if ($field['slug'] !== 'maths' && !$field['exclude']) { $this->addToEmailContents($field); } // Skip this if the name field contains the words "ABANDON" only if ($field['type'] == 'name' && $field['value'] == "ABANDON") { $nameIsAbandon = true; } } // See if we need to abandon if ($nameIsAbandon === true) { // Dump the contents for analysis var_dump($senders, $subject, $this->emailcontent, $headers); } else { foreach ($senders as $sendingemail) { $final_senders[] = $sendingemail['email']; } if (empty($final_senders)) { return false; } // Send the email for each sender wp_mail($final_senders, $subject, $this->emailcontent, $headers); } // Write the data to the database $scf_db = new SCF_Data_Management(); // Insert the data $scf_db->insertRow($this->emailcontent, 0); }