143 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * Helper Functions
 | 
						|
 *
 | 
						|
 * @package     saswp
 | 
						|
 * @subpackage  Helper/Templates
 | 
						|
 * @copyright   Copyright (c) 2016, René Hermenau
 | 
						|
 * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
 | 
						|
 * @since       1.4.0
 | 
						|
 */
 | 
						|
// Exit if accessed directly
 | 
						|
if( !defined( 'ABSPATH' ) )
 | 
						|
    exit;
 | 
						|
 | 
						|
/**
 | 
						|
 * Helper method to check if user is in the plugins page.
 | 
						|
 *
 | 
						|
 * @author René Hermenau
 | 
						|
 * @since  1.4.0
 | 
						|
 *
 | 
						|
 * @return bool
 | 
						|
 */
 | 
						|
 
 | 
						|
/**
 | 
						|
 * display deactivation logic on plugins page
 | 
						|
 * 
 | 
						|
 * @since 1.4.0
 | 
						|
 */
 | 
						|
function eztoc_is_plugins_page() {
 | 
						|
 | 
						|
    if(function_exists('get_current_screen')){
 | 
						|
        $screen = get_current_screen();
 | 
						|
            if(is_object($screen)){
 | 
						|
                if($screen->id == 'plugins' || $screen->id == 'plugins-network'){
 | 
						|
                    return true;
 | 
						|
                }
 | 
						|
            }
 | 
						|
    }
 | 
						|
    return false;
 | 
						|
}
 | 
						|
 | 
						|
add_filter('admin_footer', 'eztoc_add_deactivation_feedback_modal');
 | 
						|
function eztoc_add_deactivation_feedback_modal() {
 | 
						|
 | 
						|
    if( !is_admin() && !eztoc_is_plugins_page()) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    
 | 
						|
    require_once EZ_TOC_PATH ."/includes/deactivate-feedback.php";
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * send feedback via email
 | 
						|
 * 
 | 
						|
 * @since 1.4.0
 | 
						|
 */
 | 
						|
function eztoc_send_feedback() {
 | 
						|
 | 
						|
    if( isset( $_POST['data'] ) ) {
 | 
						|
        parse_str( $_POST['data'], $form );
 | 
						|
    }
 | 
						|
    
 | 
						|
    if( !isset( $form['eztoc_security_nonce'] ) || isset( $form['eztoc_security_nonce'] ) && !wp_verify_nonce( sanitize_text_field( $form['eztoc_security_nonce'] ), 'eztoc_ajax_check_nonce' ) ) {
 | 
						|
        echo 'security_nonce_not_verified';
 | 
						|
        die();
 | 
						|
    }
 | 
						|
    if ( !current_user_can( 'manage_options' ) ) {
 | 
						|
        die();
 | 
						|
    }
 | 
						|
    
 | 
						|
    $text = '';
 | 
						|
    if( isset( $form['eztoc_disable_text'] ) ) {
 | 
						|
        $text = implode( "\n\r", $form['eztoc_disable_text'] );
 | 
						|
    }
 | 
						|
 | 
						|
    $headers = array();
 | 
						|
 | 
						|
    $from = isset( $form['eztoc_disable_from'] ) ? $form['eztoc_disable_from'] : '';
 | 
						|
    if( $from ) {
 | 
						|
        $headers[] = "From: $from";
 | 
						|
        $headers[] = "Reply-To: $from";
 | 
						|
    }
 | 
						|
 | 
						|
    $subject = isset( $form['eztoc_disable_reason'] ) ? $form['eztoc_disable_reason'] : '(no reason given)';
 | 
						|
 | 
						|
    if($subject == 'technical issue'){
 | 
						|
 | 
						|
          $text = trim($text);
 | 
						|
 | 
						|
          if(!empty($text)){
 | 
						|
 | 
						|
            $text = 'technical issue description: '.$text;
 | 
						|
 | 
						|
          }else{
 | 
						|
 | 
						|
            $text = 'no description: '.$text;
 | 
						|
          }
 | 
						|
      
 | 
						|
    }
 | 
						|
 | 
						|
    $success = wp_mail( 'team@magazine3.in', $subject, $text, $headers );
 | 
						|
    
 | 
						|
    echo 'sent';
 | 
						|
    die();
 | 
						|
}
 | 
						|
add_action( 'wp_ajax_eztoc_send_feedback', 'eztoc_send_feedback' );
 | 
						|
 | 
						|
function eztoc_enqueue_makebetter_email_js(){
 | 
						|
 | 
						|
    if( !is_admin() && !eztoc_is_plugins_page()) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    wp_enqueue_script( 'eztoc-make-better-js', EZ_TOC_URL . 'includes/feedback.js', array( 'jquery' ));
 | 
						|
 | 
						|
    wp_enqueue_style( 'eztoc-make-better-css', EZ_TOC_URL . 'includes/feedback.css', false  );
 | 
						|
}
 | 
						|
add_action( 'admin_enqueue_scripts', 'eztoc_enqueue_makebetter_email_js' );
 | 
						|
 | 
						|
 | 
						|
add_action('wp_ajax_eztoc_subscribe_newsletter','eztoc_subscribe_for_newsletter');
 | 
						|
function eztoc_subscribe_for_newsletter(){
 | 
						|
    if( !wp_verify_nonce( sanitize_text_field( $_POST['eztoc_security_nonce'] ), 'eztoc_ajax_check_nonce' ) ) {
 | 
						|
        echo 'security_nonce_not_verified';
 | 
						|
        die();
 | 
						|
    }
 | 
						|
    if ( !current_user_can( 'manage_options' ) ) {
 | 
						|
        die();
 | 
						|
    }
 | 
						|
    $api_url = 'http://magazine3.company/wp-json/api/central/email/subscribe';
 | 
						|
    $api_params = array(
 | 
						|
        'name' => sanitize_text_field($_POST['name']),
 | 
						|
        'email'=> sanitize_email($_POST['email']),
 | 
						|
        'website'=> sanitize_text_field($_POST['website']),
 | 
						|
        'type'=> 'etoc'
 | 
						|
    );
 | 
						|
    $response = wp_remote_post( $api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
 | 
						|
    $response = wp_remote_retrieve_body( $response );
 | 
						|
    echo $response;
 | 
						|
    die;
 | 
						|
} |