Location: PHPKode > projects > Redaxscript > redaxscript/includes/service.php
<?php

/**
 * send mail
 *
 * @param string $to
 * @param string $to_name
 * @param string $from
 * @param string $from_name
 * @param string $subject
 * @param string $body_array
 * @param string $attachment_array
 */

function send_mail($to = '', $to_name = '', $from = '', $from_name = '', $subject = '', $body_array = '', $attachment_array = '')
{
	/* validate input */

	if ($to_name == '')
	{
		$to_name = $to;
	}
	if ($from_name == '')
	{
		$from_name = $from;
	}

	/* build email strings */

	$to_string = $to_name . ' <' . $to . '>';
	$from_string = $from_name . ' <' . $from . '>';
	$default_subject = s('subject');
	if ($default_subject)
	{
		$subject_string = $default_subject . s('divider') . $subject;
	}
	else
	{
		$subject_string = $subject;
	}

	/* collect body */

	if (is_array($body_array))
	{
		foreach ($body_array as $key => $value)
		{
			if ($key && $value)
			{
				$key_check = substr($key, 0, 4);
				if ($key_check == 'code')
				{
					$body .= $value;
				}
				else
				{
					$body .= '<strong>' . $key . ':</strong> ' . $value . '<br />';
				}
			}
		}
	}

	/* collect header */

	$header = 'mime-version: 1.0' . PHP_EOL;

	/* if email attachment */

	if (is_array($attachment_array))
	{
		foreach ($attachment_array as $file_name => $file_contents)
		{
			$file_contents = chunk_split(base64_encode($file_contents));
			$header .= 'content-type: multipart/mixed; boundary="' . TOKEN . '"' . PHP_EOL . PHP_EOL;
			$header .= '--' . TOKEN . PHP_EOL;
			if ($body)
			{
				$header .= 'content-type: text/html; charset=' . s('charset') . PHP_EOL;
				$header .= 'content-transfer-encoding: 8bit' . PHP_EOL . PHP_EOL;
				$header .= $body . PHP_EOL . PHP_EOL;
				$header .= '--' . TOKEN . PHP_EOL;
				$body = '';
			}
			$header .= 'content-type: application/octet-stream; name="' . $file_name . '"' . PHP_EOL;
			$header .= 'content-transfer-encoding: base64' . PHP_EOL;
			$header .= 'content-disposition: attachment; filename="' . $file_name . '"' . PHP_EOL . PHP_EOL;
			$header .= $file_contents . PHP_EOL . PHP_EOL;
			$header .= '--' . TOKEN . '--';
		}
	}
	else
	{
		$header .= 'content-type: text/html; charset=' . s('charset') . PHP_EOL;
		$header .= 'return-path: <' . $from . '>';
	}
	$header .= 'from: ' . $from_string . PHP_EOL;
	$header .= 'reply-to: ' . $from_string . PHP_EOL;

	/* send email */

	if (function_exists('mail'))
	{
		mail($to_string, $subject_string, $body, $header);
	}
}

/**
 * curl contents
 *
 * @param string $url
 * @param string $referer
 * @param string $cookies
 * @return string
 */

function curl_contents($url = '', $referer = '', $cookies = '')
{
	if (function_exists('curl_version'))
	{
		$handle = curl_init();
		curl_setopt($handle, CURLOPT_URL, $url);

		/* handle referer */

		if ($referer)
		{
			curl_setopt($handle, CURLOPT_REFERER, $referer);
		}
		curl_setopt($handle, CURLOPT_POST, 1);
		curl_setopt($handle, CURLOPT_POSTFIELDS, $_POST);

		/* handle cookies */

		if ($cookies)
		{
			curl_setopt($handle, CURLOPT_COOKIEJAR, $cookies);
			curl_setopt($handle, CURLOPT_COOKIEFILE, $cookies);
		}
		curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, 0);
		curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($handle, CURLOPT_TIMEOUT, 20);

		/* collect output */

		$output = curl_exec($handle);
		curl_close($handle);
		return $output;
	}
}
?>
Return current item: Redaxscript