Skip to content

Instantly share code, notes, and snippets.

@davefreiman
Created September 22, 2014 23:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davefreiman/5e3f0bae765fd742ae83 to your computer and use it in GitHub Desktop.
Save davefreiman/5e3f0bae765fd742ae83 to your computer and use it in GitHub Desktop.
<?php
class Demac_Casl_Block_Adminhtml_Newsletter_Subscriber_Grid extends Mage_Adminhtml_Block_Newsletter_Subscriber_Grid
{
/**
* Prepare collection for grid
*
* @return Mage_Adminhtml_Block_Widget_Grid
*/
protected function _prepareCollection()
{
$collection = Mage::getResourceSingleton('newsletter/subscriber_collection');
/* @var $collection Mage_Newsletter_Model_Mysql4_Subscriber_Collection */
$collection
->showCustomerInfo(true)
->addSubscriberTypeField()
->showStoreInfo();
$collection->join(array('casl' => 'demac_casl/subscriber'), 'casl.subscriber_id = main_table.subscriber_id', array('casl.ip_address', 'casl.date_subscribed', 'casl.referrer_url'));
if($this->getRequest()->getParam('queue', false)) {
$collection->useQueue(Mage::getModel('newsletter/queue')
->load($this->getRequest()->getParam('queue')));
}
$this->setCollection($collection);
return Mage_Adminhtml_Block_Widget_Grid::_prepareColumns();
}
protected function _prepareColumns()
{
$this->addColumn('subscriber_id', array(
'header' => Mage::helper('newsletter')->__('ID'),
'index' => 'subscriber_id'
));
$this->addColumn('email', array(
'header' => Mage::helper('newsletter')->__('Email'),
'index' => 'subscriber_email'
));
$this->addColumn('type', array(
'header' => Mage::helper('newsletter')->__('Type'),
'index' => 'type',
'type' => 'options',
'options' => array(
1 => Mage::helper('newsletter')->__('Guest'),
2 => Mage::helper('newsletter')->__('Customer')
)
));
$this->addColumn('firstname', array(
'header' => Mage::helper('newsletter')->__('Customer First Name'),
'index' => 'customer_firstname',
'default' => '----'
));
$this->addColumn('lastname', array(
'header' => Mage::helper('newsletter')->__('Customer Last Name'),
'index' => 'customer_lastname',
'default' => '----'
));
$this->addColumn('status', array(
'header' => Mage::helper('newsletter')->__('Status'),
'index' => 'subscriber_status',
'type' => 'options',
'options' => array(
Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE => Mage::helper('newsletter')->__('Not Activated'),
Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED => Mage::helper('newsletter')->__('Subscribed'),
Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED => Mage::helper('newsletter')->__('Unsubscribed'),
Mage_Newsletter_Model_Subscriber::STATUS_UNCONFIRMED => Mage::helper('newsletter')->__('Unconfirmed'),
)
));
$this->addColumn('website', array(
'header' => Mage::helper('newsletter')->__('Website'),
'index' => 'website_id',
'type' => 'options',
'options' => $this->_getWebsiteOptions()
));
$this->addColumn('group', array(
'header' => Mage::helper('newsletter')->__('Store'),
'index' => 'group_id',
'type' => 'options',
'options' => $this->_getStoreGroupOptions()
));
$this->addColumn('store', array(
'header' => Mage::helper('newsletter')->__('Store View'),
'index' => 'store_id',
'type' => 'options',
'options' => $this->_getStoreOptions()
));
$this->addColumn('ip_address', array(
'header' => Mage::helper('newsletter')->__('IP Address'),
'index' => 'ip_address',
));
$this->addColumn('date_subscribed', array(
'header' => Mage::helper('newsletter')->__('Date Subscribed'),
'index' => 'date_subscribed',
));
$this->addColumn('referrer_url', array(
'header' => Mage::helper('newsletter')->__('Referrer Url'),
'index' => 'referrer_url',
));
$this->addExportType('*/*/exportCsv', Mage::helper('customer')->__('CSV'));
$this->addExportType('*/*/exportXml', Mage::helper('customer')->__('Excel XML'));
return parent::_prepareColumns();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment