Show xhtml_form.php syntax highlighted
<?php
class XHTMLFormRawOutput extends FormRawOutput {
protected $label = ' ';
public function setLabel($label) {
$this->label = $label;
}
public function generate() {
$output = '<div>';
$output .= '<label for="' . $this->getID() . '">' . $this->label . '</label>';
$output .= $this->rawOutput;
$output .= '</div>';
return $output;
}
}
class XHTMLWYSIWYG implements FormObject {
protected $id = false;
protected $name = false;
protected $label = false;
protected $value = "";
public function __construct($id) {
$this->id = $id . '_' . FormManager :: getID();
$this->name = $id;
}
public function getID() {
return $this->id;
}
public function setValue($value) {
$this->value = $value;
}
public function setLabel($label) {
$this->label = $label;
}
public function generate() {
$output = '<div>';
$output .= '<label for="' . $this->id . '">' . $this->label . '</label>';
$output .= WYSIWYG :: Show($this->name, $this->value);
$output .= '</div>';
return $output;
}
}
class XHTMLFormInput extends FormInput {
protected $checked = false;
protected $buttonAction = false;
protected $datePickerModule = false;
public function setDatePickerModule($module) {
$this->datePickerModule=$module;
}
public function generate() {
if ($this->type == FormInput :: TEXT) {
$type = "text";
} else
if ($this->type == FormInput :: SUBMIT) {
$type = "submit";
} else
if ($this->type == FormInput :: CHECKBOX) {
$type = "checkbox";
} else
if ($this->type == FormInput :: HIDDEN) {
$type = "hidden";
} else
if ($this->type == FormInput :: BUTTON) {
$type = "button";
} else if ($this->type == FormInput::DATEPICKER) {
$type="text";
}
if ($this->value === false)
$value = '';
else {
$value = 'value="' . $this->value . '"';
}
if ($this->checked && $this->type == FormInput::CHECKBOX) {
$checked = 'checked="checked"';
} else {
$checked = '';
}
if ($this->buttonAction && $this->type == FormInput::BUTTON) {
$buttonAction='onclick="'.$this->buttonAction.'"';
} else {
$buttonAction='';
}
$output = '';
if ($this->type != FormInput::HIDDEN) {
$output .= '<div>';
$output .= '<label for="' . $this->getID() . '">' . $this->label . '</label>';
}
if ($this->type == FormInput::TEXT) {
$length='maxlength="255"';
} else {
$length='';
}
$output .= '<input type="' . $type . '" id="' . $this->id . '" name="' . $this->name . '" ' . $value . ' ' . $checked . ' '.$buttonAction.' '.$length.' />';
if ($this->type == FormInput::DATEPICKER) {
global $XCS;
$calendar = $XCS->loadModule('calendar');
$output .= $calendar->object->createButton($this->id,Date::NOW(Date::WITHOUT_TIME),$this->datePickerModule);
}
if ($this->type != FormInput::HIDDEN) {
$output .= '</div>';
}
return $output;
}
public function checked($checked = true) {
$this->checked = $checked;
}
public function setButtonAction($action) {
$this->buttonAction=$action;
}
}
class XHTMLFormSelect extends FormSelect {
public function generateOptions() {
$output = '';
foreach ($this->options as $option) {
if ($this->isSelected($option->getValue()))
$selected = ' selected="selected"';
else
$selected = '';
$output .= '<option value="' . $option->getValue() . '"' . $selected . '>' . $option->getName() . '</option>';
}
return $output;
}
public function generate() {
$output = '<div>';
$output .= '<label for="' . $this->id . '">' . $this->label . '</label>';
$output .= '<select id="' . $this->id . '" name="' . $this->name . '">';
$output .= $this->generateOptions();
$output .= '</select>';
$output .= '</div>';
return $output;
}
}
class XHTMLForm extends Form {
protected function setAction($action) {
if ($action === false)
$action = '#';
$this->action = $action;
}
protected function generateHeader() {
if ($this->method == self :: POST)
$method = "post";
else
$method = "get";
$output = '<form class="xcs_form" method="' . $method . '" action="' . $this->action . '">';
$output .= '<fieldset>';
$output .= '<legend>' . $this->label . '</legend>';
return $output;
}
protected function generateFooter() {
global $XCS;
$output = '</fieldset>';
$output .= '<fieldset>';
$output .= '<div>';
$output .= '<input type="hidden" name="redirect" value="' . Location :: getURL('&') . '" />';
$output .= '<input type="submit" value="' . $this->getSubmitButtonValue() . '" />';
$output .= '</div>';
$output .= '</fieldset>';
$output .= '</form>';
return $output;
}
public function addInput($id) {
return $this->addObject($id, new XHTMLFormInput($id));
}
public function addWYSIWYG($id) {
return $this->addObject($id, new XHTMLWYSIWYG($id));
}
public function addSelect($id) {
return $this->addObject($id, new XHTMLFormSelect($id));
}
public function addRawOutput($rawOutput) {
return $this->addObject($rawOutput, new XHTMLFormRawOutput($rawOutput));
}
}
?>
See more files for this project here
EliteCore Project is a PHP5.1/Javascript/AJAX/XHTML/CSS framework for creating WEB 2.0 applications and services.The basic open-source instalation can be also used as an interactive personal page or BLOG.This project uses the latest features available.
Project homepage:
http://sourceforge.net/projects/elitecore
Programming language(s): JavaScript,PHP,XML
License: cpl
debug/
content.php
exceptions/
ajaxflush.php
nomodule.php
undefineddata.php
interface/
encryption.php
form.php
module_class.php
session_interface.php
renderers/
default.php
sql/
mysql.php
mysqli.php
themes/
ECP/
accept.png
add.png
alt_star.gif
anchor.png
arrow_refresh.png
asterisk_orange.png
asterisk_yellow.png
attach.png
back.png
cog_error.png
cog_go.png
comment.png
comment_add.png
comment_delete.png
comment_edit.png
comments.png
comments_add.png
comments_delete.png
control_play_blue.png
drive.png
gnome-fs-directory.png
gnome-mime-audio.png
layers.png
layout.png
layout_add.png
layout_content.png
layout_delete.png
layout_edit.png
layout_error.png
layout_header.png
layout_link.png
layout_sidebar.png
lightbulb.png
lightbulb_add.png
lightbulb_delete.png
lightbulb_off.png
lightning.png
lightning_add.png
lightning_delete.png
lightning_go.png
link.png
link_add.png
link_break.png
link_delete.png
link_edit.png
link_error.png
link_go.png
lock.png
lock_add.png
lock_break.png
lock_delete.png
lock_edit.png
lock_go.png
lock_open.png
newspaper.png
newspaper_add.png
newspaper_delete.png
newspaper_go.png
newspaper_link.png
note.gif
note.png
note_add.png
note_delete.gif
note_delete.png
note_edit.png
note_error.png
note_go.png
note_new.gif
overlays.png
package.png
package_add.png
package_delete.png
package_go.png
package_green.png
package_link.png
page.gif
page.png
page_add.png
page_attach.png
page_code.png
page_copy.png
page_delete.png
page_edit.png
page_error.png
page_excel.png
page_find.png
page_gear.png
page_go.png
page_green.png
page_key.png
page_lightning.png
page_link.png
page_paintbrush.png
page_paste.png
page_red.png
page_refresh.png
page_save.png
page_white.png
pencil.png
pencil_add.png
pencil_delete.png
pencil_go.png
photo.png
photo_add.png
photo_delete.png
photo_link.png
photos.png
picture.png
picture_add.png
picture_delete.png
picture_edit.png
picture_empty.png
picture_error.png
picture_go.png
picture_key.png
picture_link.png
picture_save.png
pictures.png
plugin.png
plugin_add.png
plugin_delete.png
plugin_disabled.png
plugin_edit.png
plugin_error.png
plugin_go.png
plugin_link.png
report.png
report_add.png
report_delete.png
report_disk.png
report_edit.png
report_go.png
report_key.png
report_link.png
report_magnify.png
report_picture.png
report_user.png
report_word.png
script.png
script_add.png
script_code.png
script_code_red.png
script_delete.png
script_edit.png
script_error.png
script_gear.png
script_go.png
script_key.png
script_lightning.png
script_link.png
script_palette.png
script_save.png
star.png
star_rating.gif
stop.png
style.png
text_align_center.png
text_align_justify.png
text_align_left.png
text_align_right.png
text_allcaps.png
text_bold.png
text_columns.png
text_dropcaps.png
text_heading_1.png
text_heading_2.png
text_heading_3.png
text_heading_4.png
text_heading_5.png
text_heading_6.png
text_horizontalrule.png
text_indent.png
text_indent_remove.png
text_italic.png
text_kerning.png
text_letter_omega.png
text_letterspacing.png
text_linespacing.png
text_list_bullets.png
text_list_numbers.png
text_lowercase.png
text_padding_bottom.png
text_padding_left.png
text_padding_right.png
text_padding_top.png
text_replace.png
text_signature.png
text_smallcaps.png
text_strikethrough.png
text_subscript.png
text_superscript.png
text_underline.png
text_uppercase.png
textfield.png
textfield_add.png
textfield_delete.png
textfield_key.png
textfield_rename.png
tux.png
vert_star.gif
ECP.xml
Icon.php
Location.php
Module.php
ModulesManager.php
MusicTags.php
Page.php
XHTMLParser.php
XMLForms.php
ajax.php
author.html
cache.php
config.php
date.php
db.php
debug.php
ecp-full.php
ecp-mini.php
engine.php
events.php
filesystem.php
footer.html
i18n.php
mailer.php
main.css
mcrypt.php
mime.php
mod_rewrite.php
perspective.php
rc4.php
reflection.php
session_passport.php
storage.php
string.php
template.php
texy.php
user.php
user_cache.php
wysiwyg_texy.php
xhtml_form.php
xtea.php