is_action()) {
$controls->data = get_option('newsletter_main');
if (!isset($controls->data['roles'])) {
$controls->data['roles'] = array();
if (!empty($controls->data['editor'])) $controls->data['roles'] = 'editor';
}
} else {
if ($controls->is_action('save')) {
$errors = null;
if (!isset($controls->data['roles'])) $controls->data['roles'] = array();
// Validation
$controls->data['sender_email'] = $module->normalize_email($controls->data['sender_email']);
if (!$module->is_email($controls->data['sender_email'])) {
$controls->errors .= __('The sender email address is not correct.', 'newsletter') . '
';
} else {
$controls->data['sender_email'] = $module->normalize_email($controls->data['sender_email']);
}
if (!$module->is_email($controls->data['return_path'], true)) {
$controls->errors .= __('Return path email is not correct.', 'newsletter') . '
';
} else {
$controls->data['return_path'] = $module->normalize_email($controls->data['return_path']);
}
if (!$module->is_email($controls->data['reply_to'], true)) {
$controls->errors .= __('Reply to email is not correct.', 'newsletter') . '
';
} else {
$controls->data['reply_to'] = $module->normalize_email($controls->data['reply_to']);
}
if (!empty($controls->data['contract_key'])) {
$controls->data['contract_key'] = trim($controls->data['contract_key']);
}
if (empty($controls->errors)) {
$module->merge_options($controls->data);
$controls->add_message_saved();
$module->logger->debug('Main options saved');
}
update_option('newsletter_log_level', $controls->data['log_level']);
//$module->hook_newsletter_extension_versions(true);
delete_transient("tnp_extensions_json");
delete_transient('newsletter_license_data');
}
if ($controls->is_action('create')) {
$page = array();
$page['post_title'] = 'Newsletter';
$page['post_content'] = '[newsletter]';
$page['post_status'] = 'publish';
$page['post_type'] = 'page';
$page['comment_status'] = 'closed';
$page['ping_status'] = 'closed';
$page['post_category'] = array(1);
$current_language = $module->get_current_language();
$module->switch_language('');
// Insert the post into the database
$page_id = wp_insert_post($page);
$module->switch_language($current_language);
$controls->data['page'] = $page_id;
$module->merge_options($controls->data);
$controls->messages = 'A new page has been created';
}
}
$license_data = $module->get_license_data(true);
if (is_wp_error($license_data)) {
$controls->errors .= esc_html('[' . $license_data->get_error_code()) . '] - ' . esc_html($license_data->get_error_message());
} else {
if ($license_data !== false) {
if ($license_data->expire == 0) {
$controls->messages = 'Your FREE license is valid';
} elseif ($license_data->expire >= time()) {
$controls->messages = 'Your license is valid and expires on ' . esc_html(date('Y-m-d', $license_data->expire));
} else {
$controls->errors = 'Your license is expired on ' . esc_html(date('Y-m-d', $license_data->expire));
}
}
}
$return_path = $module->options['return_path'];
if (!empty($return_path)) {
list($return_path_local, $return_path_domain) = explode('@', $return_path);
$sender = $module->options['sender_email'];
list($sender_local, $sender_domain) = explode('@', $sender);
if ($sender_domain != $return_path_domain) {
$controls->warnings[] = __('Your Return Path domain is different from your Sender domain. Providers may require them to match.', 'newsletter');
}
}
?>