Aggiungo il codice che utilizza il componente per inviare la mail all'utente:
/**
* email_user - sends the validation email to the user with format defined in configuration.
* - New in 2.2 this method now supports all customfield tags based on |*varname*|
*
* @param array data the array of appt specific data
*/
static function email_user($data)
{
Pbdebug::log_msg('email_user() sending email to user for pending event id'.$data['pending_id'],'com_pbbooking');
$db = JFactory::getDbo();
$db->setQuery('select * from #__pbbooking_config');
$config = $db->loadObject();
$db->setQuery('select * from #__pbbooking_customfields where is_email = 1');
$emailfield = $db->loadObject();
$db->setQuery('select * from #__pbbooking_treatments where id = '.$db->escape($data['treatment_id']));
$service = $db->loadObject();
$db->setQuery('select cf.varname,cfd.data from #__pbbooking_customfields cf,#__pbbooking_customfields_data cfd where cf.id = cfd.customfield_id and cfd.pending_id = '.$db->escape($data['pending_id']));
$customfields = $db->loadObjectList();
$db->setQuery('select * from #__pbbooking_pending where id = '.$db->escape($data['pending_id']));
$pending_appt = $db->loadObject();
$db->setQuery('select * from #__pbbooking_cals where id = '.$db->escape($data['cal_id']))->loadObject();
$calendar = $db->loadObject();
$mailer =JFactory::getMailer();
$mailer_config =JFactory::getConfig();
$recipient = $data[$emailfield->varname];
$bcc = null;
if ($config->bcc_admin == 1) {
$bcc = array($mailer_config->get('mailfrom'));
if (isset($cal->email)) $bcc[] = $cal->email;
}
if (JURI::base(true) != '')
$url = str_replace(JURI::base(true).'/','',JURI::base()).JRoute::_('index.php?option=com_pbbooking&task=validate&id='.$data['pending_id'].'&email='.$data[$emailfield->varname]);
else
$url = preg_replace('/(.*)\/$/','$1',JURI::base()).JRoute::_('index.php?option=com_pbbooking&task=validate&id='.$data['pending_id'].'&email='.$data[$emailfield->varname]);
Pbdebug::log_msg('email_user() final url is '.$url,'com_pbbooking');
$urlstring = '<a href="'.$url.'">'.JTEXT::_('COM_PBBOOKING_VALIDATE_ANCHOR_TEXT')."</a>";
//send email to client to let them know what is going on
$body = self::_prepare_email('email_body',array('service_id'=>$data['treatment_id'],'dtstart'=>$pending_appt->dtstart,'url'=>$urlstring),(array)$customfields);
self::send_email($config->email_subject,$body,$recipient,$bcc);
}