Forum Replies Created

Viewing 2 replies - 1 through 2 (of 2 total)
  • Here is the full function that I am using right now.Please check and correct it on your website.

    public function es_add_subscriber() {
    
    		// check_admin_referer( 'es-subscribe', 'es-subscribe' );
    
    		$es_response = array( 'error' => 'unexpected-error' );
    
    		if ( ( isset( $_REQUEST['es'] ) ) && ( $_REQUEST['es'] == 'subscribe' ) && ( isset( $_REQUEST['action'] ) ) && ( $_REQUEST['action'] == 'es_add_subscriber' ) && !empty( $_REQUEST['esfpx_es-subscribe'] ) ) {
    			$es_subscriber_name = '';
    			$es_subscriber_email = '';
    			$es_subscriber_group = '';
    
    			foreach ($_REQUEST as $key => $value) {
    				$new_key = str_replace('_pg', '', $key);
    				$_REQUEST[$new_key] = $value;
    			}
    
    			$es_subscriber_name  = isset( $_REQUEST['esfpx_es_txt_name'] ) ? $_REQUEST['esfpx_es_txt_name'] : '';
    			$es_subscriber_email = isset( $_REQUEST['esfpx_es_txt_email'] ) ? $_REQUEST['esfpx_es_txt_email'] : '';
    			$es_subscriber_group = isset( $_REQUEST['esfpx_es_txt_group'] ) ? $_REQUEST['esfpx_es_txt_group'] : '';
    			$es_nonce 			 = $_REQUEST['esfpx_es-subscribe'];
    
    			$es_subscriber_name  = trim( $es_subscriber_name );
    			$es_subscriber_email = trim( $es_subscriber_email );
    			$es_subscriber_group = trim( $es_subscriber_group );
    
    			$subscriber_form = array(
    									'es_email_name' => '',
    									'es_email_mail' => '',
    									'es_email_group' => '',
    									'es_email_status' => '',
    									'es_nonce' => ''
    								);
    
    			if( $es_subscriber_group == '' ) {
    				$es_subscriber_group = 'Public';
    			}
    
    			if ( $es_subscriber_email != '' ) {
                    $es_response = array();
    				if ( !filter_var( $es_subscriber_email, FILTER_VALIDATE_EMAIL ) ) {
    					$es_response['error'] = 'invalid-email';
    				} else {
    					$home_url = home_url();
    					$same_domain = strpos( $_SERVER['HTTP_REFERER'] , $home_url );
    					if ( $same_domain !== false && $same_domain < 5 ) {
    						$action = '';
    						global $wpdb;
    
    						$subscriber_form['es_email_name'] = $es_subscriber_name;
    						$subscriber_form['es_email_mail'] = $es_subscriber_email;
    						$subscriber_form['es_email_group'] = $es_subscriber_group;
    						$subscriber_form['es_nonce'] = $es_nonce;
    
    						$es_optintype = get_option( 'ig_es_optintype' );
    
    						if( $es_optintype == "Double Opt In" ) {
    							$subscriber_form['es_email_status'] = "Unconfirmed";
    						} else {
    							$subscriber_form['es_email_status'] = "Single Opt In";
    						}
    
    						$action = es_cls_dbquery::es_view_subscriber_widget($subscriber_form);
    						if( $action == "sus" ) {
    							$subscribers = array();
    							$subscribers = es_cls_dbquery::es_view_subscriber_one($es_subscriber_email,$es_subscriber_group);
    							if( $es_optintype == "Double Opt In" ) {
    								es_cls_sendmail::es_sendmail("optin", $template = 0, $subscribers, "optin", 0);
                                    $es_response['success'] = 'subscribed-pending-doubleoptin';
    							} else {
    								$es_c_usermailoption = get_option( 'ig_es_welcomeemail' );
    								if ( $es_c_usermailoption == "YES" ) {
    									es_cls_sendmail::es_sendmail("welcome", $template = 0, $subscribers, "welcome", 0);
    								}
    								$es_response['success'] = 'subscribed-successfully';
    							} 
    						} elseif( $action == "ext" ) {
    							$es_response['success'] = 'already-exist';
    						} elseif( $action == "invalid" ) {
    							$es_response['error'] = 'invalid-email';
                            }else{
                                $es_response['error'] = 'unexpected-error';
                            }
    					} else {
    						$es_response['error'] = 'unexpected-error';
    					}
    				}
    			}
    		}
    
    		echo json_encode($es_response);
    		die();
    	}

    Open plugins/email-subscribers/job/es-subscribe.php file, and comment a below mentioned code at line 52.
    $es_response = array();

    Developer mistakenly emptied the default status assigned array variable which you will find at line 19.

    So basically plugin sending an empty response to blank/empty email input.

    • This reply was modified 7 years, 11 months ago by jitesh.tandel.
Viewing 2 replies - 1 through 2 (of 2 total)