Forms

Please note: This page is under construction and has not been finished yet.

Introduction

Use the following to retrieve the form class object

$frm = e107::getForm();

Forms methods

open()

Returns a form opening tag.

$frm->open('myform'); 
$frm->open('myform', 'get', 'myscript.php', array('autocomplete' => 'on', 'class' => 'formclass'));

Parameter

Type

Description

Mandatory

name

string

Name of the form

Yes

mode

string

post | get 'post' by default

No

target

string

The request URL e_REQUEST_URI by default

No

options

array

Specify options such as class or autocomplete

  • autocomplete - on/off (boolean)

  • class - (any string)

  • ...

No

close()

Returns a form closing tag

$frm->close();

text()

Returns a text field form element

$frm->text('my-field', 'current_value', 100, array('size' => 'large')); // returns <input class="tbox input-large" id="my-field" maxlength="100" name="my-field" type="text" value="current_value"></input>

Parameter

Type

Description

Mandatory

name

string

Name of the text field

value

string

Value of the text field

maxlength

integer

Specifies the maxlength element of the text field

options

array

Specify options such as class, size or selectize

  • class: (any string)

  • size: mini, small, medium, large, xlarge, xxlarge

  • selectize: array with selectize.js options

textarea()

$frm->textarea($name, $value, $rows, $cols, $options, $counter);

bbarea()

$frm->bbarea($name, $value, $template, $mediaCat, $size, $options);

Parameter

Type

Description

Mandatory

name

string

Name of the field

Yes

value

string

Contents of the field

Yes

template

string

A string defining the button template to use with bbarea. Included in the core are the following: news, submitnews, extended, admin, mailout, page, comment, signature But you can also use the name of the plugin (e.g. forum) if the plugin provides a bbcode_template.php

No

mediaCat

string

Name of the media catalog to use (default: _common)

Is only used by TinyMCE plugin (if installed and used)

No

size

string

Size of the bbarea/editor. Use one of the following values: tiny, small, medium, large (default: large)

No

options

array

Array with options to use with the editor: id: string - In case the bbarea/editor id should be different to the name class: string - the css classes to use counter: boolean - Show a character counter wysiwyg: boolean/string -

  • False in case you want disable the wysiwyg editor for this field and use the default bbcode editor.

  • True to enable the current installed (and enabled) wysiwyg editor

  • Name of the editor (e.g. tinymce4 or simplemde) to use, in case wysiwyg is generally enabled and the supplied editor is installed.

No

select()

$frm->select($name,$option_array,$selected,$options,$defaultBlank);

checkbox()

$frm->checkbox($name,$value,$checked,$options);

hidden()

$frm->hidden($name,$value,$options);

button()

$frm->button($name,$value,$action,$label,$options);

Render a Bootstrap carousel

$frm->carousel($name, $array, $options);
$array = array(
      'slide1' => array('caption' => 'Slide 1', 'text' => 'first slide content' ),
      'slide2' => array('caption' => 'Slide 2', 'text' => 'second slide content' ),
      'slide3' => array('caption' => 'Slide 3', 'text' => 'third slide content' )
  );

echo $frm->carousel('my-carousel', $array);

tabs()

Render Bootstrap tabs

$frm->tabs($array,$options);
$array = array(
   'home'  => array('caption' => 'Home', 'text' => 'some tab content' ),
   'other' => array('caption' => 'Other', 'text' => 'second tab content' )
);

echo $frm->tabs($array);

echo $frm->tabs($array, array('active' => 'other')); // make 'other' the initial active tab. 

datepicker()

Date field with popup calendar. Returns UNIX timestamp or string value on submit.

$frm->datepicker($name, $datestamp = false, $options = null)

Parameter

Type

Description

Mandatory?

name

string

The name of the field

Yes

datestamp

integer|boolean

UNIX timestamp. Set the default value of the field.

Default: false

No

options

array|string

Available options (see examples below):

  • mode - 'date' or 'datetime'

  • format -

  • timezone

  • size

  • required (true/false)

  • firstDay

  • disabled

  • placeholder

Default: null

No

TODO: Clarify possible options and add more examples

Examples:

$frm->datepicker('my_field',time(),'mode=date');
$frm->datepicker('my_field',time(),'mode=datetime&inline=1');
$frm->datepicker('my_field',time(),'mode=date&format=yyyy-mm-dd');
$frm->datepicker('my_field',time(),'mode=datetime&format=MM, dd, yyyy hh:ii');
$frm->datepicker('my_field',time(),'mode=datetime&return=string');

Last updated