Updated formData(), formActions(), show()

Added formLegend()
This commit is contained in:
sarven 2009-01-15 03:32:07 +00:00
parent 901b2acc9f
commit 47f694582c
2 changed files with 58 additions and 12 deletions

View File

@ -67,9 +67,12 @@ class Form extends Widget
array('id' => $this->id(),
'method' => 'POST',
'action' => $this->action()));
$this->out->elementStart('fieldset');
$this->formLegend();
$this->sessionToken();
$this->formData();
$this->formActions();
$this->out->elementEnd('fieldset');
$this->out->elementEnd('form');
}
@ -84,6 +87,20 @@ class Form extends Widget
$this->out->hidden('token', common_session_token());
}
/**
* Name of the form
*
* Sub-classes should overload this with the name of their form.
*
* @return void
*/
function formLegend()
{
}
/**
* Visible or invisible data elements
*

View File

@ -87,7 +87,7 @@ class NoticeForm extends Form
function id()
{
return 'status_form';
return 'form_notice';
}
/**
@ -101,6 +101,18 @@ class NoticeForm extends Form
return common_local_url('newnotice');
}
/**
* Legend of the Form
*
* @return void
*/
function formLegend()
{
$this->out->element('legend', null, _('Send a notice'));
}
/**
* Data elements
*
@ -111,21 +123,33 @@ class NoticeForm extends Form
{
$user = common_current_user();
$this->out->element('label', array('for' => 'status_textarea',
'id' => 'status_label'),
$this->out->elementStart('ul', 'form_datas');
$this->out->elementStart('li', array('id' => 'notice_text'));
$this->out->element('label', array('for' => 'notice_data-text'),
sprintf(_('What\'s up, %s?'), $user->nickname));
// XXX: vary by defined max size
$this->out->element('span', array('id' => 'counter',
'class' => 'counter'),
'140');
$this->out->element('textarea', array('id' => 'status_textarea',
'cols' => 60,
'rows' => 3,
$this->out->element('textarea', array('id' => 'notice_data-text',
'cols' => 35,
'rows' => 4,
'name' => 'status_textarea'),
($this->content) ? $this->content : '');
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
$this->out->elementStart('dl', 'form_note');
$this->out->element('dt', null, _('Available characters'));
$this->out->element('dd', array('id' => 'notice_text-count'),
'140');
$this->out->elementEnd('dl');
if ($this->action) {
$this->out->hidden('returnto', $this->action);
// FIXME: or VERIFY that notice_return-to doesn't break anything. Changed from 'returnto'
$this->out->hidden('notice_return-to', $this->action);
}
// FIXME: Does this need to be checked like returnto?
$this->out->hidden('notice_in-reply-to', $this->action);
}
/**
@ -136,9 +160,14 @@ class NoticeForm extends Form
function formActions()
{
$this->out->element('input', array('id' => 'status_submit',
$this->out->elementStart('ul', 'form_actions');
$this->out->elementStart('li', array('id' => 'notice_submit'));
$this->out->element('input', array('id' => 'notice_action-submit',
'class' => 'submit',
'name' => 'status_submit',
'type' => 'submit',
'value' => _('Send')));
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
}
}
}