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;
 | |
| } |