* @param string $label text of label for the element
* @param string $value value of the element, default null
* @param string $instructions instructions for valid input
+ * @param string $name name of the element; if null, the id will
+ * be used
*
- * @todo add a $name parameter
* @todo add a $maxLength parameter
* @todo add a $size parameter
*
* @return void
*/
- function input($id, $label, $value=null, $instructions=null)
+ function input($id, $label, $value=null, $instructions=null, $name=null)
{
$this->element('label', array('for' => $id), $label);
- $attrs = array('name' => $id,
- 'type' => 'text',
- 'id' => $id);
+ $attrs = array('type' => 'text',
+ 'id' => $id);
+ $attrs['name'] = is_null($name) ? $id : $name;
if (!is_null($value)) { // value can be 0 or ''
$attrs['value'] = $value;
}
* @param string $label text of label for the element
* @param string $content content of the textarea, default none
* @param string $instructions instructions for valid input
+ * @param string $name name of textarea; if null, $id will be used
+ * @param int $cols number of columns
+ * @param int $rows number of rows
*
* @return void
- *
- * @todo add a $name parameter
- * @todo add a $cols parameter
- * @todo add a $rows parameter
*/
- function textarea($id, $label, $content=null, $instructions=null)
- {
+ function textarea(
+ $id,
+ $label,
+ $content = null,
+ $instructions = null,
+ $name = null,
+ $cols = null,
+ $rows = null
+ ) {
$this->element('label', array('for' => $id), $label);
- $this->element('textarea', array('rows' => 3,
- 'cols' => 40,
- 'name' => $id,
- 'id' => $id),
- ($content) ? $content : '');
+ $attrs = array(
+ 'rows' => 3,
+ 'cols' => 40,
+ 'id' => $id
+ );
+ $attrs['name'] = is_null($name) ? $id : $name;
+
+ if ($cols != null) {
+ $attrs['cols'] = $cols;
+
+ }
+ if ($rows != null) {
+ $attrs['rows'] = $rows;
+ }
+ $this->element(
+ 'textarea',
+ $attrs,
+ is_null($content) ? '' : $content
+ );
if ($instructions) {
$this->element('p', 'form_guide', $instructions);
}
}
- /**
+ /**
* Internal script to autofocus the given element on page onload.
*
* @param string $id element ID, must refer to an existing element
$this->out->elementStart('ul', 'form_data');
$this->li();
- $this->out->input('url',
+ $this->out->input('bookmark-url',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','URL'),
- $this->_url);
+ $this->_url,
+ 'url');
$this->unli();
list($width, $height) = $this->scaleImage($this->_thumbnail->width,
}
$this->li();
- $this->out->input('title',
+ $this->out->input('bookmark-title',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Title'),
- $this->_title);
+ $this->_title,
+ 'title');
$this->unli();
$this->li();
- $this->out->textarea('description',
+ $this->out->textarea('bookmark-description',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Notes'),
- $this->_description);
+ $this->_description,
+ 'description');
$this->unli();
$this->li();
- $this->out->input('tags',
+ $this->out->input('bookmark-tags',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Tags'),
$this->_tags,
// TRANS: Field title on form for adding a new bookmark.
- _m('Comma- or space-separated list of tags.'));
+ _m('Comma- or space-separated list of tags.'),
+ 'tags');
$this->unli();
$this->out->elementEnd('ul');
$this->checkSessionToken();
}
- $this->title = $this->trimmed('title');
- $this->url = $this->trimmed('url');
- $this->tags = $this->trimmed('tags');
- $this->description = $this->trimmed('description');
+ $this->title = $this->trimmed('bookmark-title');
+ $this->url = $this->trimmed('bookmark-url');
+ $this->tags = $this->trimmed('bookmark-tags');
+ $this->description = $this->trimmed('bookmark-description');
return true;
}