[Pieforms-commit] SF.net SVN: pieforms: [67] pieforms-php5/trunk/src/pieform.php
Status: Alpha
Brought to you by:
oracleshinoda
|
From: <ora...@us...> - 2006-11-22 20:54:10
|
Revision: 67
http://svn.sourceforge.net/pieforms/?rev=67&view=rev
Author: oracleshinoda
Date: 2006-11-22 12:54:03 -0800 (Wed, 22 Nov 2006)
Log Message:
-----------
Allow elements to have an 'ignore' parameter - if set, the element will not be output. Useful for keeping form definitions as one big array, instead of if statements and ['foo'] =... madness everywhere. Also copied a couple of checks to fieldset elements
Modified Paths:
--------------
pieforms-php5/trunk/src/pieform.php
Modified: pieforms-php5/trunk/src/pieform.php
===================================================================
--- pieforms-php5/trunk/src/pieform.php 2006-11-22 00:40:42 UTC (rev 66)
+++ pieforms-php5/trunk/src/pieform.php 2006-11-22 20:54:03 UTC (rev 67)
@@ -402,12 +402,16 @@
// Set some attributes for all elements
$autofocusadded = false;
foreach ($this->elements as $name => &$element) {
+ if (!empty($element['ignore'])) {
+ unset($this->elements[$name]);
+ continue;
+ }
// The name can be in the element itself. This is compatibility for the perl version
if (isset($element['name'])) {
$name = $element['name'];
}
if (count($element) == 0) {
- throw new PieformException('An element in form "' . $this->name . '" has no data');
+ throw new PieformException('An element in form "' . $this->name . '" has no data (' . $name . ')');
}
if (!isset($element['type'])) {
$element['type'] = 'markup';
@@ -428,6 +432,17 @@
}
if ($element['type'] == 'fieldset') {
foreach ($element['elements'] as $subname => &$subelement) {
+ if (!empty($subelement['ignore'])) {
+ unset($element['elements'][$subname]);
+ continue;
+ }
+ // The name can be in the element itself. This is compatibility for the perl version
+ if (isset($subelement['name'])) {
+ $subname = $subelement['name'];
+ }
+ if (count($subelement) == 0) {
+ throw new PieformException('An element in form "' . $this->name . '" has no data (' . $subname . ')');
+ }
if (!isset($subelement['type'])) {
$subelement['type'] = 'markup';
if (!isset($subelement['value'])) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|