require_once 'CRM/Memberdashboard/Page.php';
class CRM_Memberdashboard_Page_Benefits extends CRM_Memberdashboard_Page {
+ function loadEmailAliases() {
+ $dao = CRM_Core_DAO::executeQuery(
+ 'SELECT * FROM member_email_alias WHERE contact_id=%1',
+ array( 1 => array($this->contact['id'], 'Integer') )
+ );
+ $rows = array();
+
+ while($dao->fetch()) {
+ $rows[] = array(
+ 'id' => $dao->id,
+ 'contact_id' => $dao->contact_id,
+ 'localpart' => $dao->localpart,
+ 'forward' => $dao->forward
+ );
+ }
+
+ $dao->free();
+
+ return $rows;
+ }
+
+ function padEmailAliases($emailAliases) {
+ $nil = array(
+ 'id' => NULL,
+ 'contact_id' => NULL,
+ 'localpart' => '',
+ 'forward' => '',
+ );
+
+ return array_pad($emailAliases, MEMBERDASHBOARD_MAX_EMAIL_ALIASES, $nil);
+ }
+
function run() {
// FIXME: Assumes CiviCRM is running on Drupal.
// Ugly global variable for the current Drupal user.
global $user;
+ $emailAliases = $this->padEmailAliases($this->loadEmailAliases());
+
CRM_Utils_System::setTitle(ts('Benefits'));
$this->assign('user', $user);
+ $this->assign('emailAliases', $emailAliases);
parent::run();
}