• I make a patch into modules/flamingo.php
    with this patch cf7 send to flamingo “Mail subject” and “Mail from” if this field is set into cf7 form.

    For example:
    “Mail from” cf7 form
    [your-fistname] [your-surname] [your-email]
    “Flamingo from”
    value_of_your-firstname value_of_your-surname
    “Mail subject” cf7 form
    [field-subject]
    “Flamingo subject”
    value_of_field-subject

    or

    “Mail from” cf7 form
    [your-fistname] [your-lastname] [your-email]
    “Flamingo from”
    value_of_your-firstname value_of_your-lastname
    “Mail subject” cf7 form
    My site example.com [field-subject]
    “Flamingo subject”
    My site example.com value_of_field-subject

    I test patch against:
    WordPress ver. 3.6, Contact Form 7 ver. 3.5.2 and Flamingo ver. 1.0.4
    all work fine for me.

    change lines (modules/flamingo.php) 45 and 46:

    $name = isset( $posted_data['your-name'] ) ? trim( $posted_data['your-name'] ) : '';
    $subject = isset( $posted_data['your-subject'] ) ? trim( $posted_data['your-subject'] ) : '';

    with this:

    /* check for mail subject */
    	if( isset( $contactform->mail['subject'] ) and !empty( $contactform->mail['subject'] ) )
    		$mail_subject_data = $contactform->mail['subject'];
    	else
    		$mail_subject_data = null;
    
    	if( ( $mail_subject_data != null ) and ( strlen( trim( $mail_subject_data ) ) > 0 ) ){
    		preg_match_all( "/\[(\S*?)]/", $mail_subject_data, $mail_subject_out, PREG_PATTERN_ORDER );
    		if( isset( $mail_subject_out[1] ) and !empty( $mail_subject_out[1] ) ){
    			foreach( $mail_subject_out[1] as $key ){
    				$mail_subject_data = str_replace( "[".$key."]", $posted_data[$key], $mail_subject_data );
    			}
    			$subject = trim( $mail_subject_data );
    		}else{
    			$subject = isset( $mail_subject_data ) ? trim( $mail_subject_data ) : '';
    		}
    	}else{
    		$subject = isset( $posted_data['your-subject'] ) ? trim( $posted_data['your-subject'] ) : '';
    	}
    	/* end check for mail subject */
    	/* check for mail sender */
    	if( isset( $contactform->mail['sender'] ) and !empty( $contactform->mail['sender'] ) )
    		$mail_sender_data = $contactform->mail['sender'];
    	else
    		$mail_sender_data = null;
    
    	if( ( $mail_sender_data != null ) and ( strlen( trim( $mail_sender_data ) ) > 0 ) ){
    		preg_match_all( "/\[(\S*?)]/", $mail_sender_data, $mail_sender_out, PREG_PATTERN_ORDER );
    		if( isset( $mail_sender_out[1] ) and !empty( $mail_sender_out[1] ) ){
    			foreach( $mail_sender_out[1] as $key ){
    				$mail_sender_data = ( $key == 'your-email' ) ? str_replace( "[your-email]", '', $mail_sender_data ) : str_replace( "[".$key."]", $posted_data[$key], $mail_sender_data );
    			}
    			$name = trim( $mail_sender_data );
    		}else{
    			$name = isset( $mail_sender_data ) ? trim( $mail_sender_data ) : '';
    		}
    	}else{
    		$name = isset( $posted_data['your-name'] ) ? trim( $posted_data['your-name'] ) : '';
    	}
    	/* end check for mail sender */

    https://www.ads-software.com/plugins/contact-form-7/

  • The topic ‘Patch for flamingo module’ is closed to new replies.