mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
174 lines
4.6 KiB
PHP
174 lines
4.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* FH-Complete
|
|
*
|
|
* @package FHC-Helper
|
|
* @author FHC-Team
|
|
* @copyright Copyright (c) 2016 fhcomplete.org
|
|
* @license GPLv3
|
|
* @since Version 1.0.0
|
|
*/
|
|
|
|
/**
|
|
* FHC Helper
|
|
*
|
|
* @subpackage Helpers
|
|
* @category Helpers
|
|
*/
|
|
|
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
// ------------------------------------------------------------------------
|
|
// Functions needed in the view FHC-Header
|
|
// ------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Send single Mail with Sancho Design and Layout.
|
|
* @param string $vorlage_kurzbz Name of the template for specific mail content.
|
|
* @param array $vorlage_data Associative array with specific mail content variables
|
|
* to be replaced in the content template.
|
|
* @param string $to Email-adress.
|
|
* @param string $subject Subject of mail.
|
|
* @param string $headerImg Filename of the specific Sancho header image.
|
|
* @param string $cc Sets CC of mail.
|
|
* @param string $bcc Sets BCC of mail.
|
|
* @return void
|
|
*/
|
|
function sendSanchoMail(
|
|
$vorlage_kurzbz,
|
|
$vorlage_data,
|
|
$to,
|
|
$subject,
|
|
$headerImg = '',
|
|
$footerImg = '',
|
|
$from = null,
|
|
$cc = null,
|
|
$bcc = null
|
|
)
|
|
{
|
|
$ci =& get_instance();
|
|
$ci->load->library('email');
|
|
$ci->load->library('MailLib');
|
|
|
|
$sancho_mail_config = $ci->config->item('mail');
|
|
|
|
|
|
if ($from == '')
|
|
{
|
|
$from = ((isset($sancho_mail_config['sancho_mail_default_sender'])
|
|
&& $sancho_mail_config['sancho_mail_default_sender'])
|
|
? $sancho_mail_config['sancho_mail_default_sender']
|
|
: 'noreply')
|
|
. '@' . DOMAIN;
|
|
}
|
|
|
|
// Embed sancho header and footer image
|
|
// reset important to ensure embedding of images when called in a loop
|
|
$ci->email->clear(true); // clear vars and attachments
|
|
|
|
$cid_header = '';
|
|
$cid_footer = '';
|
|
|
|
if (isset($sancho_mail_config['sancho_mail_use_images']) && $sancho_mail_config['sancho_mail_use_images'])
|
|
{
|
|
$sanchoHeader_img = '';
|
|
$sanchoFooter_img = '';
|
|
|
|
if (isset($headerImg) && $headerImg != '')
|
|
{
|
|
// use provided header image
|
|
$sanchoHeader_img = $headerImg;
|
|
}
|
|
elseif (isset($sancho_mail_config['sancho_mail_header_img']) && $sancho_mail_config['sancho_mail_header_img'])
|
|
{
|
|
// use default header image
|
|
$sanchoHeader_img = $sancho_mail_config['sancho_mail_header_img'];
|
|
}
|
|
|
|
if (isset($footerImg) && $footerImg != '')
|
|
{
|
|
// use provided footer image
|
|
$sanchoFooter_img = $footerImg;
|
|
}
|
|
elseif (isset($sancho_mail_config['sancho_mail_footer_img']) && $sancho_mail_config['sancho_mail_footer_img'])
|
|
{
|
|
// use default footer image
|
|
$sanchoFooter_img = $sancho_mail_config['sancho_mail_footer_img'];
|
|
}
|
|
|
|
// add image file paths
|
|
if (isset($sancho_mail_config['sancho_mail_img_path']))
|
|
{
|
|
if ($sanchoHeader_img != '')
|
|
{
|
|
$sanchoHeader_img = $sancho_mail_config['sancho_mail_img_path'].$sanchoHeader_img;
|
|
}
|
|
|
|
if ($sanchoFooter_img != '')
|
|
{
|
|
$sanchoFooter_img = $sancho_mail_config['sancho_mail_img_path'].$sanchoFooter_img;
|
|
}
|
|
}
|
|
|
|
// attach header and footer
|
|
$ci->email->attach($sanchoHeader_img, 'inline');
|
|
$ci->email->attach($sanchoFooter_img, 'inline');
|
|
$cid_header = $ci->email->attachment_cid($sanchoHeader_img); // sets unique content id for embedding
|
|
$cid_footer = $ci->email->attachment_cid($sanchoFooter_img); // sets unique content id for embedding
|
|
}
|
|
|
|
// Set specific mail content into specific content template
|
|
$content = _parseMailContent($vorlage_kurzbz, $vorlage_data);
|
|
|
|
// overall main content data array
|
|
$layout = array(
|
|
'CID_header' => $cid_header,
|
|
'CID_footer' => $cid_footer,
|
|
'content' => $content
|
|
);
|
|
|
|
// Set overall main content into the sancho mail template
|
|
$body = _parseMailContent('Sancho_Mail_Template', $layout);
|
|
|
|
// Send mail
|
|
return $ci->maillib->send(
|
|
$from,
|
|
$to,
|
|
$subject,
|
|
$body,
|
|
'', // alias
|
|
$cc,
|
|
$bcc,
|
|
'', // altMessage
|
|
true, // bulk
|
|
true // autogenerated
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Replace variables in the mail content template with specific mail content data.
|
|
* @param string $vorlage_kurzbz Name of the template for specific mail content.
|
|
* @param array $vorlage_data Associative array with specific mail content varibales
|
|
* to be replaced in the content template.
|
|
* @return string
|
|
*/
|
|
function _parseMailContent($vorlage_kurzbz, $vorlage_data)
|
|
{
|
|
$ci =& get_instance();
|
|
$ci->load->library('VorlageLib');
|
|
|
|
$result = $ci->vorlagelib->loadVorlagetext($vorlage_kurzbz);
|
|
|
|
if (isSuccess($result))
|
|
{
|
|
// If the text and the subject of the template are not empty
|
|
if (is_array($result->retval) && count($result->retval) > 0 &&
|
|
!isEmptyString($result->retval[0]->text))
|
|
{
|
|
// Parses template text
|
|
return parseText($result->retval[0]->text, $vorlage_data);
|
|
}
|
|
}
|
|
}
|