A PHP class to create form elements on-the-fly
By : feha
<?php
class Vision_To_Form_Elements
{
/*
<!--
****************************************************
* Website: http://www.vision.to *
* Copyright © by WWW.VISION.TO *
* All Rights Reserved *
* Author:Femi Hasani *
* Contact: info@vision.to *
* This application is protected by international *
* copyright laws. *
****************************************************
-->
*/
/*
== DO NOT REMOVE OR MODIFY COPYRIGHT NOTICE ==
Class: Vision.To Form Elements [part of Vision.To Universal Form Creator]
Version: V 0.2.1
License: Commercial (For Commercial Use Contact Us.)
License2: Free For Non-Commercial Use , Giva a Credit
Author: Femi Hasani
Website: www.vision.to & wowdev.com
Created: 2003
Language: PHP
Features:
XHTML Compatible Output (accessibility, 508 etc ...) :)
Inteligent Element Selector
== DO NOT REMOVE OR MODIFY COPYRIGHT NOTICE ==
== YOU CAN DISTRIBUTE, COPY, INCLUDE IN OWN GPL, CC NON-COMMERCIAL PROJECTS ==
Usage:
$ADD_ELEMENT="";
$VisionToFormElements = new Vision_To_Form_Elements;
$ADD_ELEMENT=$VisionToFormElements->add_form_element($FieldType, $label, $name, $value, $size="", $maxlength="", $rows="", $columns="", $options, $checked="", $selected="", $required="", $max_filesize="", $repeat_filed="", $element_only=1);
echo $ADD_ELEMENT;
*/
//==============================================================================================================
//==============================================================================================================
var $__field_type;
var $__label;
var $__field_name;
var $__default_field_value;
var $__field_size;
var $__field_maxlength;
var $__rows;
var $__columns;
var $__options;
var $__checked;
var $__selected;
var $__required;
var $__max_filesize;
var $__repeat_filed;
var $__element_only;
//var $__element_css;
//==============================================================================================================
//FORM FUNCTIONS ...
//FORM START ...
function form_generate_start_form($form_action, $enc_type, $form_name, $form_title) {
$form_element = "<form method=\"post\" action=\"$form_action\" enctype=\"$enc_type\" name=\"$form_name\">\n";
$form_element .= "<fieldset><legend><h2>$form_title</h2></legend>\n";
return $form_element;
}
//FORM END ...
function form_generate_end_form() {
$form_element = "</fieldset></form>\n";
return $form_element;
}
//==============================================================================================================
// FORM ELEMENTS FUNCTIONS
//==============================================================================================================
//FORM TEXT INPUT
function form_generate_textinput($__label, $__field_name, $__field_size, $__field_maxlength, $__default_field_value, $__required, $__element_only) {
if($__field_size==""){$__field_size=50;}
if($__element_only == 1)
{
$form_element = "<input class=\"VisionToInput\" type=\"text\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" value=\"$__default_field_value\" maxlength=\"$__field_maxlength\">";
}
else
{
$form_element = "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<input class=\"VisionToInput\" type=\"text\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" value=\"$__default_field_value\" maxlength=\"$__field_maxlength\">";
$form_element .= "<br class=\"clear-br\" /></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM Password INPUT
function form_generate_password($__label, $__field_name, $__field_size, $__field_maxlength, $__default_field_value, $__required, $__element_only) {
if($__field_size==""){$__field_size=30;}
if($__element_only == 1)
{
$form_element = "<input class=\"VisionToInput\" type=\"password\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" value=\"$__default_field_value\" maxlength=\"$__field_maxlength\">";
}
else
{
$form_element = "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<span class=\"field_input\"><input class=\"VisionToInput\" type=\"password\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" value=\"$__default_field_value\" maxlength=\"$__field_maxlength\">";
$form_element .= "<br class=\"clear-br\" /></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM FILE INPUT
function form_generate_file_input($__label, $__field_name, $__field_size, $__max_filesize, $__default_field_value, $__required, $number_of_files, $__element_only) {
if($__field_size==""){$__field_size=35;}
if($__max_filesize==""){$__max_filesize=8000000;}
if($number_of_files==""){$number_of_files=0;}
//accept=""
$form_element = "<fieldset><legend>$__label $__required</legend>";
$form_element .= "";
for($i=0;$i<$number_of_files;$i++)
{
$form_element .= "<div class=\"form-element\"><div class=\"left-column\"><label for=\"".$__field_name."_".$i."\" title=\"$__label $i\">$__label $i $__required :</label></div><input class=\"VisionToInput\" type=\"file\" id=\"".$__field_name."_".$i."\" name=\"".$__field_name."[]\" size=\"$__field_size\"><br class=\"clear-br\" /></div>\n";
}
$form_element .= "</fieldset>";
return $form_element;
}
//==============================================================================================================
//FORM CHECK BOX INPUT
function form_generate_checkbox($__label, $__field_name, $__options, $__default_field_value, $__checked, $__required, $__element_only) {
if($__element_only == 1)
{
$form_element = "<input class=\" VisionToInput\" type=\"checkbox\" id=\"$__field_name\" name=\"$__field_name\" value=\"$__default_field_value\" $__checked>$__label $__required";
}
else
{
$form_element = "<div class=\"VisionToFormElement\">";
$form_element .= "<input class=\" VisionToInput\" type=\"checkbox\" id=\"$__field_name\" name=\"$__field_name\" value=\"$__default_field_value\" $__checked><label for=\"$__field_name\">$__label $__required </label>";
$form_element .= "<br class=\"clear-br\" /></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM RADIO BUTTON INPUT
function form_generate_radio($__label, $__field_name, $__options, $__default_field_value, $__selected, $__required, $__element_only) {
if($__element_only == 1)
{
$form_element = "<input class=\" VisionToInput\" type=\"radio\" id=\"$__field_name\" name=\"$__field_name\" value=\"$__default_field_value\" $__selected>$__label $__required ";
}
else
{
$form_element = "<div class=\"VisionToFormElement\">";
$form_element .= "<input class=\" VisionToInput\" type=\"radio\" id=\"$__field_name\" name=\"$__field_name\" value=\"$__default_field_value\" $__selected><label for=\"$__field_name\">$__label $__required </label>";
$form_element .= "<br class=\"clear-br\" /></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM TEXT AREA
function form_generate_textarea($__label, $__field_name, $__default_field_value, $__rows, $__columns, $__required, $__element_only) {
if($__rows==""){$__rows=5;}
if($__columns==""){$__columns=50;}
if($__element_only == 1)
{
$form_element = "<textarea class=\"VisionToTextarea\" id=\"$__field_name\" name=\"$__field_name\" rows=\"$__rows\" cols=\"$__columns\">".$__default_field_value."</textarea>\n";
}
else
{
$form_element = "<fieldset><legend>$__label $__required</legend>";
$form_element .= "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<textarea class=\"VisionToTextarea\" id=\"$__field_name\" name=\"$__field_name\" rows=\"$__rows\" cols=\"$__columns\">".$__default_field_value."</textarea><br class=\"clear-br\" /></div>\n";
$form_element .= "</fieldset>\n";
}
return $form_element;
}
//===============================================================================================================
//==============================================================================================================
//FORM IMG
function form_generate_image($__label, $__field_name, $image, $width, $height) {
$form_element = "<input type=\"image\" id=\"$__field_name\" name=\"$__field_name\" src=\"$image\" width=\"$width\" height=\"$height\" alt=\"$__label\" border=\"0\" />\n";
return $form_element;
}
//===============================================================================================================
//================================================= CHECK BOX LIST ==============================================
//FORM CHECKBOX
function form_generate_checkbox_list($__label, $__field_name, $__options, $__default_field_value, $__checked, $__required, $__element_only) {
$form_element = "<fieldset><legend>$__label $__required</legend><div class=\"VisionToFormElement\">";
$form_element .= "<div class=\"checkbox-list-container\">\n";
$opts ="";
$subarray="";
$op_name="";
$__default_field_values="";
$opts = explode("|", $__options);
$field_index=1;
$opts =array_unique($opts);
while (list($op_name, $subarray) = each($opts))
{
list($__default_field_values, $op_name) = explode(";", $subarray);
if($__default_field_values== $__default_field_value)
{
$form_element .= "<div class=\"checkboxlist\"><label for=\"".$__field_name."_".$field_index."\" title=\"$op_name\"><input class=\"VisionToCheckBoxInput\" type=\"checkbox\" id=\"".$__field_name."_".$field_index."\" name=\"".$__field_name."[]\" value=\"$__default_field_values\" $__checked><span>$op_name</span></label></div>";
}
else
{
$form_element .= "<div class=\"checkboxlist\"><label for=\"".$__field_name."_".$field_index."\" title=\"$op_name\"><input class=\"VisionToCheckBoxInput\" type=\"checkbox\" id=\"".$__field_name."_".$field_index."\" name=\"".$__field_name."[]\" value=\"$__default_field_values\" ><span>$op_name</span></label></div>";
}
$field_index++;
}
$form_element .= "</div></div></fieldset>\n";
return $form_element;
}
//===========================================================================================================
//============================================= RADIO LIST ==================================================
//FORM RADIO LIST
function form_generate_radio_list($__label, $__field_name, $__options, $__default_field_value, $__checked, $__required, $__element_only) {
$form_element = "<fieldset><legend>$__label $__required</legend><div class=\"VisionToFormElement\">";
$form_element .= "<div class=\"radio-list-container\">\n";
$opts ="";
$subarray="";
$op_name="";
$__default_field_values="";
$opts = explode("|", $__options);
$field_index=1;
$opts =array_unique($opts);
while (list($op_name, $subarray) = each($opts))
{
list($__default_field_values, $op_name) = explode(";", $subarray);
if($__default_field_values== $__default_field_value)
{
$form_element .= "<div class=\"radiolist\"><label for=\"".$__field_name."_".$field_index."\" title=\"$op_name\"><input class=\"VisionToRadioInput\" type=\"radio\" id=\"".$__field_name."_".$field_index."\" name=\"".$__field_name."\" value=\"$__default_field_values\" $__checked ><span>$op_name</span></label></div>";
}
else
{
$form_element .= "<div class=\"radiolist\"><label for=\"".$__field_name."_".$field_index."\" title=\"$op_name\"><input class=\"VisionToRadioInput\" type=\"radio\" id=\"".$__field_name."_".$field_index."\" name=\"".$__field_name."\" value=\"$__default_field_values\" ><span>$op_name</span></label></div>";
}
$field_index++;
}
$form_element .= "</div></div></fieldset>\n";
return $form_element;
}
//===========================================================================================================
//============================================ DROPDOWN LISTBOX MULTI ==================================================
//FORM SELECT LIST-BOX MULTI
function form_generate_select($__label, $__field_name, $__field_size, $__options, $__default_field_value, $__required, $__element_only) {
if($__field_size==""){$__field_size=1;}
$form_element = "";
if($__field_size > 1)
{
$form_element .= "<fieldset><legend>$__label $__required</legend>";
$form_element .= "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<select class=\"VisionToSelect\" id=\"$__field_name\" name=\"".$__field_name."[]\" size=\"$__field_size\" multiple>\n";
}
else
{
$form_element .= "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<select class=\"VisionToSelect\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\">\n";
}
$opts ="";
$subarray="";
$op_name="";
$__default_field_values="";
$opts = explode("|", $__options);
$opts =array_unique($opts);
while (list($op_name, $subarray) = each($opts))
{
list($__default_field_values, $op_name) = explode(";", $subarray);
if($__default_field_values== $__default_field_value)
{
$form_element .= "<option value=\"$__default_field_values\" selected >$op_name</option>\n";
}
else
{
$form_element .= "<option value=\"$__default_field_values\">$op_name</option>\n";
}
}
$form_element .= "</select></div>\n";
if($__field_size > 1)
{
$form_element .= "</fieldset>\n";
}
return $form_element;
}
//==============================================================================================================
//============================================ DROPDOWN LISTBOX SINGLE==================================================
//FORM SELECT LIST-BOX SINGLE
function form_generate_select_single($__label, $__field_name, $__field_size, $__options, $__default_field_value, $__required, $__element_only) {
if($__field_size==""){$__field_size=1;}
$form_element = "";
if($__element_only == 1)
{
//$form_element .= "<select class=\"VisionToSelect\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" onchange=\"update(this.options[this.selectedIndex].value)\" >\n";
$form_element .= "<select class=\"VisionToSelect\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\" >\n";
$opts ="";
$subarray="";
$op_name="";
$__default_field_values="";
$opts = explode("|", $__options);
$opts =array_unique($opts);
while (list($op_name, $subarray) = each($opts))
{
list($__default_field_values, $op_name) = explode(";", $subarray);
/*
if(CCGetParam($__field_name,"")!="")
{
$form_element .= "<option value=\"".CCGetParam($__field_name,"")."\" selected >$op_name</option>\n";
}
*/
if($__default_field_values== $__default_field_value)
{
$form_element .= "<option value=\"$__default_field_values\" selected >$op_name</option>\n";
}
else
{
$form_element .= "<option value=\"$__default_field_values\">$op_name</option>\n";
}
}
$form_element .= "</select>\n";
}
else
{
$form_element .= "<div class=\"form-element\"><div class=\"left-column\"><label for=\"$__field_name\" title=\"$__label\">$__label $__required :</label></div>";
$form_element .= "<select class=\"VisionToSelect\" id=\"$__field_name\" name=\"$__field_name\" size=\"$__field_size\">\n";
$opts ="";
$subarray="";
$op_name="";
$__default_field_values="";
$opts = explode(";", $__options);
$opts =array_unique($opts);
while (list($op_name, $subarray) = each($opts))
{
list($__default_field_values, $op_name) = explode(";", $subarray);
if($__default_field_values== $__default_field_value)
{
$form_element .= "<option value=\"$__default_field_values\" selected >$op_name</option>\n";
}
else
{
$form_element .= "<option value=\"$__default_field_values\">$op_name</option>\n";
}
}
$form_element .= "</select></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM HIDDEN INPUT
function form_generate_hidden($__field_name, $__default_field_value) {
$form_element = "<input type=\"hidden\" name=\"name\" value=\"$__default_field_value\">\n";
return $form_element;
}
//==============================================================================================================
//FORM SUBMIT BUTTON
function form_generate_submit($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only) {
if($__element_only == 1)
{
$form_element = "<input class=\"VisionToButton\" type=\"submit\" name=\"$__field_name\" value=\"$__default_field_value\">";
}
else
{
$form_element = "<div class=\"VisionToFormElement\"><span class=\"field_caption\">$__label $__required </span>";
$form_element .= "<span class=\"field_input\"><input class=\"VisionToButton\" type=\"submit\" name=\"$__field_name\" value=\"$__default_field_value\"></span></div>\n";
//$form_element .= "<br class=\"clear-br\" /></div>\n";
}
return $form_element;
}
//==============================================================================================================
//FORM RESET BUTTON
function form_generate_resetform($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only) {
$form_element = "<div class=\"VisionToFormElement\"><span class=\"field_caption\">$__label $__required </span>";
$form_element .= "<span class=\"field_input\"><input class=\"VisionToButton\" type=\"reset\" name=\"$__field_name\" value=\"$__default_field_value\"></span></div>\n";
return $form_element;
}
//==============================================================================================================
//FORM RESET BUTTON
function form_generate_back_button($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only) {
$form_element = "<div class=\"VisionToFormElement\"><span class=\"field_caption\">$__label $__required </span>";
$form_element .= "<span class=\"field_input\"><input class=\"VisionToButton\" type=\"reset\" value=\"$__default_field_value\"></span></div>\n";
return $form_element;
}
//==============================================================================================================
/* ELEMENT SELECTOR */
function add_form_element
(
$__field_type,
$__label,
$__field_name,
$__default_field_value,
$__field_size,
$__field_maxlength,
$__rows, $__columns,
$__options,
$__checked,
$__selected,
$__required,
$__max_filesize,
$__repeat_filed,
$__element_only
)
{
//$VisionToFormElements = new Vision_To_Form_Elements;
$number_of_files=$__repeat_filed;
if(!$__field_maxlength){$__field_maxlength=255;}
if(!$__checked){$__checked="checked";}
if($__max_filesize==""){$__max_filesize=8000000;}
if($__element_only==""){$__element_only=0;}
/* ELEMENT SELECTOR */
switch($__field_type)
{
//TEXT
case "text":return $this->form_generate_textinput($__label, $__field_name, $__field_size, $__field_maxlength, $__default_field_value, $__required, $__element_only);
break;
//HIDDEN
case "hidden": return $this->form_generate_hidden($__field_name, $__default_field_value, $__required, $__element_only);
break;
//FILE INPUT
case "file": return $this->form_generate_file_input($__label, $__field_name, $__field_size, $__max_filesize, $__default_field_value, $__required, $number_of_files, $__element_only);
break;
//LISTBOX
case "select": return $this->form_generate_select_single($__label, $__field_name, $__field_size, $__options, $__default_field_value, $__required, $__element_only);
break;
//CHECKBOX
case "checkbox": return $this->form_generate_checkbox_list($__label, $__field_name, $__options, $__default_field_value, $__checked, $__required, $__element_only);
break;
//RADIO
case "radio": return $this->form_generate_radio_list($__label, $__field_name, $__options, $__default_field_value, $__checked, $__required, $__element_only);
break;
//TEXTAREA
case "textarea": return $this->form_generate_textarea($__label, $__field_name, $__default_field_value, $__rows, $__columns, $__required, $__element_only);
break;
//PASSWORD
case "password": return $this->form_generate_password($__label, $__field_name, $__field_size, $__field_maxlength, $__default_field_value, $__required, $__element_only);
break;
//SUBMIT
case "submit": return $this->form_generate_submit($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only);
break;
//RESET
case "reset": return $this->form_generate_resetform($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only);
break;
//BACK
case "back": return $this->form_generate_back_button($__label, $__field_name, $__field_size, $__default_field_value, $__required, $__element_only);
break;
//DEFAULT
default: return $this->form_generate_textinput($__label, $__field_name, $__field_size, $__field_maxlength, $__default_field_value, $__required, $__element_only);
}
}
//==============================================================================================================
} //End of Vision_To_Form_Elements CLASS
//==============================================================================================================
?>
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More Content Management Code Articles
More By Codewalkers
developerWorks - FREE Tools! |
You'll get answers to many questions and more from David Barnes, Lead Evangelist for IBM Emerging Internet Technologies. David will discuss aspects of Web 2.0 that bring value to corporations, academia, and government. He'll also discuss IBM's vision around Web 2.0, including the importance of remixability and consumability. The discussion will culminate with examples of various IBM Software Group solutions you can use to get ahead of the Web 2.0 adoption curve. FREE! Go There Now!
|
|
|
|
Building a software-as-a-service solution requires addressing a few key technical challenges. In this webcast, we'll focus on the role of IBM Tivoli Directory Server and WebSphere Portlet Factory in creating a Software as a Service solution. We will demonstrate how to use Tivoli Directory Server to prevent the user population of one tenant from accessing the virtual portal and portlet components of another tenant. We will also use the dynamic profile capability of WebSphere Portlet Factory to create multiple highly customized applications from one code base. FREE! Go There Now!
|
|
|
|
XML has become a common way of storing business data as flat files and many data server vendors including IBM have provided ways to store this data within relational database systems. Increasingly collections of XML files are accessed like databases using an xQuery and other XML standard mechanisms. Businesses find the need to combine the traditional tabular structured data with XML formatted data. In this webcast, you’ll learn about IBM’s WebSphere Federation Server technology, which provides users with the ability to integrate these two data formats. FREE! Go There Now!
|
|
|
|
Join this Rational Talks to You teleconference on December 6 at 1:00 pm ET to participate in an agile application development discussion and get your questions answered on using IBM Rational Method Composer in a distributed environment.Get your questions answered! FREE! Go There Now!
|
|
|
|
Discover how Rational tools and best practices for testing can make your job easier. The new Rational Testing eKits provide you with valuable resources – including demos, webcasts, tutorials, and articles – that help you address your specific testing needs across the software lifecycle. Five new eKits are available covering the topics of Requirements and Test Management, Functional Testing, Performance Testing, Code Quality and Embedded Systems, and SOA and Web Services Testing. FREE! Go There Now!
|
|
|
|
Try the latest version of IBM Rational Manual Tester V7.0.1 by downloading a free trial from IBM developerWorks. This manual test authoring and execution tool promotes test step reuse to reduce the impact of software change on testers and business analysts and addresses the needs of teams performing at least a portion of their testing manually. FREE! Go There Now!
|
|
|
|
Get a free trial download of the latest version of IBM Rational Method Composer V7.2 which helps you deliver customized yet consistent process guidance to your project teams and IT organization, and includes the latest version of IBM Rational Unified Process (RUP), which has provided process guidance to teams since 1996. FREE! Go There Now!
|
|
|
|
Join this Rational Talks to You teleconference, to hear how Enterprise Generation Language (EGL) eliminates the need for tedious and error-prone low level coding, so developers can focus on business requirements. EGL extends the Rational software development platform with a simplified programming language that enables developers who have little or no experience with Java, Web technologies or Service Oriented Architecture, to create enterprise-class applications and services quickly and easily. It also allows developers who may have little or no mainframe programming experience to quickly create traditional mainframe components. FREE! Go There Now!
|
|
|
|
The discipline of assembling and delivering software is maturing beyond standard developer-centric compile/test software builds. The end-to-end software development lifecycle is emerging as the new focus moves “Beyond the Build.” Join this on demand webcast to learn about methods for streamlining software delivery and key capabilities of the IBM Rational Build Forge framework for automating build and release management in environments of any size. FREE! Go There Now!
|
|
|
|
User communities play an important role in communication and collaboration around products, solutions and other areas of special interest to members. Successful communities are able to provide the right mix of content and services to deliver a value proposition that resonates with each audience. Join Tom Inman, VP of Marketing for Information and Platform Solutions as he introduces the new LeverageINFORMATION community. During this webcast, learn about the value provided by the community and how customers and partners derive value from the community in addressing their own technical and business challenges. FREE! Go There Now!
|
|
|
|
All FREE IBM® developerWorks Tools! |