- Package: saf.MailForm
- Author: John Luxford <lux@simian.ca>
- Copyright: Copyright (C) 2001-2003, Simian Systems Inc.
- License: http://www.sitellite.org/index/license Simian Open Software License
- Version: 1.6, 2002-08-05, $Id: Mref.php,v 1.3 2007/10/06 00:06:30 lux Exp $
- Access: public
Mref widget. Displays a select box with a list of options from another
table to choose from. Optionally configurable to be self-referencial and
organizes the options intuitively into a hierarchy.
Note: This widget requires a global $db database object to be available.
New in 1.2:
- Added a $self_ref property, to determine whether or not this widget is self-
referencial.
New in 1.4:
- Added the $popup and $popup_limit properties, which give some control over the
popup behaviour of this widget.
New in 1.6:
- Added an $addblank property.
Usage Example
<?php
$widget = new MF_Widget_mref ('name');
$widget->validation ('is "foo"');
$widget->error_message = 'Oops! This widget is being unruly!';
$widget->table = 'tablename';
$widget->primary_key = 'id';
$widget->display_column = 'title';
$widget->ref_column = 'refcolumn';
echo $widget->display ();
?>
Return to Top
Properties
$invalid_field = ''
Contains the name of the widget that did not validate during
the last call to the invalid () method.
$method
The value of the method attribute of the HTML form tag.
$method is actually an alias for $_attrs['method'].
$action
The value of the action attribute of the HTML form tag.
$action is actually an alias for $_attrs['action'].
$widgets = array ()
An array of form widgets.
$template
The optional template file or data used to customize the look
of the form.
$title
The title to be displayed at the top of the form.
$message
The initial message to be displayed at the top of the form.
$extra = ''
A way to pass extra parameters to the HTML form tag, for
example 'enctype="multipart/formdata"'.
$error_message
Contains the message from any internal errors.
$error_mode = 'single'
Determines the way in which error messages are displayed.
The default ('single') is to display the error message for the first
invalid field only. The other ('all') is to display a list of all
invalid fields with their corresponding error messages. Please note
that $error_mode 'all' assumes that a custom error message is provided
for every rule.
$invalid = array ()
A list of all invalid fields in the form, and their corresponding
error messages.
$submitted = false
Contains a true or false value as to whether the form has been
submitted successfully or not. An invalid form will contain false.
This value is used internally by the setValues() method.
$name
The name of the widget.
$_attrs = array ()
This contains a list of attributes of the HTML form tag.
$sendTo
The email address to send the form to in the default handler.
$sendFrom = ''
The email address to send the form from in the default handler.
$sendExtra = ''
Any extra parameters for the mail() function in the default handler.
$sendSubject = 'Mail Form'
The subject line of the email to send from the default handler.
$screenReply = 'Thank you. Your form has been sent.'
The response to return upon a successfully submitted form in the
default handler. Defaults to "Thank you. Your form has been sent."
$handler
The function or object method to use to handle the submitted form.
This function or method will be called by the run() method. Use the
setHandler() method to change this setting.
$uploadFiles = true
Whether to upload files automatically or to leave them for a custom
saving mechanism.
$verify_sender = false
Whether to verify the REQUEST_METHOD and HTTP_REFERER headers to make
it more difficult (although not impossible) for spammers to abuse your
form. Note that this can be enabled in a form's settings file under
the [Form] block via: verify_sender = yes
$clean_input = false
Whether to strip all HTML and PHP tags/code from all input parameters.
This is off by default because it would break forms with the Xed editor
by default, so it must be enabled as needed. Note that this can be
enabled in a form's settings file under the [Form] block via:
clean_input = yes
$blacklist = true
Whether to verify the remote address of the form submitter against
a list of invalid IP addresses in the database table
sitellite_form_blacklist so as to prevent repeated abuse from a single
source.
$verify_session = true
Whether to verify that the submitter can accept session data, which
helps ensure they are a legitimate human user. Passing session
verification requires cookies to be enabled for the submitter, which
may help prevent abuse in combination with the other abuse-prevention
techniques because a spambot may ignore the cookie, however this
restricts forms for legitimate visitors who have cookies disabled
in their browser (only a very small number of users disable cookies,
but some do). To disable for a single form, add verify_session = no
to its settings.php form.
$autosave = false
Whether this form should tie into Sitellite's autosave capabilities.
Please note that the autosave handler is only available to authenticated
users and not to anonymous forms.
$rule
The original unmodified rule definition.
$msg
The error message for this rule.
$type = 'mref'
This is the short name for this widget. The short name is
the class name minus the 'MF_Widget_' prefix.
$value
The rule value. This corresponds to the part of the rule
in double quotes (ie. type "value").
$negated = false
If a 'not' is present at the start of the rule, this will be
set to true, otherwise false.
$allowed = array ()
The access levels the user is allowed to access.
$nullable
Can this field contain a null value.
$tables = array ()
The list of elements that are to be displayed.
$allow_all_text = 'Allow All'
The text to display for the first element, which defaults to 'Allow All'.
$size = 3
Sets the size attribute of the select box that displays
the current attachments. Defaults to 3.
$addLink = 'addAttachment.php'
This is the link to send the 'Add' button to. Defaults to
'addAttachment.php'.
$removeLink = 'removeAttachment.php'
This is the link to send the 'Remove' button to. Defaults to
'removeAttachment.php'.
$format = '%Y-%m-%d'
This determines the format of the date stored in the hidden
field, and also the format submitted by the form widget.
$displayFormat = '%a, %e %b, %Y'
This determines the format of the date displayed to the user.
$lang = 'en'
This determines the language file to load for the calendar
user interface. See the folder /js/calendar/lang for a list
of available languages.
$style = 'sitellite'
This determines the stylesheet to load for the calendar
user interface. See the CSS files in the folder /js/calendar
for a list of available stylesheets, or information on
writing your own.
$showsTime = false
Determines whether to show the time selection options under the
calendar.
$timeFormat = '12'
Sets the display time to 24 hours, or 12 hours with AM/PM option.
The default is 12 hours.