// RazorForm version 0.10
//
// RazorForm is a PHP utility for easily creating HTML forms with consistent
// CSS elements and built-in error checking.
//
// Original RazorForm code Copyright 2004 Brett Rasmussen. Any redistribution
// of modified versions of this work must retain this copyright notice.
//
// This software is released - and may be modified and redistributed - under
// the terms of the GNU General Public License (GPL). Please see www.gnu.org
// for more information about the GPL. This software comes with no warranty
// whatsoever.
#------------------------------------------------------------------------------#
// This function takes two arguments: the string to pretty up, and an optional
// number of tabs to indent. For each line in the string, it prepends the tabs
// (actually 4 spaces) to the line. It then appends a single newline character
// to the whole string, then returns the modified string. Useful for creating
// html code that's formatted nicely.
function pretty($str, $indent_qty=0) {
$indent = "";
for ($i = 0; $i < $indent_qty; $i++)
$indent .= " ";
$lines = explode("\n", $str);
$altered_lines = array();
foreach ($lines as $line) {
$line = $indent . $line;
$altered_lines[] = $line;
}
$output = implode("\n", $altered_lines);
$output .= "\n";
return $output;
}
#------------------------------------------------------------------------------#
// Internal helper function for debugging purposes. Shows the contents of any
// data structure in an easily readable format on an html page.
function dbg_print($struct) {
if (!DEBUG)
return;
echo "
\n";
print_r($struct);
echo "\n
\n";
}
#------------------------------------------------------------------------------#
////////////////////////////////////////////////////////////////////////////////
class RazorForm {
var $rows = array();
var $err_count = 0;
var $curr_row = 1;
var $layout = "default";
var $label_sep = " ";
var $row_punc = "";
var $input_punc = "";
var $def_errmsg;
var $in;
var $subsequent = false;
var $user_vars = array();
var $inp_defaults = array();
var $hiddens = array();
var $attrs = array();
var $lab_cell_valign = "top";
var $form_table_class = "form-table";
var $form_row_class = "form-row";
var $field_lab_class = "field-lab";
var $field_lab_err_class = "field-lab-err";
var $field_lab_cell_class = "field-lab-cell";
var $field_class = "field";
var $field_err_class = "field-err";
var $field_cell_class = "field-cell";
var $field_block_class = "field-block";
var $errmsg_class = "errmsg";
var $field_note_class = "field-note";
var $radio_div_class = "radio-div";
#--------------------------------------------------------------------------#
function RazorForm($args=false, $in=false) {
if (!$in)
$this->in = $_REQUEST;
if (isset($this->in['rf_subsequent']))
$this->subsequent = true;
if (is_array($args)) {
while (list($varname, $val) = each($args))
$this->set($varname, $val);
} elseif (is_string($args)) {
$res = (strpos($args, " element found in
RazorForm constructor, and I can't open it as a file.
Exiting.";
ob_start();
include($args);
$formdef = ob_get_contents();
ob_end_clean();
$this->parse_form_def($formdef);
} else {
$this->parse_form_def($args);
}
}
}
#--------------------------------------------------------------------------#
// Takes an argument of the formdef string and breaks it up into an array
// of just the RazorForm element definitions like , ,
// , etc. Any angle brackets found inside the angle brackets of the
// whole element are just passed along like anything else (which is why I
// didn't use a regular expression for this part).
function get_defs($formdef) {
$defs = array();
$def = "";
$def_on = false;
$nested = 0;
for ($i = 0; $i < strlen($formdef); $i++) {
$char = $formdef{$i};
if ($char == "<") {
if ($def_on) {
$nested++;
$def .= $char;
}
$def_on = true;
} elseif ($char == ">") {
if ($nested > 0) {
$def .= $char;
$nested--;
} else {
$defs[] = $def;
$def = "";
$def_on = false;
}
} elseif ($def_on)
$def .= $char;
}
return $defs;
}
#--------------------------------------------------------------------------#
function parse_form_def($formdef) {
$defs = $this->get_defs($formdef);
$tags = "RazorForm|default|var|row|input|option|\/RazorForm";
$defre = "/^($tags)(\s+(.*)?)?$/s";
$attr_re = "/((\w+)\s*=\s*(\w+|(\"|').*?\\4))|(\w+)/s";
foreach ($defs as $def) {
$defsegs = array();
if (!preg_match($defre, $def, $defsegs)) {
$this->bad_def_format($def);
continue;
}
$elem_type = $defsegs[1];
if ($elem_type == "/RazorForm") {
break;
} elseif ($elem_type == "RazorForm") {
$obj =& $this;
} elseif ($elem_type == "row") {
$this->add_row(new RazorFormRow());
$obj =& $this->rows[count($this->rows)-1];
} elseif ($elem_type == "input") {
if (count($this->rows) == 0) {
// the only inputs allowed before a row def are hidden
$args = array("layout" => "hidden");
$this->hiddens[] = new RazorFormInput($args);
$obj =& $this->hiddens[count($this->hiddens)-1];
} else {
$row =& $this->rows[count($this->rows)-1];
$row->add_input(new RazorFormInput());
$row_inputs =& $row->get_inputs_ref();
$obj =& $row_inputs[count($row_inputs)-1];
foreach ($this->inp_defaults as $key => $val)
$obj->set($key, $val);
}
} elseif ($elem_type == "option") {
$row =& $this->rows[count($this->rows)-1];
$row_inputs =& $row->get_inputs_ref();
$inp =& $row_inputs[count($row_inputs)-1];
$inp->add_option(new RazorFormOption());
$options =& $inp->get_options_ref();
$obj =& $options[count($options)-1];
}
if (isset($defsegs[3])) {
$attr_seg = $defsegs[3];
$groups = array();
if (!preg_match_all($attr_re, $attr_seg, $groups)) {
$this->bad_def_format($def);
continue;
}
$keyvals = array();
for ($i = 0; $i < count($groups[1]); $i++) {
if ((empty($groups[1][$i])) && (!empty($groups[5][$i]))) {
// handle the stand-alone words
$key = $groups[5][$i];
$val = true;
} else {
// handle the key-value pairs
$key = $groups[2][$i];
$val = $groups[3][$i];
// don't let them specify "value" in the definition
// when they probably mean "default"
if ($elem_type == "input") {
$hsi = false;
foreach ($keyvals as $kv) {
list ($k, $v) = each($kv);
if ($k == "type") {
if (in_array($v, array("hidden",
"submit", "image", "static"))) {
$hsi = true;
break;
}
}
}
if ((strtolower($key) == "value") && (!$hsi)) {
$msg = "
RazorForm
error: You cannot specify value in
an input definition for an input of any
type other than hidden, static, or submit.
Perhaps you meant default? (Also
keep in mind that for hidden and submit
inputs, the value must follow the type
declaration.) The offending definition:
$def
";
exit($msg);
}
}
// strip the quotes
if ((($val{0} == "'") && (substr($val, -1) == "'"))
|| (($val{0} == "\"") && (substr($val, -1) == "\"")))
$val = substr($val, 1, -1);
}
$keyvals[] = array($key => $val);
}
foreach ($keyvals as $kv) {
list($key, $val) = each($kv);
// check to see if they've requested a user var for the val
while (list($uk, $uv) = each($this->user_vars)) {
if ($val == $uk)
$val = $uv;
}
reset($this->user_vars);
if ($elem_type == "var")
$this->add_user_var($key, $val);
elseif ($elem_type == "default")
$this->add_default($key, $val);
else
$obj->set($key, $val);
}
}
}
}
#--------------------------------------------------------------------------#
function bad_def_format($def) {
$msg = "RazorForm error: The RazorForm element definition $def
is not in a correct format. Skipping.\n";
echo $msg;
}
#--------------------------------------------------------------------------#
function add_user_var($key, $val) {
$this->user_vars[$key] = $val;
}
#--------------------------------------------------------------------------#
function add_default($key, $val) {
$rf_defaults = array("layout", "row_punc", "input_punc",
"lab_cell_valign", "label_sep");
if ($key == "errmsg")
$this->def_errmsg = $val;
elseif (in_array($key, $rf_defaults))
$this->{$key} = $val;
else
$this->inp_defaults[$key] = $val;
}
#--------------------------------------------------------------------------#
function set($varname, $val) {
if (in_array($varname, array_keys(get_class_vars("RazorForm"))))
$this->{$varname} = $val;
else
$this->attrs[$varname] = $val;
}
#--------------------------------------------------------------------------#
function get($varname) {
if (isset($this->{$varname}))
return $this->{$varname};
else
return false;
}
#--------------------------------------------------------------------------#
function add_row($row) {
$row->set_inherited($this);
$this->rows[] = $row;
}
#--------------------------------------------------------------------------#
function get_form($formtag=true) {
$this->start_form($formtag);
$this->get_rows();
$this->end_form($formtag);
}
#--------------------------------------------------------------------------#
function start_form($formtag=true) {
$output = "";
if ($formtag) {
$str .= "");
echo $output;
}
#--------------------------------------------------------------------------#
function get_rows($num=false, $endrow=false) {
if ($num) {
if ($endrow) {
$startrow = $num;
} else {
$startrow = $this->curr_row;
$endrow = $startrow + $num - 1;
}
if ($endrow > count($this->rows))
$endrow = count($this->rows);
} else {
$startrow = $this->curr_row;
$endrow = count($this->rows);
}
$this->curr_row = $endrow + 1;
// print out the rows
for ($i = $startrow; $i <= $endrow; $i++)
$this->get_row($i);
}
#--------------------------------------------------------------------------#
function get_row($rowid=false) {
if (!$rowid)
$rowid = $this->curr_row;
if ($rowid > count($this->rows)) {
$n = count($this->rows);
$msg = "RazorForm error: You are asking for row $rowid,
but there are only $n rows.
\n";
exit($msg);
}
$this->curr_row = $rowid + 1;
if (is_int($rowid))
$rowid--;
$row = $this->rows[$rowid];
echo $row->get_output();
}
#--------------------------------------------------------------------------#
function reset_curr_row() {
$this->curr_row = 1;
}
#--------------------------------------------------------------------------#
function get_layout_obj() {
$layout_class = "layout_" . $this->layout;
return new $layout_class($this);
}
#--------------------------------------------------------------------------#
function check_errors() {
if (!$this->subsequent)
return false;
$in = $this->in;
$this->populate($in, true);
$inputs = $this->get_rf_inputs();
for ($i = 0; $i < count($inputs); $i++) {
$inp =& $inputs[$i];
$name = $inp->get("name");
$value = $inp->get("value");
if ($inp->is_required()) {
if ($inp->has_error())
$this->err_count++;
}
if ($twin_name = $inp->get_sameas()) {
if ($in[$name] != $in[$twin_name]) {
$this->err_count++;
$inp->set_sameas_err();
for ($j = 0; $j < count($inputs); $j++) {
$twin =& $inputs[$j];
if ($twin->get("name") == $twin_name) {
$twin->set_sameas_err();
break;
}
}
}
}
}
return $this->err_count;
}
#--------------------------------------------------------------------------#
// This function is internally used by check_errors() and populate(). It
// returns an array of all the input objects in this form.
function get_rf_inputs() {
$inputs = array();
for ($i = 0; $i < count($this->rows); $i++) {
$row =& $this->rows[$i];
$row_inputs =& $row->get_inputs_ref();
for ($j = 0; $j < count($row_inputs); $j++)
$inputs[] =& $row_inputs[$j];
}
return $inputs;
}
#--------------------------------------------------------------------------#
// This function accepts a string-indexed array of data with which to
// populate the form. For every key in the array that also exists as an
// input in the form definition, that key's value will be transferred to
// the corresponding input field.
function populate($data) {
$inputs = $this->get_rf_inputs();
for ($i = 0; $i < count($inputs); $i++) {
$inp =& $inputs[$i];
$name = $inp->get("name");
$name = str_replace("[]", "", $name);
$type = $inp->get("type");
if (isset($data[$name])) {
if ((is_array($data[$name])) && ($type != "multiselect"))
$inp->set("value", array_shift($data[$name]));
else
$inp->set("value", $data[$name]);
}
}
}
#--------------------------------------------------------------------------#
}
////////////////////////////////////////////////////////////////////////////////
class RazorFormRow {
var $inputs = array();
var $has_error = false;
var $error_tested = false;
var $inherited = array(
"layout",
"label_sep",
"row_punc",
"input_punc",
"def_errmsg",
"subsequent",
"lab_cell_valign",
"form_table_class",
"form_row_class",
"field_lab_class",
"field_lab_err_class",
"field_lab_cell_class",
"field_class",
"field_err_class",
"field_cell_class",
"field_block_class",
"errmsg_class",
"field_note_class",
"radio_div_class"
);
#--------------------------------------------------------------------------#
function RazorFormRow($args=array()) {
while (list($varname, $val) = each($args))
$this->set($varname, $val);
}
#--------------------------------------------------------------------------#
function set($varname, $val) {
$this->{$varname} = $val;
}
#--------------------------------------------------------------------------#
function get($varname) {
if (isset($this->{$varname}))
return $this->{$varname};
else
return false;
}
#--------------------------------------------------------------------------#
function add_input($input) {
$input->set_inherited($this);
$this->inputs[] = $input;
}
#--------------------------------------------------------------------------#
function &get_inputs_ref() {
return $this->inputs;
}
#--------------------------------------------------------------------------#
function get_inputs() {
return $this->inputs;
}
#--------------------------------------------------------------------------#
function get_label() {
if (isset($this->label)) {
if ($this->has_error())
$label = "
";
return $label;
} else
return false;
}
#--------------------------------------------------------------------------#
function has_error() {
if ($this->error_tested)
return $this->has_error;
foreach ($this->inputs as $inp) {
if ($inp->has_error()) {
$this->has_error = true;
break;
}
}
$this->error_tested = true;
return $this->has_error;
}
#--------------------------------------------------------------------------#
function has_note() {
foreach ($this->inputs as $inp) {
if ($inp->get_note())
return true;
}
return false;
}
#--------------------------------------------------------------------------#
function set_inherited($rf) {
foreach ($this->inherited as $prop) {
if (!isset($this->{$prop}))
$newval = $rf->get($prop);
if (strlen($newval) > 0)
$this->set($prop, $newval);
}
for ($i = 0; $i < count($this->inputs); $i++) {
$inp = $this->inputs[$i];
$inp->set_inherited($this);
$this->inputs[$i] = $inp;
}
}
#--------------------------------------------------------------------------#
function get_output() {
$layout_class = "layout_" . $this->layout;
$layout_obj = new $layout_class($this);
return $layout_obj->get_output();
}
#--------------------------------------------------------------------------#
}
////////////////////////////////////////////////////////////////////////////////
class RazorFormInput {
var $name;
var $label;
var $type;
var $attrs = array();
var $default;
var $value;
var $note;
var $subsequent;
var $input_punc;
var $def_errmsg;
var $error_stuff = array();
var $errors = array();
var $error_checked = false;
var $options = array();
var $inherited = array(
"subsequent",
"input_punc",
"def_errmsg",
"field_lab_class",
"field_lab_err_class",
"field_lab_cell_class",
"field_class",
"field_err_class",
"field_cell_class",
"field_block_class",
"errmsg_class",
"field_note_class",
"radio_div_class"
);
#--------------------------------------------------------------------------#
function RazorFormInput($args=array()) {
while (list($varname, $val) = each($args))
$this->set($varname, $val);
}
#--------------------------------------------------------------------------#
function set($varname, $val=false) {
$bi_re = "/builtin:\s*(\w+)/";
$class_vars = array_keys(get_class_vars("RazorFormInput"));
$err_elems = array("req", "re", "chars", "sameas",
"errmsg", "function");
if (($varname != "options") && (preg_match($bi_re, $val)))
$val = $this->get_builtin($val);
if ($varname == "options") {
$this->get_builtin_options($val);
} elseif (in_array($varname, $err_elems)) {
$this->set_err_elem($varname, $val);
} elseif (preg_match("/^array\(.*?\);?$/", $val)) {
if (substr($val, -1) != ";")
$val .= ";";
$cmd = '$this->{$varname} = ' . $val;
eval($cmd);
} elseif (in_array($varname, $class_vars)) {
$this->{$varname} = $val;
} else
$this->attrs[$varname] = $val;
}
#--------------------------------------------------------------------------#
function get($attr) {
if (in_array($attr, array_keys(get_class_vars("RazorFormInput"))))
return $this->{$attr};
else
return $this->attrs[$attr];
}
#--------------------------------------------------------------------------#
function get_builtin_options($val) {
$bi_re = "/(builtin:\s*)?(\w+)/";
$groups = array();
$res = preg_match($bi_re, $val, $groups);
$func = "builtin_{$groups[2]}";
if (function_exists($func)) {
$new_opts = $func();
$this->options = array_merge($this->options, $new_opts);
}
}
#--------------------------------------------------------------------------#
function get_builtin($val) {
$bi_re = "/builtin:\s*(\w+)/";
$groups = array();
$res = preg_match($bi_re, $val, $groups);
$bi_name = $groups[1];
$func = "builtin_$bi_name";
if (function_exists($func))
return $func();
else
die("RazorForm error: there is no built-in called $bi_name.");
}
#--------------------------------------------------------------------------#
function set_err_elem($elem, $val) {
// re, sameas, and function just get set as is
if (in_array($elem, array("re", "sameas", "function"))) {
$this->error_stuff[] = array("type" => $elem, "val" => $val);
return;
}
// req is a shortcut for a regex of a min of 1 character
if ($elem == "req") {
$this->error_stuff[] = array("type" => "re", "val" => "/.+/");
return;
}
// chars is a shortcut for a regex requiring a minimum number
// of characters
if ($elem == "chars") {
$this->error_stuff[] = array("type"=>"re", "val"=>"/.\{$val}/");
return;
}
// errmsg is associated with the last element added
if ($elem == "errmsg") {
$last_elem = false;
for ($i = count($this->error_stuff)-1; $i >= 0; $i--) {
$last_elem =& $this->error_stuff[$i];
break;
}
if ($last_elem) {
$last_elem['errmsg'] = $val;
} else {
$msg = "RazorForm error: You have specified an errmsg
without an re, a req, a
chars, or a sameas before it. The
offending message: $val ";
echo $msg;
return;
}
}
}
#--------------------------------------------------------------------------#
function is_required() {
if (count($this->error_stuff) > 0)
return true;
else
return false;
}
#--------------------------------------------------------------------------#
function has_error() {
// don't do all the error checking stuff if this is the first form view
if (!$this->subsequent)
return false;
// we don't want to have to run through all the error checking stuff
// for each time this gets called, so we have a flag called
// error_checked
if ($this->error_checked)
return (count($this->errors) > 0);
$use_default = false;
foreach ($this->error_stuff as $elem) {
$elem_err = false;
if ($elem['type'] == "re") {
if (!preg_match($elem['val'], $this->value))
$elem_err = true;
}
if ($elem['type'] == "function") {
$function = $elem['val'];
$res = $function($this->value);
if ($res == false)
continue;
if (is_bool($res))
$res = array();
elseif (is_string($res))
$res = array($res);
if (!is_array($res)) {
$msg = "RazorForm error: The error checking function
$function must return either
true, a string containing an error
message, or an array of strings containing error
messages, or false \n";
echo $msg;
continue;
}
$elem_err = true;
$this->errors = array_merge($this->errors, $res);
}
if ($elem_err) {
$errmsg = isset($elem['errmsg']) ? $elem['errmsg'] : false;
if ($errmsg) {
$this->errors[] = $errmsg;
$use_default = false;
} elseif (count($this->errors) == 0)
$use_default = true;
}
}
if ($use_default) {
if (isset($this->def_errmsg))
$this->errors[] = $this->def_errmsg;
else
$this->errors[] = "";
}
$this->error_checked = true;
return (count($this->errors) > 0);
}
#--------------------------------------------------------------------------#
function reset_error_checking() {
$this->error_checked = false;
}
#--------------------------------------------------------------------------#
function get_errmsg() {
$errmsg = implode(" ", $this->errors);
$errmsg = "
errmsg_class}\">$errmsg
";
return $errmsg;
}
#--------------------------------------------------------------------------#
function get_errmsg_array() {
$errors = array();
foreach ($this->errors as $err) {
if (!empty($err)) {
$err = "
errmsg_class}\">$err
";
$errors[] = $err;
}
}
return $errors;
}
#--------------------------------------------------------------------------#
function get_sameas() {
foreach ($this->error_stuff as $elem) {
if ($elem['type'] == "sameas")
return $elem['val'];
}
return false;
}
#--------------------------------------------------------------------------#
function set_sameas_err() {
$errmsg = "";
foreach ($this->error_stuff as $elem) {
if (($elem['type'] == "sameas") && (isset($elem['errmsg']))) {
$errmsg = $elem['errmsg'];
break;
}
}
$this->errors[] = $errmsg;
}
#--------------------------------------------------------------------------#
function get_note() {
if (isset($this->note)) {
$output = "
";
return $label;
} else
return false;
}
#--------------------------------------------------------------------------#
function get_input() {
// see if this is a checkbox and has a global default of checked, in
// which case we need to set this instance's default
if ($this->type == "checkbox") {
$checked_vals = array("on", "yes", "true", "checked");
if (in_array($this->attrs['checked'], $checked_vals))
$this->default = "on";
}
// populate value from default if there is one
if ((!isset($this->value)) && (!empty($this->default))) {
// only populate checkboxes from default the first time
if (!(($this->type == "checkbox") && ($this->subsequent == true)))
$this->value = $this->default;
}
// we don't want to add the formatting stuff to hiddens
if ($this->type == "hidden")
return $this->get_hidden_input();
if ($this->has_error())
$input = "
field_err_class}\">";
else
$input = "
field_class}\">";
switch ($this->type) {
case "text":
$input_text = $this->get_text_input();
break;
case "password":
$input_text = $this->get_password_input();
break;
case "select":
$input_text = $this->get_select_input();
break;
case "multiselect":
$input_text = $this->get_multiselect_input();
break;
case "textarea":
$input_text = $this->get_textarea_input();
break;
case "checkbox":
$input_text = $this->get_checkbox_input();
break;
case "radio":
$input_text = $this->get_radio_input();
break;
case "static":
$input_text = $this->get_static_input();
break;
case "submit":
$input_text = $this->get_submit_input();
break;
case "image":
$input_text = $this->get_image_input();
break;
case "hidden":
$input_text = $this->get_hidden_input();
break;
}
$input .= $input_text;
$input .= "
";
return $input;
}
#--------------------------------------------------------------------------#
function get_text_input() {
$reject_attrs = array("rows", "cols", "checked");
$output = "name}\"";
foreach ($this->attrs as $attr => $val) {
if (in_array($attr, $reject_attrs))
continue;
$output .= " $attr=\"$val\"";
}
if (isset($this->value))
$output .= " value=\"{$this->value}\"";
$output .= ">";
return $output;
}
#--------------------------------------------------------------------------#
function get_password_input() {
$reject_attrs = array("rows", "cols", "checked");
$output = "name}\"";
foreach ($this->attrs as $attr => $val) {
if (in_array($attr, $reject_attrs))
continue;
$output .= " $attr=\"$val\"";
}
if (isset($this->value))
$output .= " value=\"{$this->value}\"";
$output .= ">";
return $output;
}
#--------------------------------------------------------------------------#
function get_select_input() {
$reject_attrs = array("size", "maxlength", "rows", "cols", "checked");
$output = "\n";
return $output;
}
#--------------------------------------------------------------------------#
function get_multiselect_input() {
$reject_attrs = array("size", "maxlength", "rows", "cols", "checked");
if (!is_array($this->value))
$this->value = array($this->value);
if (substr($this->name, -2) != "[]")
$this->name .= "[]";
$output = "\n";
return $output;
}
#--------------------------------------------------------------------------#
function get_textarea_input() {
$reject_attrs = array("size", "maxlength", "checked");
$output = "";
return $output;
}
#--------------------------------------------------------------------------#
function get_checkbox_input() {
// "checked" is in the reject_attrs because we don't want to put
// "checked=on" but rather just "checked", so we deal with that later
$reject_attrs = array("size", "maxlength", "rows", "cols", "checked");
$output = "name}\"";
foreach ($this->attrs as $attr => $val) {
if (in_array($attr, $reject_attrs))
continue;
$output .= " $attr=\"$val\"";
}
$checked_vals = array("on", "yes", "true", "checked");
if (in_array($this->value, $checked_vals))
$output .= " checked";
$output .= ">";
return $output;
}
#--------------------------------------------------------------------------#
function get_radio_input() {
$reject_attrs = array("size", "maxlength", "rows", "cols", "checked");
$output = "";
foreach ($this->options as $opt) {
$output .= "
");
$this->output = $output;
}
#--------------------------------------------------------------------------#
}
////////////////////////////////////////////////////////////////////////////////
class layout_blank {
var $output;
#--------------------------------------------------------------------------#
function layout_blank($caller) {
$this->caller = $caller;
$caller_class = get_class($caller);
if ($caller_class == "razorformrow")
$this->setup_row($caller);
}
#--------------------------------------------------------------------------#
function get_output() {
return $this->output;
}
#--------------------------------------------------------------------------#
function get_start() {
return false;
}
#--------------------------------------------------------------------------#
function get_end() {
return false;
}
#--------------------------------------------------------------------------#
function get_style() {
return false;
}
#--------------------------------------------------------------------------#
function setup_row($row) {
$inputs = $row->get_inputs();
$output = "";
foreach ($inputs as $inp)
$output .= pretty($inp->get_input(), 2);
$this->output = $output;
}
#--------------------------------------------------------------------------#
}
////////////////////////////////////////////////////////////////////////////////
// Functions For Built-In Regular Expressions and Dropdown Options
////////////////////////////////////////////////////////////////////////////////
function builtin_email() {
return "/^.+@.+\..+$/";
}
#------------------------------------------------------------------------------#
function builtin_dollar() {
return '/^\$?\s*((\d*\.\d{0,2})|(\d+))$/';
}
#------------------------------------------------------------------------------#
function builtin_monthdays() {
return array(
new RazorFormOption(array("value"=>"01", "display"=>"1")),
new RazorFormOption(array("value"=>"02", "display"=>"2")),
new RazorFormOption(array("value"=>"03", "display"=>"3")),
new RazorFormOption(array("value"=>"04", "display"=>"4")),
new RazorFormOption(array("value"=>"05", "display"=>"5")),
new RazorFormOption(array("value"=>"06", "display"=>"6")),
new RazorFormOption(array("value"=>"07", "display"=>"7")),
new RazorFormOption(array("value"=>"08", "display"=>"8")),
new RazorFormOption(array("value"=>"09", "display"=>"9")),
new RazorFormOption(array("value"=>"10", "display"=>"10")),
new RazorFormOption(array("value"=>"11", "display"=>"11")),
new RazorFormOption(array("value"=>"12", "display"=>"12")),
new RazorFormOption(array("value"=>"13", "display"=>"13")),
new RazorFormOption(array("value"=>"14", "display"=>"14")),
new RazorFormOption(array("value"=>"15", "display"=>"15")),
new RazorFormOption(array("value"=>"16", "display"=>"16")),
new RazorFormOption(array("value"=>"17", "display"=>"17")),
new RazorFormOption(array("value"=>"18", "display"=>"18")),
new RazorFormOption(array("value"=>"19", "display"=>"19")),
new RazorFormOption(array("value"=>"20", "display"=>"20")),
new RazorFormOption(array("value"=>"21", "display"=>"21")),
new RazorFormOption(array("value"=>"22", "display"=>"22")),
new RazorFormOption(array("value"=>"23", "display"=>"23")),
new RazorFormOption(array("value"=>"24", "display"=>"24")),
new RazorFormOption(array("value"=>"25", "display"=>"25")),
new RazorFormOption(array("value"=>"26", "display"=>"26")),
new RazorFormOption(array("value"=>"27", "display"=>"27")),
new RazorFormOption(array("value"=>"28", "display"=>"28")),
new RazorFormOption(array("value"=>"29", "display"=>"29")),
new RazorFormOption(array("value"=>"30", "display"=>"30")),
new RazorFormOption(array("value"=>"31", "display"=>"31"))
);
}
#------------------------------------------------------------------------------#
function builtin_weekdays() {
return array(
new RazorFormOption(array("value"=>"sun", "display"=>"Sunday")),
new RazorFormOption(array("value"=>"mon", "display"=>"Monday")),
new RazorFormOption(array("value"=>"tue", "display"=>"Tuesday")),
new RazorFormOption(array("value"=>"wed", "display"=>"Wednesday")),
new RazorFormOption(array("value"=>"thu", "display"=>"Thursday")),
new RazorFormOption(array("value"=>"fri", "display"=>"Friday")),
new RazorFormOption(array("value"=>"sat", "display"=>"Saturday"))
);
}
#------------------------------------------------------------------------------#
function builtin_months() {
return array(
new RazorFormOption(array("value"=>"01", "display"=>"January")),
new RazorFormOption(array("value"=>"02", "display"=>"February")),
new RazorFormOption(array("value"=>"03", "display"=>"March")),
new RazorFormOption(array("value"=>"04", "display"=>"April")),
new RazorFormOption(array("value"=>"05", "display"=>"May")),
new RazorFormOption(array("value"=>"06", "display"=>"June")),
new RazorFormOption(array("value"=>"07", "display"=>"July")),
new RazorFormOption(array("value"=>"08", "display"=>"August")),
new RazorFormOption(array("value"=>"09", "display"=>"September")),
new RazorFormOption(array("value"=>"10", "display"=>"October")),
new RazorFormOption(array("value"=>"11", "display"=>"November")),
new RazorFormOption(array("value"=>"12", "display"=>"December"))
);
}
#------------------------------------------------------------------------------#
function builtin_states() {
return array(
new RazorFormOption(array("value"=>"AL", "display"=>"Alabama")),
new RazorFormOption(array("value"=>"AK", "display"=>"Alaska")),
new RazorFormOption(array("value"=>"AZ", "display"=>"Arizona")),
new RazorFormOption(array("value"=>"AR", "display"=>"Arkansas")),
new RazorFormOption(array("value"=>"CA", "display"=>"California")),
new RazorFormOption(array("value"=>"CO", "display"=>"Colorado")),
new RazorFormOption(array("value"=>"CT", "display"=>"Connecticut")),
new RazorFormOption(array("value"=>"DE", "display"=>"Delaware")),
new RazorFormOption(array("value"=>"DC", "display"=>"District of Columbia")),
new RazorFormOption(array("value"=>"FL", "display"=>"Florida")),
new RazorFormOption(array("value"=>"GA", "display"=>"Georgia")),
new RazorFormOption(array("value"=>"HI", "display"=>"Hawaii")),
new RazorFormOption(array("value"=>"ID", "display"=>"Idaho")),
new RazorFormOption(array("value"=>"IL", "display"=>"Illinois")),
new RazorFormOption(array("value"=>"IN", "display"=>"Indiana")),
new RazorFormOption(array("value"=>"IA", "display"=>"Iowa")),
new RazorFormOption(array("value"=>"KS", "display"=>"Kansas")),
new RazorFormOption(array("value"=>"KY", "display"=>"Kentucky")),
new RazorFormOption(array("value"=>"LA", "display"=>"Louisiana")),
new RazorFormOption(array("value"=>"ME", "display"=>"Maine")),
new RazorFormOption(array("value"=>"MD", "display"=>"Maryland")),
new RazorFormOption(array("value"=>"MA", "display"=>"Massachusetts")),
new RazorFormOption(array("value"=>"MI", "display"=>"Michigan")),
new RazorFormOption(array("value"=>"MN", "display"=>"Minnesota")),
new RazorFormOption(array("value"=>"MS", "display"=>"Mississippi")),
new RazorFormOption(array("value"=>"MO", "display"=>"Missouri")),
new RazorFormOption(array("value"=>"MT", "display"=>"Montana")),
new RazorFormOption(array("value"=>"NE", "display"=>"Nebraska")),
new RazorFormOption(array("value"=>"NV", "display"=>"Nevada")),
new RazorFormOption(array("value"=>"NH", "display"=>"New Hampshire")),
new RazorFormOption(array("value"=>"NJ", "display"=>"New Jersey")),
new RazorFormOption(array("value"=>"NM", "display"=>"New Mexico")),
new RazorFormOption(array("value"=>"NY", "display"=>"New York")),
new RazorFormOption(array("value"=>"NC", "display"=>"North Carolina")),
new RazorFormOption(array("value"=>"ND", "display"=>"North Dakota")),
new RazorFormOption(array("value"=>"OH", "display"=>"Ohio")),
new RazorFormOption(array("value"=>"OK", "display"=>"Oklahoma")),
new RazorFormOption(array("value"=>"OR", "display"=>"Oregon")),
new RazorFormOption(array("value"=>"PA", "display"=>"Pennsylvania")),
new RazorFormOption(array("value"=>"RI", "display"=>"Rhode Island")),
new RazorFormOption(array("value"=>"SC", "display"=>"South Carolina")),
new RazorFormOption(array("value"=>"SD", "display"=>"South Dakota")),
new RazorFormOption(array("value"=>"TN", "display"=>"Tennessee")),
new RazorFormOption(array("value"=>"TX", "display"=>"Texas")),
new RazorFormOption(array("value"=>"UT", "display"=>"Utah")),
new RazorFormOption(array("value"=>"VT", "display"=>"Vermont")),
new RazorFormOption(array("value"=>"VA", "display"=>"Virginia")),
new RazorFormOption(array("value"=>"WA", "display"=>"Washington")),
new RazorFormOption(array("value"=>"WV", "display"=>"West Virginia")),
new RazorFormOption(array("value"=>"WI", "display"=>"Wisconsin")),
new RazorFormOption(array("value"=>"WY", "display"=>"Wyoming"))
);
}
#------------------------------------------------------------------------------#
function builtin_states_only() {
return array(
new RazorFormOption(array("value"=>"AL", "display"=>"Alabama")),
new RazorFormOption(array("value"=>"AK", "display"=>"Alaska")),
new RazorFormOption(array("value"=>"AZ", "display"=>"Arizona")),
new RazorFormOption(array("value"=>"AR", "display"=>"Arkansas")),
new RazorFormOption(array("value"=>"CA", "display"=>"California")),
new RazorFormOption(array("value"=>"CO", "display"=>"Colorado")),
new RazorFormOption(array("value"=>"CT", "display"=>"Connecticut")),
new RazorFormOption(array("value"=>"DE", "display"=>"Delaware")),
new RazorFormOption(array("value"=>"FL", "display"=>"Florida")),
new RazorFormOption(array("value"=>"GA", "display"=>"Georgia")),
new RazorFormOption(array("value"=>"HI", "display"=>"Hawaii")),
new RazorFormOption(array("value"=>"ID", "display"=>"Idaho")),
new RazorFormOption(array("value"=>"IL", "display"=>"Illinois")),
new RazorFormOption(array("value"=>"IN", "display"=>"Indiana")),
new RazorFormOption(array("value"=>"IA", "display"=>"Iowa")),
new RazorFormOption(array("value"=>"KS", "display"=>"Kansas")),
new RazorFormOption(array("value"=>"KY", "display"=>"Kentucky")),
new RazorFormOption(array("value"=>"LA", "display"=>"Louisiana")),
new RazorFormOption(array("value"=>"ME", "display"=>"Maine")),
new RazorFormOption(array("value"=>"MD", "display"=>"Maryland")),
new RazorFormOption(array("value"=>"MA", "display"=>"Massachusetts")),
new RazorFormOption(array("value"=>"MI", "display"=>"Michigan")),
new RazorFormOption(array("value"=>"MN", "display"=>"Minnesota")),
new RazorFormOption(array("value"=>"MS", "display"=>"Mississippi")),
new RazorFormOption(array("value"=>"MO", "display"=>"Missouri")),
new RazorFormOption(array("value"=>"MT", "display"=>"Montana")),
new RazorFormOption(array("value"=>"NE", "display"=>"Nebraska")),
new RazorFormOption(array("value"=>"NV", "display"=>"Nevada")),
new RazorFormOption(array("value"=>"NH", "display"=>"New Hampshire")),
new RazorFormOption(array("value"=>"NJ", "display"=>"New Jersey")),
new RazorFormOption(array("value"=>"NM", "display"=>"New Mexico")),
new RazorFormOption(array("value"=>"NY", "display"=>"New York")),
new RazorFormOption(array("value"=>"NC", "display"=>"North Carolina")),
new RazorFormOption(array("value"=>"ND", "display"=>"North Dakota")),
new RazorFormOption(array("value"=>"OH", "display"=>"Ohio")),
new RazorFormOption(array("value"=>"OK", "display"=>"Oklahoma")),
new RazorFormOption(array("value"=>"OR", "display"=>"Oregon")),
new RazorFormOption(array("value"=>"PA", "display"=>"Pennsylvania")),
new RazorFormOption(array("value"=>"RI", "display"=>"Rhode Island")),
new RazorFormOption(array("value"=>"SC", "display"=>"South Carolina")),
new RazorFormOption(array("value"=>"SD", "display"=>"South Dakota")),
new RazorFormOption(array("value"=>"TN", "display"=>"Tennessee")),
new RazorFormOption(array("value"=>"TX", "display"=>"Texas")),
new RazorFormOption(array("value"=>"UT", "display"=>"Utah")),
new RazorFormOption(array("value"=>"VT", "display"=>"Vermont")),
new RazorFormOption(array("value"=>"VA", "display"=>"Virginia")),
new RazorFormOption(array("value"=>"WA", "display"=>"Washington")),
new RazorFormOption(array("value"=>"WV", "display"=>"West Virginia")),
new RazorFormOption(array("value"=>"WI", "display"=>"Wisconsin")),
new RazorFormOption(array("value"=>"WY", "display"=>"Wyoming"))
);
}
#------------------------------------------------------------------------------#
function builtin_states_ext() {
return array(
new RazorFormOption(array("value"=>"AL", "display"=>"Alabama")),
new RazorFormOption(array("value"=>"AK", "display"=>"Alaska")),
new RazorFormOption(array("value"=>"AS", "display"=>"American Samoa")),
new RazorFormOption(array("value"=>"AZ", "display"=>"Arizona")),
new RazorFormOption(array("value"=>"AR", "display"=>"Arkansas")),
new RazorFormOption(array("value"=>"CA", "display"=>"California")),
new RazorFormOption(array("value"=>"CO", "display"=>"Colorado")),
new RazorFormOption(array("value"=>"CT", "display"=>"Connecticut")),
new RazorFormOption(array("value"=>"DE", "display"=>"Delaware")),
new RazorFormOption(array("value"=>"DC", "display"=>"District of Columbia")),
new RazorFormOption(array("value"=>"FM", "display"=>"Federated States of Micronesia")),
new RazorFormOption(array("value"=>"FL", "display"=>"Florida")),
new RazorFormOption(array("value"=>"GA", "display"=>"Georgia")),
new RazorFormOption(array("value"=>"GU", "display"=>"Guam")),
new RazorFormOption(array("value"=>"HI", "display"=>"Hawaii")),
new RazorFormOption(array("value"=>"ID", "display"=>"Idaho")),
new RazorFormOption(array("value"=>"IL", "display"=>"Illinois")),
new RazorFormOption(array("value"=>"IN", "display"=>"Indiana")),
new RazorFormOption(array("value"=>"IA", "display"=>"Iowa")),
new RazorFormOption(array("value"=>"KS", "display"=>"Kansas")),
new RazorFormOption(array("value"=>"KY", "display"=>"Kentucky")),
new RazorFormOption(array("value"=>"LA", "display"=>"Louisiana")),
new RazorFormOption(array("value"=>"ME", "display"=>"Maine")),
new RazorFormOption(array("value"=>"MH", "display"=>"Marshall Islands")),
new RazorFormOption(array("value"=>"MD", "display"=>"Maryland")),
new RazorFormOption(array("value"=>"MA", "display"=>"Massachusetts")),
new RazorFormOption(array("value"=>"MI", "display"=>"Michigan")),
new RazorFormOption(array("value"=>"MN", "display"=>"Minnesota")),
new RazorFormOption(array("value"=>"MS", "display"=>"Mississippi")),
new RazorFormOption(array("value"=>"MO", "display"=>"Missouri")),
new RazorFormOption(array("value"=>"MT", "display"=>"Montana")),
new RazorFormOption(array("value"=>"NE", "display"=>"Nebraska")),
new RazorFormOption(array("value"=>"NV", "display"=>"Nevada")),
new RazorFormOption(array("value"=>"NH", "display"=>"New Hampshire")),
new RazorFormOption(array("value"=>"NJ", "display"=>"New Jersey")),
new RazorFormOption(array("value"=>"NM", "display"=>"New Mexico")),
new RazorFormOption(array("value"=>"NY", "display"=>"New York")),
new RazorFormOption(array("value"=>"NC", "display"=>"North Carolina")),
new RazorFormOption(array("value"=>"ND", "display"=>"North Dakota")),
new RazorFormOption(array("value"=>"MP", "display"=>"Northern Mariana Islands")),
new RazorFormOption(array("value"=>"OH", "display"=>"Ohio")),
new RazorFormOption(array("value"=>"OK", "display"=>"Oklahoma")),
new RazorFormOption(array("value"=>"OR", "display"=>"Oregon")),
new RazorFormOption(array("value"=>"PW", "display"=>"Palau")),
new RazorFormOption(array("value"=>"PA", "display"=>"Pennsylvania")),
new RazorFormOption(array("value"=>"PR", "display"=>"Puerto Rico")),
new RazorFormOption(array("value"=>"RI", "display"=>"Rhode Island")),
new RazorFormOption(array("value"=>"SC", "display"=>"South Carolina")),
new RazorFormOption(array("value"=>"SD", "display"=>"South Dakota")),
new RazorFormOption(array("value"=>"TN", "display"=>"Tennessee")),
new RazorFormOption(array("value"=>"TX", "display"=>"Texas")),
new RazorFormOption(array("value"=>"UT", "display"=>"Utah")),
new RazorFormOption(array("value"=>"VT", "display"=>"Vermont")),
new RazorFormOption(array("value"=>"VI", "display"=>"Virgin Islands")),
new RazorFormOption(array("value"=>"VA", "display"=>"Virginia")),
new RazorFormOption(array("value"=>"WA", "display"=>"Washington")),
new RazorFormOption(array("value"=>"WV", "display"=>"West Virginia")),
new RazorFormOption(array("value"=>"WI", "display"=>"Wisconsin")),
new RazorFormOption(array("value"=>"WY", "display"=>"Wyoming"))
);
}
#------------------------------------------------------------------------------#
function builtin_countries() {
return array(
new RazorFormOption(array("value"=>"AF", "display"=>"Afghanistan")),
new RazorFormOption(array("value"=>"AL", "display"=>"Albania")),
new RazorFormOption(array("value"=>"DZ", "display"=>"Algeria")),
new RazorFormOption(array("value"=>"AS", "display"=>"American Samoa")),
new RazorFormOption(array("value"=>"AD", "display"=>"Andorra")),
new RazorFormOption(array("value"=>"AG", "display"=>"Angola")),
new RazorFormOption(array("value"=>"AI", "display"=>"Anguilla")),
new RazorFormOption(array("value"=>"AG", "display"=>"Antigua & Barbuda")),
new RazorFormOption(array("value"=>"AR", "display"=>"Argentina")),
new RazorFormOption(array("value"=>"AA", "display"=>"Armenia")),
new RazorFormOption(array("value"=>"AW", "display"=>"Aruba")),
new RazorFormOption(array("value"=>"AU", "display"=>"Australia")),
new RazorFormOption(array("value"=>"AT", "display"=>"Austria")),
new RazorFormOption(array("value"=>"AZ", "display"=>"Azerbaijan")),
new RazorFormOption(array("value"=>"AP", "display"=>"Azores")),
new RazorFormOption(array("value"=>"BS", "display"=>"Bahamas")),
new RazorFormOption(array("value"=>"BH", "display"=>"Bahrain")),
new RazorFormOption(array("value"=>"BD", "display"=>"Bangladesh")),
new RazorFormOption(array("value"=>"BB", "display"=>"Barbados")),
new RazorFormOption(array("value"=>"BY", "display"=>"Belarus")),
new RazorFormOption(array("value"=>"BE", "display"=>"Belgium")),
new RazorFormOption(array("value"=>"BZ", "display"=>"Belize")),
new RazorFormOption(array("value"=>"BJ", "display"=>"Benin")),
new RazorFormOption(array("value"=>"BM", "display"=>"Bermuda")),
new RazorFormOption(array("value"=>"BT", "display"=>"Bhutan")),
new RazorFormOption(array("value"=>"BO", "display"=>"Bolivia")),
new RazorFormOption(array("value"=>"BL", "display"=>"Bonaire")),
new RazorFormOption(array("value"=>"BA", "display"=>"Bosnia & Herzegovina")),
new RazorFormOption(array("value"=>"BW", "display"=>"Botswana")),
new RazorFormOption(array("value"=>"BR", "display"=>"Brazil")),
new RazorFormOption(array("value"=>"BC", "display"=>"British Indian Ocean Ter")),
new RazorFormOption(array("value"=>"BN", "display"=>"Brunei")),
new RazorFormOption(array("value"=>"BG", "display"=>"Bulgaria")),
new RazorFormOption(array("value"=>"BF", "display"=>"Burkina Faso")),
new RazorFormOption(array("value"=>"BI", "display"=>"Burundi")),
new RazorFormOption(array("value"=>"KH", "display"=>"Cambodia")),
new RazorFormOption(array("value"=>"CM", "display"=>"Cameroon")),
new RazorFormOption(array("value"=>"CA", "display"=>"Canada")),
new RazorFormOption(array("value"=>"IC", "display"=>"Canary Islands")),
new RazorFormOption(array("value"=>"CV", "display"=>"Cape Verde")),
new RazorFormOption(array("value"=>"KY", "display"=>"Cayman Islands")),
new RazorFormOption(array("value"=>"CF", "display"=>"Central African Republic")),
new RazorFormOption(array("value"=>"TD", "display"=>"Chad")),
new RazorFormOption(array("value"=>"CD", "display"=>"Channel Islands")),
new RazorFormOption(array("value"=>"CL", "display"=>"Chile")),
new RazorFormOption(array("value"=>"CN", "display"=>"China")),
new RazorFormOption(array("value"=>"CI", "display"=>"Christmas Island")),
new RazorFormOption(array("value"=>"CS", "display"=>"Cocos Island")),
new RazorFormOption(array("value"=>"CO", "display"=>"Columbia")),
new RazorFormOption(array("value"=>"CC", "display"=>"Comoros")),
new RazorFormOption(array("value"=>"CG", "display"=>"Congo")),
new RazorFormOption(array("value"=>"CK", "display"=>"Cook Islands")),
new RazorFormOption(array("value"=>"CR", "display"=>"Costa Rica")),
new RazorFormOption(array("value"=>"CT", "display"=>"Cote D'Ivoire")),
new RazorFormOption(array("value"=>"HR", "display"=>"Croatia")),
new RazorFormOption(array("value"=>"CU", "display"=>"Cuba")),
new RazorFormOption(array("value"=>"CB", "display"=>"Curacao")),
new RazorFormOption(array("value"=>"CY", "display"=>"Cyprus")),
new RazorFormOption(array("value"=>"CZ", "display"=>"Czech Republic")),
new RazorFormOption(array("value"=>"DK", "display"=>"Denmark")),
new RazorFormOption(array("value"=>"DJ", "display"=>"Djibouti")),
new RazorFormOption(array("value"=>"DM", "display"=>"Dominica")),
new RazorFormOption(array("value"=>"DO", "display"=>"Dominican Republic")),
new RazorFormOption(array("value"=>"TM", "display"=>"East Timor")),
new RazorFormOption(array("value"=>"EC", "display"=>"Ecuador")),
new RazorFormOption(array("value"=>"EG", "display"=>"Egypt")),
new RazorFormOption(array("value"=>"SV", "display"=>"El Salvador")),
new RazorFormOption(array("value"=>"GQ", "display"=>"Equatorial Guinea")),
new RazorFormOption(array("value"=>"ER", "display"=>"Eritrea")),
new RazorFormOption(array("value"=>"EE", "display"=>"Estonia")),
new RazorFormOption(array("value"=>"ET", "display"=>"Ethiopia")),
new RazorFormOption(array("value"=>"FA", "display"=>"Falkland Islands")),
new RazorFormOption(array("value"=>"FO", "display"=>"Faroe Islands")),
new RazorFormOption(array("value"=>"FJ", "display"=>"Fiji")),
new RazorFormOption(array("value"=>"FI", "display"=>"Finland")),
new RazorFormOption(array("value"=>"FR", "display"=>"France")),
new RazorFormOption(array("value"=>"GF", "display"=>"French Guiana")),
new RazorFormOption(array("value"=>"PF", "display"=>"French Polynesia")),
new RazorFormOption(array("value"=>"FS", "display"=>"French Southern Ter")),
new RazorFormOption(array("value"=>"GA", "display"=>"Gabon")),
new RazorFormOption(array("value"=>"GM", "display"=>"Gambia")),
new RazorFormOption(array("value"=>"GE", "display"=>"Georgia")),
new RazorFormOption(array("value"=>"DE", "display"=>"Germany")),
new RazorFormOption(array("value"=>"GH", "display"=>"Ghana")),
new RazorFormOption(array("value"=>"GI", "display"=>"Gibraltar")),
new RazorFormOption(array("value"=>"GB", "display"=>"Great Britain")),
new RazorFormOption(array("value"=>"GR", "display"=>"Greece")),
new RazorFormOption(array("value"=>"GL", "display"=>"Greenland")),
new RazorFormOption(array("value"=>"GD", "display"=>"Grenada")),
new RazorFormOption(array("value"=>"GP", "display"=>"Guadeloupe")),
new RazorFormOption(array("value"=>"GU", "display"=>"Guam")),
new RazorFormOption(array("value"=>"GT", "display"=>"Guatemala")),
new RazorFormOption(array("value"=>"GN", "display"=>"Guinea")),
new RazorFormOption(array("value"=>"GY", "display"=>"Guyana")),
new RazorFormOption(array("value"=>"HT", "display"=>"Haiti")),
new RazorFormOption(array("value"=>"HW", "display"=>"Hawaii")),
new RazorFormOption(array("value"=>"HN", "display"=>"Honduras")),
new RazorFormOption(array("value"=>"HK", "display"=>"Hong Kong")),
new RazorFormOption(array("value"=>"HU", "display"=>"Hungary")),
new RazorFormOption(array("value"=>"IS", "display"=>"Iceland")),
new RazorFormOption(array("value"=>"IN", "display"=>"India")),
new RazorFormOption(array("value"=>"ID", "display"=>"Indonesia")),
new RazorFormOption(array("value"=>"IA", "display"=>"Iran")),
new RazorFormOption(array("value"=>"IQ", "display"=>"Iraq")),
new RazorFormOption(array("value"=>"IR", "display"=>"Ireland")),
new RazorFormOption(array("value"=>"IM", "display"=>"Isle of Man")),
new RazorFormOption(array("value"=>"IL", "display"=>"Israel")),
new RazorFormOption(array("value"=>"IT", "display"=>"Italy")),
new RazorFormOption(array("value"=>"JM", "display"=>"Jamaica")),
new RazorFormOption(array("value"=>"JP", "display"=>"Japan")),
new RazorFormOption(array("value"=>"JO", "display"=>"Jordan")),
new RazorFormOption(array("value"=>"KZ", "display"=>"Kazakhstan")),
new RazorFormOption(array("value"=>"KE", "display"=>"Kenya")),
new RazorFormOption(array("value"=>"KI", "display"=>"Kiribati")),
new RazorFormOption(array("value"=>"NK", "display"=>"Korea North")),
new RazorFormOption(array("value"=>"KS", "display"=>"Korea South")),
new RazorFormOption(array("value"=>"KW", "display"=>"Kuwait")),
new RazorFormOption(array("value"=>"KG", "display"=>"Kyrgyzstan")),
new RazorFormOption(array("value"=>"LA", "display"=>"Laos")),
new RazorFormOption(array("value"=>"LV", "display"=>"Latvia")),
new RazorFormOption(array("value"=>"LB", "display"=>"Lebanon")),
new RazorFormOption(array("value"=>"LS", "display"=>"Lesotho")),
new RazorFormOption(array("value"=>"LR", "display"=>"Liberia")),
new RazorFormOption(array("value"=>"LY", "display"=>"Libya")),
new RazorFormOption(array("value"=>"LI", "display"=>"Liechtenstein")),
new RazorFormOption(array("value"=>"LT", "display"=>"Lithuania")),
new RazorFormOption(array("value"=>"LU", "display"=>"Luxembourg")),
new RazorFormOption(array("value"=>"MO", "display"=>"Macau")),
new RazorFormOption(array("value"=>"MK", "display"=>"Macedonia")),
new RazorFormOption(array("value"=>"MG", "display"=>"Madagascar")),
new RazorFormOption(array("value"=>"MY", "display"=>"Malaysia")),
new RazorFormOption(array("value"=>"MW", "display"=>"Malawi")),
new RazorFormOption(array("value"=>"MV", "display"=>"Maldives")),
new RazorFormOption(array("value"=>"ML", "display"=>"Mali")),
new RazorFormOption(array("value"=>"MT", "display"=>"Malta")),
new RazorFormOption(array("value"=>"MH", "display"=>"Marshall Islands")),
new RazorFormOption(array("value"=>"MQ", "display"=>"Martinique")),
new RazorFormOption(array("value"=>"MR", "display"=>"Mauritania")),
new RazorFormOption(array("value"=>"MU", "display"=>"Mauritius")),
new RazorFormOption(array("value"=>"ME", "display"=>"Mayotte")),
new RazorFormOption(array("value"=>"MX", "display"=>"Mexico")),
new RazorFormOption(array("value"=>"MI", "display"=>"Midway Islands")),
new RazorFormOption(array("value"=>"MD", "display"=>"Moldova")),
new RazorFormOption(array("value"=>"MC", "display"=>"Monaco")),
new RazorFormOption(array("value"=>"MN", "display"=>"Mongolia")),
new RazorFormOption(array("value"=>"MS", "display"=>"Montserrat")),
new RazorFormOption(array("value"=>"MA", "display"=>"Morocco")),
new RazorFormOption(array("value"=>"MZ", "display"=>"Mozambique")),
new RazorFormOption(array("value"=>"MM", "display"=>"Myanmar")),
new RazorFormOption(array("value"=>"NA", "display"=>"Nambia")),
new RazorFormOption(array("value"=>"NU", "display"=>"Nauru")),
new RazorFormOption(array("value"=>"NP", "display"=>"Nepal")),
new RazorFormOption(array("value"=>"AN", "display"=>"Netherland Antilles")),
new RazorFormOption(array("value"=>"NL", "display"=>"Netherlands")),
new RazorFormOption(array("value"=>"NV", "display"=>"Nevis")),
new RazorFormOption(array("value"=>"NC", "display"=>"New Caledonia")),
new RazorFormOption(array("value"=>"NZ", "display"=>"New Zealand")),
new RazorFormOption(array("value"=>"NI", "display"=>"Nicaragua")),
new RazorFormOption(array("value"=>"NE", "display"=>"Niger")),
new RazorFormOption(array("value"=>"NG", "display"=>"Nigeria")),
new RazorFormOption(array("value"=>"NW", "display"=>"Niue")),
new RazorFormOption(array("value"=>"NF", "display"=>"Norfolk Island")),
new RazorFormOption(array("value"=>"NO", "display"=>"Norway")),
new RazorFormOption(array("value"=>"OM", "display"=>"Oman")),
new RazorFormOption(array("value"=>"PK", "display"=>"Pakistan")),
new RazorFormOption(array("value"=>"PW", "display"=>"Palau Island")),
new RazorFormOption(array("value"=>"PS", "display"=>"Palestine")),
new RazorFormOption(array("value"=>"PA", "display"=>"Panama")),
new RazorFormOption(array("value"=>"PG", "display"=>"Papua New Guinea")),
new RazorFormOption(array("value"=>"PY", "display"=>"Paraguay")),
new RazorFormOption(array("value"=>"PE", "display"=>"Peru")),
new RazorFormOption(array("value"=>"PH", "display"=>"Philippines")),
new RazorFormOption(array("value"=>"PO", "display"=>"Pitcairn Island")),
new RazorFormOption(array("value"=>"PL", "display"=>"Poland")),
new RazorFormOption(array("value"=>"PT", "display"=>"Portugal")),
new RazorFormOption(array("value"=>"PR", "display"=>"Puerto Rico")),
new RazorFormOption(array("value"=>"QA", "display"=>"Qatar")),
new RazorFormOption(array("value"=>"RE", "display"=>"Reunion")),
new RazorFormOption(array("value"=>"RO", "display"=>"Romania")),
new RazorFormOption(array("value"=>"RU", "display"=>"Russia")),
new RazorFormOption(array("value"=>"RW", "display"=>"Rwanda")),
new RazorFormOption(array("value"=>"NT", "display"=>"St Barthelemy")),
new RazorFormOption(array("value"=>"EU", "display"=>"St Eustatius")),
new RazorFormOption(array("value"=>"HE", "display"=>"St Helena")),
new RazorFormOption(array("value"=>"KN", "display"=>"St Kitts-Nevis")),
new RazorFormOption(array("value"=>"LC", "display"=>"St Lucia")),
new RazorFormOption(array("value"=>"MB", "display"=>"St Maarten")),
new RazorFormOption(array("value"=>"PM", "display"=>"St Pierre & Miquelon")),
new RazorFormOption(array("value"=>"VC", "display"=>"St Vincent & Grenadines")),
new RazorFormOption(array("value"=>"SP", "display"=>"Saipan")),
new RazorFormOption(array("value"=>"SO", "display"=>"Samoa")),
new RazorFormOption(array("value"=>"AS", "display"=>"Samoa American")),
new RazorFormOption(array("value"=>"SM", "display"=>"San Marino")),
new RazorFormOption(array("value"=>"ST", "display"=>"Sao Tome & Principe")),
new RazorFormOption(array("value"=>"SA", "display"=>"Saudi Arabia")),
new RazorFormOption(array("value"=>"SN", "display"=>"Senegal")),
new RazorFormOption(array("value"=>"SC", "display"=>"Seychelles")),
new RazorFormOption(array("value"=>"SS", "display"=>"Serbia & Montenegro")),
new RazorFormOption(array("value"=>"SL", "display"=>"Sierra Leone")),
new RazorFormOption(array("value"=>"SG", "display"=>"Singapore")),
new RazorFormOption(array("value"=>"SK", "display"=>"Slovakia")),
new RazorFormOption(array("value"=>"SI", "display"=>"Slovenia")),
new RazorFormOption(array("value"=>"SB", "display"=>"Solomon Islands")),
new RazorFormOption(array("value"=>"OI", "display"=>"Somalia")),
new RazorFormOption(array("value"=>"ZA", "display"=>"South Africa")),
new RazorFormOption(array("value"=>"ES", "display"=>"Spain")),
new RazorFormOption(array("value"=>"LK", "display"=>"Sri Lanka")),
new RazorFormOption(array("value"=>"SD", "display"=>"Sudan")),
new RazorFormOption(array("value"=>"SR", "display"=>"Suriname")),
new RazorFormOption(array("value"=>"SZ", "display"=>"Swaziland")),
new RazorFormOption(array("value"=>"SE", "display"=>"Sweden")),
new RazorFormOption(array("value"=>"CH", "display"=>"Switzerland")),
new RazorFormOption(array("value"=>"SY", "display"=>"Syria")),
new RazorFormOption(array("value"=>"TA", "display"=>"Tahiti")),
new RazorFormOption(array("value"=>"TW", "display"=>"Taiwan")),
new RazorFormOption(array("value"=>"TJ", "display"=>"Tajikistan")),
new RazorFormOption(array("value"=>"TZ", "display"=>"Tanzania")),
new RazorFormOption(array("value"=>"TH", "display"=>"Thailand")),
new RazorFormOption(array("value"=>"TG", "display"=>"Togo")),
new RazorFormOption(array("value"=>"TK", "display"=>"Tokelau")),
new RazorFormOption(array("value"=>"TO", "display"=>"Tonga")),
new RazorFormOption(array("value"=>"TT", "display"=>"Trinidad & Tobago")),
new RazorFormOption(array("value"=>"TN", "display"=>"Tunisia")),
new RazorFormOption(array("value"=>"TR", "display"=>"Turkey")),
new RazorFormOption(array("value"=>"TU", "display"=>"Turkmenistan")),
new RazorFormOption(array("value"=>"TC", "display"=>"Turks & Caicos Is")),
new RazorFormOption(array("value"=>"TV", "display"=>"Tuvalu")),
new RazorFormOption(array("value"=>"UG", "display"=>"Uganda")),
new RazorFormOption(array("value"=>"UA", "display"=>"Ukraine")),
new RazorFormOption(array("value"=>"AE", "display"=>"United Arab Emirates")),
new RazorFormOption(array("value"=>"US", "display"=>"United States of America")),
new RazorFormOption(array("value"=>"UY", "display"=>"Uruguay")),
new RazorFormOption(array("value"=>"UZ", "display"=>"Uzbekistan")),
new RazorFormOption(array("value"=>"VU", "display"=>"Vanuatu")),
new RazorFormOption(array("value"=>"VS", "display"=>"Vatican City State")),
new RazorFormOption(array("value"=>"VE", "display"=>"Venezuela")),
new RazorFormOption(array("value"=>"VN", "display"=>"Vietnam")),
new RazorFormOption(array("value"=>"VB", "display"=>"Virgin Islands (Brit)")),
new RazorFormOption(array("value"=>"VA", "display"=>"Virgin Islands (USA)")),
new RazorFormOption(array("value"=>"WK", "display"=>"Wake Island")),
new RazorFormOption(array("value"=>"WF", "display"=>"Wallis & Futana Is")),
new RazorFormOption(array("value"=>"YE", "display"=>"Yemen")),
new RazorFormOption(array("value"=>"ZR", "display"=>"Zaire")),
new RazorFormOption(array("value"=>"ZM", "display"=>"Zambia")),
new RazorFormOption(array("value"=>"ZW", "display"=>"Zimbabwe"))
);
}
////////////////////////////////////////////////////////////////////////////////
?>