function showScripts()
{
parent::showScripts();
+ $this->script('emailsettings.js');
$this->autofocus('email');
}
$this->elementEnd('li');
$this->elementEnd('ul');
+ // Our stylesheets make the form_data list items all floats, which
+ // creates lots of problems with trying to wrap divs around things.
+ // This should force a break before the next section, which needs
+ // to be separate so we can disable the things in it when the
+ // checkbox is off.
+ $this->elementStart('div', array('style' => 'clear: both'));
+ $this->elementEnd('div');
+
+ $this->elementStart('div', array('id' => 'emailincoming'));
+
if ($user->incomingemail) {
$this->elementStart('p');
$this->element('span', 'address', $user->incomingemail);
// TRANS: Button label for adding an e-mail address to send notices from.
$this->submit('newincoming', _m('BUTTON','New'));
+
+ $this->elementEnd('div'); // div#emailincoming
+
$this->elementEnd('fieldset');
}
$orig = clone($user);
$user->incomingemail = null;
+ $user->emailpost = 0;
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
$orig = clone($user);
$user->incomingemail = mail_new_incoming_address();
+ $user->emailpost = 1;
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
--- /dev/null
+$(function() {
+
+function toggleIncomingOptions() {
+ var enabled = $('#emailpost').attr('checked');
+ if (enabled) {
+ // Note: button style currently does not respond to disabled in our main themes.
+ // Graying out the whole section with a 50% transparency will do for now. :)
+ // @todo: add a general 'disabled' class style to the base themes.
+ $('#emailincoming').removeAttr('style')
+ .find('input').removeAttr('disabled');
+ } else {
+ $('#emailincoming').attr('style', 'opacity: 0.5')
+ .find('input').attr('disabled', 'disabled');
+ }
+}
+
+toggleIncomingOptions();
+
+$('#emailpost').click(function() {
+ toggleIncomingOptions();
+});
+
+});