public static function addCommentsSubscription(CommentsModel $objComment)
	{
		$objNotify = CommentsNotifyModel::findBySourceParentAndEmail($objComment->source, $objComment->parent, $objComment->email);

		// The subscription exists already
		if ($objNotify !== null)
		{
			return;
		}

		$time = time();

		// Prepare the record
		$arrSet = array
		(
			'tstamp'       => $time,
			'source'       => $objComment->source,
			'parent'       => $objComment->parent,
			'name'         => $objComment->name,
			'email'        => $objComment->email,
			'url'          => Environment::get('request'),
			'addedOn'      => $time,
			'active'       => '',
			'tokenRemove'  => 'cor-'.bin2hex(random_bytes(10))
		);

		// Store the subscription
		$objNotify = new CommentsNotifyModel();
		$objNotify->setRow($arrSet)->save();

		$strUrl = Idna::decode(Environment::get('base')) . Environment::get('request');
		$strConnector = (strpos($strUrl, '?') !== false) ? '&' : '?';

		/** @var OptIn $optIn */
		$optIn = System::getContainer()->get('contao.opt-in');
		$optInToken = $optIn->create('com', $objComment->email, array('tl_comments_notify'=>array($objNotify->id)));

		// Send the token
		$optInToken->send(sprintf($GLOBALS['TL_LANG']['MSC']['com_optInSubject'], Idna::decode(Environment::get('host'))), sprintf($GLOBALS['TL_LANG']['MSC']['com_optInMessage'], $objComment->name, $strUrl, $strUrl . $strConnector . 'token=' . $optInToken->getIdentifier(), $strUrl . $strConnector . 'token=' . $objNotify->tokenRemove));
	}
public static function addCommentsSubscription(CommentsModel $objComment)
	{
		$objNotify = CommentsNotifyModel::findBySourceParentAndEmail($objComment->source, $objComment->parent, $objComment->email);

		
		if ($objNotify !== null)
		{
			return;
		}

		$time = time();

		
		$arrSet = array
		(
			'tstamp'       => $time,
			'source'       => $objComment->source,
			'parent'       => $objComment->parent,
			'name'         => $objComment->name,
			'email'        => $objComment->email,
			'url'          => Environment::get('request'),
			'addedOn'      => $time,
			'active'       => '',
			'tokenRemove'  => 'cor-'.bin2hex(random_bytes(10))
		);

		
		$objNotify = new CommentsNotifyModel();
		$objNotify->setRow($arrSet)->save();

		$strUrl = Idna::decode(Environment::get('base')) . Environment::get('request');
		$strConnector = (strpos($strUrl, '?') !== false) ? '&' : '?';

		
		$optIn = System::getContainer()->get('contao.opt-in');
		$optInToken = $optIn->create('com', $objComment->email, array('tl_comments_notify'=>array($objNotify->id)));

		
		$optInToken->send(sprintf($GLOBALS['TL_LANG']['MSC']['com_optInSubject'], Idna::decode(Environment::get('host'))), sprintf($GLOBALS['TL_LANG']['MSC']['com_optInMessage'], $objComment->name, $strUrl, $strUrl . $strConnector . 'token=' . $optInToken->getIdentifier(), $strUrl . $strConnector . 'token=' . $objNotify->tokenRemove));
	}
public static function addCommentsSubscription ( CommentsModel $ objComment ) { $ objNotify = CommentsNotifyModel :: findBySourceParentAndEmail ( $ objComment -> source , $ objComment -> parent , $ objComment -> email ) ; // The subscription exists already if ( $ objNotify !== null ) { return ; } $ time = time ( ) ; // Prepare the record $ arrSet = array ( 'tstamp' => $ time , 'source' => $ objComment -> source , 'parent' => $ objComment -> parent , 'name' => $ objComment -> name , 'email' => $ objComment -> email , 'url' => Environment :: get ( 'request' ) , 'addedOn' => $ time , 'active' => '' , 'tokenRemove' => 'cor-' . bin2hex ( random_bytes ( 10 ) ) ) ; // Store the subscription $ objNotify = new CommentsNotifyModel ( ) ; $ objNotify -> setRow ( $ arrSet ) -> save ( ) ; $ strUrl = Idna :: decode ( Environment :: get ( 'base' ) ) . Environment :: get ( 'request' ) ; $ strConnector = ( strpos ( $ strUrl , '?' ) !== false ) ? '&' : '?' ; /** @var OptIn $optIn */ $ optIn = System :: getContainer ( ) -> get ( 'contao.opt-in' ) ; $ optInToken = $ optIn -> create ( 'com' , $ objComment -> email , array ( 'tl_comments_notify' => array ( $ objNotify -> id ) ) ) ; // Send the token $ optInToken -> send ( sprintf ( $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'com_optInSubject' ] , Idna :: decode ( Environment :: get ( 'host' ) ) ) , sprintf ( $ GLOBALS [ 'TL_LANG' ] [ 'MSC' ] [ 'com_optInMessage' ] , $ objComment -> name , $ strUrl , $ strUrl . $ strConnector . 'token=' . $ optInToken -> getIdentifier ( ) , $ strUrl . $ strConnector . 'token=' . $ objNotify -> tokenRemove ) ) ; }
Add the subscription and send the activation mail (double opt-in)

@param CommentsModel $objComment
Add the subscription and send the activation mail ( double opt - in )