&$GLOBALS['TL_LANG']['tl_news']['nc_sent'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('doNotCopy'=>true), 'sql' => "char(1) NOT NULL default ''" ); $GLOBALS['TL_DCA']['tl_news']['fields']['nc_testmail'] = array ( 'label' => &$GLOBALS['TL_LANG']['tl_news']['nc_testmail'], 'exclude' => true, 'inputType' => 'checkbox', 'eval' => array('doNotSaveEmpty'=>true), 'load_callback' => array ( array('tl_news_eSM_nc_news', 'loadTestmail'), ), 'save_callback' => array ( array('tl_news_eSM_nc_news', 'sendTestmail'), ), ); /** * Provide miscellaneous methods that are used by the data configuration array. * * @author Benjamin Roth */ class tl_news_eSM_nc_news extends \Backend { public function __construct() { parent::__construct(); $this->import('BackendUser', 'User'); } /** * Reset field * * @return array */ public function loadTestmail($varValue, DataContainer $dc) { return ''; } /** * Reset field * * @return array */ public function sendTestmail($varValue, DataContainer $dc) { if ($varValue) { $News = \Contao\NewsModel::findByPk($dc->id); if ($News !== null && ($Archive = $News->getRelated('pid')) !== null && ($Notification = \NotificationCenter\Model\Notification::findByPk($Archive->nc_notification)) !== null) { $arrRow = array( 'date' => date('d.m.Y',$News->date), 'headline' => $News->headline, 'teaser' => \Contao\StringUtil::substr(strip_tags(str_ireplace(array('
','
','
','

','

'),' ',$News->teaser)),128) ); if (($objJumpTo = $Archive->getRelated('jumpTo')) !== null) { $objJumpTo->loadDetails(); $arrRow['url'] = ($objJumpTo->rootUseSSL ? 'https://' : 'http://') . $objJumpTo->domain . TL_PATH . '/' . \Controller::generateFrontendUrl($objJumpTo->row(),((\Config::get('useAutoItem') && !\Config::get('disableAlias')) ? '/' : '/items/') . ((!\Config::get('disableAlias') && $News->alias != '') ? $News->alias : $News->id)).'?ltoken=%%_TOKEN_%%'; } $arrNewsPlain[] = date('d.m.Y',$News->date).' - '.$News->headline; $arrNewsHtml[] = '

'.$arrRow['date'].' '.$arrRow['headline'].'

'.$arrRow['teaser'].'

'. ($arrRow['url'] ? '

» Neuigkeit lesen...

' : '') .'
'; // User if (($Member = \MemberModel::findActiveByEmailAndUsername($this->User->email)) !== null) { $strLastname = $Member->firstname; $strFirstname = $Member->lastname; $strToken = \TokenLogin::getOrRenewUserToken($Member); } else { $arrSplitName = explode(" ", $this->User->name); $strLastname = array_pop($arrSplitName); $strFirstname = implode(" ", $arrSplitName); $strToken = ''; } $Notification->send(array ( 'member_email' => $this->User->email, 'member_firstname' => $strFirstname, 'member_lastname' => $strLastname, 'news_topics' => implode("\n",$arrNewsPlain), 'news_topics_html' => "", 'member_login_token' => $strToken ), $GLOBALS['TL_LANGUAGE']); Message::addConfirmation($GLOBALS['TL_LANG']['tl_news']['MSC']['nc_news_testletter']); } } } }