benefits: Display email aliases in a table.
[org.fsf.memberdashboard.git] / CRM / Memberdashboard / Page / Benefits.php
1 <?php
2
3 require_once 'CRM/Memberdashboard/Page.php';
4
5 class CRM_Memberdashboard_Page_Benefits extends CRM_Memberdashboard_Page {
6 function loadEmailAliases() {
7 $dao = CRM_Core_DAO::executeQuery(
8 'SELECT * FROM member_email_alias WHERE contact_id=%1',
9 array( 1 => array($this->contact['id'], 'Integer') )
10 );
11 $rows = array();
12
13 while($dao->fetch()) {
14 $rows[] = array(
15 'id' => $dao->id,
16 'contact_id' => $dao->contact_id,
17 'localpart' => $dao->localpart,
18 'forward' => $dao->forward
19 );
20 }
21
22 $dao->free();
23
24 return $rows;
25 }
26
27 function padEmailAliases($emailAliases) {
28 $nil = array(
29 'id' => NULL,
30 'contact_id' => NULL,
31 'localpart' => '',
32 'forward' => '',
33 );
34
35 return array_pad($emailAliases, MEMBERDASHBOARD_MAX_EMAIL_ALIASES, $nil);
36 }
37
38 function run() {
39 // FIXME: Assumes CiviCRM is running on Drupal.
40 // Ugly global variable for the current Drupal user.
41 global $user;
42
43 $emailAliases = $this->padEmailAliases($this->loadEmailAliases());
44
45 CRM_Utils_System::setTitle(ts('Benefits'));
46
47 $this->assign('user', $user);
48 $this->assign('emailAliases', $emailAliases);
49
50 parent::run();
51 }
52 }