HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/www.winghung.com/wp-content/plugins/conversational-forms/classes/email/attachment.php
<?php

/**
 * Attachment object
 *
 * @package Caldera_Forms Modified by QuantumCloud
 * @author    Josh Pollock <Josh@CalderaWP.com>
 * @license   GPL-2.0+
 * @link
 * @copyright 2016 CalderaWP LLC
 */
class Qcformbuilder_Forms_Email_Attachment extends Qcformbuilder_Forms_Object {

	/**
	 * Content type
	 * 
	 * @since 1.4.0
	 * 
	 * @var string
	 */
	protected $type;

	/**
	 * Actual file contents
	 *
	 * @since 1.4.0
	 *
	 * @var string
	 */
	protected $content;

	/**
	 * The filename
	 *
	 * @since 1.4.0
	 * 
	 * @var string
	 */
	protected $filename;

	/**
	 * @inheritdoc
	 */
	protected function get_prefix(){
		return 'attachment';
	}

	/**
	 *  Get file contents as a base64 encoded string
	 * 
	 * @since 1.4.0
	 * 
	 * @return string
	 */
	public function get_encoded(){
		if( false != ( $file = file_get_contents( $this->filename ) ) ){

			return base64_encode( $file );
		}
		
	}

	/**
	 * Make calls to $this->filename only return basename
	 * 
	 * @since 1.4.0
	 * 
	 * @return string
	 */
	protected function filename_get(){
		return basename( $this->filename );
	}

	/**
	 * Called when setting content property, and sets everything if value is a filepath
	 * 
	 * @since 1.4.0
	 * 
	 * @param $content
	 */
	protected function content_set( $content ){
		if( is_file( $content ) ){
			$this->content = file_get_contents( $content );
			$this->filename = $content;
			$this->type = mime_content_type( $content );
			$info = pathinfo( $this->filename );
			if( 'csv' == $info[ 'extension' ] ){
				$this->type = 'text/csv';
			}
			
		}else{
			$this->content = $content;
		}

	}


}