Exemplo n.º 1
0
 * 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();
 }
Exemplo n.º 3
0
 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);
 }