mirror of
https://github.com/silverstripe/silverstripe-reports
synced 2024-10-22 11:05:53 +02:00
d9ac1a1f85
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@47798 467b73ca-7a2a-4603-9d3b-597d59a354a9
58 lines
1.4 KiB
PHP
Executable File
58 lines
1.4 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* @package cms
|
|
* @subpackage newsletter
|
|
*/
|
|
|
|
/**
|
|
* Form field showing a list of bounced addresses
|
|
* @package cms
|
|
* @subpackage newsletter
|
|
*/
|
|
class BouncedList extends FormField {
|
|
|
|
protected $nlType;
|
|
|
|
function __construct( $name, $newsletterType ) {
|
|
parent::__construct( $name, '', null );
|
|
|
|
if( is_object( $newsletterType ) )
|
|
$this->nlType = $newsletterType;
|
|
else
|
|
$this->nlType = DataObject::get_by_id( 'NewsletterType', $newsletterType );
|
|
}
|
|
|
|
function setController($controller) {
|
|
$this->controller = $controller;
|
|
}
|
|
|
|
function FieldHolder() {
|
|
return $this->renderWith( 'NewsletterAdmin_BouncedList' );
|
|
}
|
|
|
|
function Entries() {
|
|
|
|
$id = $this->nlType->GroupID;
|
|
|
|
$bounceRecords = DataObject::get( 'Email_BounceRecord', "`GroupID`='$id'", null, "INNER JOIN `Group_Members` USING(`MemberID`)" );
|
|
|
|
//user_error($id, E_USER_ERROR );
|
|
|
|
if( !$bounceRecords )
|
|
return null;
|
|
|
|
foreach( $bounceRecords as $bounceRecord ) {
|
|
if( $bounceRecord ) {
|
|
$bouncedUsers[] = new ArrayData( array(
|
|
'Record' => $bounceRecord,
|
|
'GroupID' => $id,
|
|
'Member' => DataObject::get_by_id( 'Member', $bounceRecord->MemberID )
|
|
));
|
|
}
|
|
}
|
|
|
|
return new DataObjectSet( $bouncedUsers );
|
|
}
|
|
}
|
|
?>
|