Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
addActions();
$this->loadTextdomain();
add_action('admin_enqueue_scripts', array($this, 'dpwap_load_common_admin_scripts'));
// add_action('admin_notices', array($this, 'dpwap_general_admin_notice',));
add_action('admin_notices', array($this, 'dpwap_general_promote_notice',));
add_action('wp_ajax_dpwap_dismiss_eventprime_promotion', array($this, 'dpwap_dismiss_eventprime_promotion',));
$plugins = new pluginBase();
$plugins->setup();
$themes = new themeBase();
$themes->setup();
}
public function addActions()
{
add_action('admin_init', array($this, 'dpwap_plugin_redirect'));
add_action('admin_menu', array($this, 'dpwap_load_menus'));
add_action('wp_ajax_dpwap_dismiss_notice_action', array($this, 'dpwap_dismiss_notice_action'));
add_action('admin_footer', [$this, 'dpwap_customize_modal']);
add_action('wp_ajax_dpwap_customize_plugin', [$this, 'submit_customization_request']);
}
public function dpwap_customize_plugin()
{
// print_r($_POST);
// die;
// if (!isset($_POST['security']) || empty($_POST['security']) || !wp_verify_nonce(wp_unslash($_POST['security']), 'customize_plugin_action')) {
// wp_send_json_error('Invalid nonce');
// return;
// }
if (isset($_POST['user_email']) && filter_var($_POST['user_email'], FILTER_VALIDATE_EMAIL)) {
wp_send_json_success('Valid email');
} else {
wp_send_json_error('Invalid email');
}
// wp_send_json_success('Valid email');
}
public function loadTextdomain()
{
load_textdomain('download-plugin', WP_LANG_DIR . '/download-plugin/download_plugin-' . get_locale() . '.mo');
}
/**
* redirect plugin to menu on activation
*/
public function dpwap_plugin_redirect()
{
if (get_option('download_plugin_do_activation_redirect', false)) {
delete_option('download_plugin_do_activation_redirect');
wp_redirect(admin_url("admin.php?page=dpwap_plugin"));
exit;
}
}
public function dpwap_load_menus()
{
$dpwap = dpwap_plugin_loaded();
if (in_array('download-users', $dpwap->extensions)) {
add_menu_page(__('Download', 'download-plugin'), __('Download', 'download-plugin'), 'manage_options', "dpwap_plugin", array($this, 'dpwap_plugin'), 'dashicons-media-archive', '99');
// download plugin menu
add_submenu_page("dpwap_plugin", __('Download Plugins', 'download-plugin'), __('Download Plugins', 'download-plugin'), "manage_options", "dpwap_plugin", array($this, 'dpwap_plugin'));
// download theme menu
add_submenu_page("dpwap_plugin", __('Download Themes', 'download-plugin'), __('Download Themes', 'download-plugin'), "manage_options", "dpwap_theme", array($this, 'dpwap_theme'));
// load all extensions
// show default download user menu
if (!in_array('download-users', $dpwap->extensions)) {
add_submenu_page("dpwap_plugin", __('Download Users', 'download-plugin'), __('Download Users', 'download-plugin'), "manage_options", "dpwap_users", array($this, 'duwap_users_check'));
}
// show default download bbPress menu
/*if ( !in_array( 'download-bbpress-integration', $dpwap->extensions ) ) {
add_submenu_page( "dpwap_plugin", __('bbPress', 'download-plugin'), __('bbPress', 'download-plugin'), "manage_options", "dpwap_bbpress", array( $this, 'duwap_bbpress_check' ) );
}*/
}
do_action('dpwap_downlad_plugin_menus');
// Enqueue the JavaScript file
wp_enqueue_script('customize-modal', plugin_dir_url(__DIR__) . '/assets/js/customize-modal.js', array('jquery'), null, true);
// Localize script to pass AJAX URL
wp_localize_script('customize-modal', 'ajax_object', array('ajaxurl' => admin_url('admin-ajax.php')));
// Enqueue the CSS file
wp_enqueue_style('customize-modal', plugin_dir_url(__DIR__) . '/assets/css/customize-modal.css');
}
public function dpwap_plugin()
{
$plugin_info_file = DPWAP_DIR . DS . 'app' . DS . 'Plugins' . DS . 'templates' . DS . 'dpwap_plugin_info.php';
include($plugin_info_file);
// Add the modal HTML
}
public function dpwap_customize_modal()
{
?>
'valid nonce.'));
// return;
// }
// Check if the current user has the necessary permission
if (! current_user_can('manage_options')) {
wp_send_json_error(array('message' => esc_html__('You do not have permission to perform this action.', 'download-plugin')));
return;
}
if (!isset($_POST['security']) || empty($_POST['security']) || !wp_verify_nonce(wp_unslash($_POST['security']), 'customize_plugin_action')) {
wp_send_json_error(array('message' => 'Invalid nonce.'));
return;
}
$user_email = isset($_POST['user_email']) ? sanitize_email(wp_unslash($_POST['user_email'])) : '';
if (!isset($_POST['user_email']) || !filter_var($_POST['user_email'], FILTER_VALIDATE_EMAIL)) {
wp_send_json_error(array('message' => 'Please enter a valid email address.'));
return;
}
// Check if customization type is provided
$customization_type = isset($_POST['customizationType']) ? sanitize_textarea_field(wp_unslash($_POST['customizationType'])) : '';
if (empty($_POST['customizationType'])) {
wp_send_json_error(array('message' => esc_html__('Please provide details about your customization request.', 'download-plugin')));
return;
}
// Prepare email details
$to = 'support@metagauss.com';
$subject = 'WordPress Support Request';
$user_email = sanitize_email($_POST['user_email']);
$plugin = sanitize_text_field($_POST['plugin_select']);
$customization_type = sanitize_textarea_field($_POST['customizationType']);
// Construct the HTML email body
$message = "
WordPress Support Request
You have received a new customization request. Below are the details:
| Field |
Submitted Value |
| Plugin |
{$plugin} |
| Email |
{$user_email} |
| Customization Needs |
{$customization_type} |
";
$headers = array(
'Content-Type: text/html; charset=UTF-8',
'From: ' . $user_email,
);
// Send the email
if (wp_mail($to, $subject, $message, $headers)) {
wp_send_json_success(array('message' => 'Your request has been submitted successfully. We will get back to you shortly.'));
} else {
wp_send_json_error(array(
'message' => 'Something went wrong. Please try again or create a ticket manually at https://metagauss.freshdesk.com/support/tickets/new.'
));
}
}
public function dpwap_theme()
{
$theme_info_file = DPWAP_DIR . DS . 'app' . DS . 'Themes' . DS . 'templates' . DS . 'dpwap_theme_info.php';
include_once $theme_info_file;
}
public function duwap_users_check()
{
$users_info_file = DPWAP_DIR . DS . 'app' . DS . 'Users' . DS . 'templates' . DS . 'dpwap_users_info.php';
include_once $users_info_file;
}
public function duwap_bbpress_check()
{
$bbpress_info_file = DPWAP_DIR . DS . 'app' . DS . 'bbPress' . DS . 'templates' . DS . 'dpwap_bbpress_info.php';
include_once $bbpress_info_file;
}
public function dpwap_load_common_admin_scripts()
{
wp_enqueue_script('dpwap_common_js', DPWAP_URL . 'assets/js/dpwap-common.js', array(), DPWAP_VERSION);
wp_localize_script('dpwap_common_js', 'admin_vars', array('admin_url' => admin_url(), 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('dpwap_secure_action')));
wp_enqueue_style('dpwap_common_css', DPWAP_URL . 'assets/css/dpwap-common.css', array(), DPWAP_VERSION);
}
public static function instance()
{
if (is_null(self::$instance)) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Admin notice
*/
// public function dpwap_general_admin_notice()
// {
// $dpwap = dpwap_plugin_loaded();
// $get_dismiss_option = get_option('dpwap_dismiss_offer_notice', false);
// if (empty($dpwap->extensions) && empty($get_dismiss_option)) {
// // echo '
// //
Download Plugin now has add-on for downloading and uploading your website\'s user accounts. Click here to get it now!
// //
';
// }
// }
public function dpwap_general_promote_notice()
{
$installed_plugins = get_plugins();
// Check if EventPrime is installed (active or inactive)
if (class_exists('Eventprime_Event_Calendar_Management') || isset($installed_plugins['eventprime-event-calendar-management/event-prime.php'])) {
return;
}
$notice_dismissed = get_option('dpwap_dismiss_eventprime_promotion', false);
if ($notice_dismissed) {
return;
}
// Show only on plugin pages or plugins.php
$install_url = wp_nonce_url(
self_admin_url('update.php?action=install-plugin&plugin=eventprime-event-calendar-management'),
'install-plugin_eventprime-event-calendar-management'
);
?>