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();
}
require_once 'memberdashboard.civix.php';
define('MEMBERDASHBOARD_SETTINGS_GROUP', 'Member Dashboard Preferences');
+define('MEMBERDASHBOARD_MAX_EMAIL_ALIASES', 5);
/**
* Implementation of hook_civicrm_config
take effect.
</p>
-<p>
- mail forwarding form goes here
-</p>
+<table>
+ <thead>
+ <tr>
+ <th>Local Part</th>
+ <th>Forward</th>
+ </tr>
+ </thead>
+ <tbody>
+ {foreach from=$emailAliases item=alias}
+ <tr>
+ <td>
+ <input type="text" value="{$alias.localpart}" />
+ </td>
+ <td>
+ <input type="text" value="{$alias.forward}" />
+ </td>
+ </tr>
+ {/foreach}
+ </tbody>
+</table>
<div class="header-dark">Member Forums</div>