pieforms-commit Mailing List for Pieforms (Page 11)
Status: Alpha
Brought to you by:
oracleshinoda
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(73) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(16) |
Feb
(19) |
Mar
(12) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(14) |
Sep
(2) |
Oct
(1) |
Nov
(2) |
Dec
(45) |
2008 |
Jan
(20) |
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(1) |
2009 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
(2) |
May
(1) |
Jun
(5) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(7) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ora...@us...> - 2006-11-29 02:55:14
|
Revision: 73 http://svn.sourceforge.net/pieforms/?rev=73&view=rev Author: oracleshinoda Date: 2006-11-28 18:55:14 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Fix up obvious fuckups, remove restriction on needing to define the default submit function Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/submitcancel.php pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform/elements/submitcancel.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/submitcancel.php 2006-11-28 23:22:36 UTC (rev 72) +++ pieforms-php5/trunk/src/pieform/elements/submitcancel.php 2006-11-29 02:55:14 UTC (rev 73) @@ -42,8 +42,6 @@ } function pieform_render_submitcancel_set_attributes($element) { - // @todo change to 'submitelement' => true, more generic and can be used - // for working out which submit button was pressed $element['ajaxmessages'] = true; return $element; } Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-28 23:22:36 UTC (rev 72) +++ pieforms-php5/trunk/src/pieform.php 2006-11-29 02:55:14 UTC (rev 73) @@ -556,17 +556,19 @@ // Submit the form if things went OK if ($this->submit && !$this->has_errors()) { + $submitted = false; foreach ($this->get_elements() as $element) { // @todo Rename 'ajaxmessages' to 'submitelement' - if ($element['ajaxmessages'] == true && isset($values[$element['name']])) { + if (!empty($element['ajaxmessages']) == true && isset($values[$element['name']])) { $function = "{$this->name}_submit_{$element['name']}"; if (function_exists($function)) { $function($values); + $submitted = true; break; } } } - else if (function_exists($this->submitfunction)) { + if (!$submitted && function_exists($this->submitfunction)) { $function = $this->submitfunction; // Call the user defined function for processing a submit // This function should really redirect/exit after it has @@ -582,7 +584,7 @@ //} //throw new PieformException($message); } - else { + else if (!$submitted) { throw new PieformException('No function registered to handle form submission for form "' . $this->name . '"'); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-28 23:22:36
|
Revision: 72 http://svn.sourceforge.net/pieforms/?rev=72&view=rev Author: oracleshinoda Date: 2006-11-28 15:22:36 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Hopefully added support for different callbacks based on the name of the submit button pressed Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/submitcancel.php pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform/elements/submitcancel.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/submitcancel.php 2006-11-28 23:14:35 UTC (rev 71) +++ pieforms-php5/trunk/src/pieform/elements/submitcancel.php 2006-11-28 23:22:36 UTC (rev 72) @@ -42,6 +42,8 @@ } function pieform_render_submitcancel_set_attributes($element) { + // @todo change to 'submitelement' => true, more generic and can be used + // for working out which submit button was pressed $element['ajaxmessages'] = true; return $element; } Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-28 23:14:35 UTC (rev 71) +++ pieforms-php5/trunk/src/pieform.php 2006-11-28 23:22:36 UTC (rev 72) @@ -556,7 +556,17 @@ // Submit the form if things went OK if ($this->submit && !$this->has_errors()) { - if (function_exists($this->submitfunction)) { + foreach ($this->get_elements() as $element) { + // @todo Rename 'ajaxmessages' to 'submitelement' + if ($element['ajaxmessages'] == true && isset($values[$element['name']])) { + $function = "{$this->name}_submit_{$element['name']}"; + if (function_exists($function)) { + $function($values); + break; + } + } + } + else if (function_exists($this->submitfunction)) { $function = $this->submitfunction; // Call the user defined function for processing a submit // This function should really redirect/exit after it has This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-28 23:14:42
|
Revision: 71 http://svn.sourceforge.net/pieforms/?rev=71&view=rev Author: oracleshinoda Date: 2006-11-28 15:14:35 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Many fixes to the date element, allowing it to be optionally unset. It now takes its value as a unix timestamp as well as returning it that way Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/date.php Modified: pieforms-php5/trunk/src/pieform/elements/date.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/date.php 2006-11-25 02:46:35 UTC (rev 70) +++ pieforms-php5/trunk/src/pieform/elements/date.php 2006-11-28 23:14:35 UTC (rev 71) @@ -36,33 +36,61 @@ $name = $element['name']; $element['minyear'] = (isset($element['minyear'])) ? intval($element['minyear']) : 1950; $element['maxyear'] = (isset($element['maxyear'])) ? intval($element['maxyear']) : 2050; - if (!isset($element['defaultvalue'])) { - $element['defaultvalue'] = array(date('Y'), date('m'), date('d')); + if (!array_key_exists('defaultvalue', $element)) { + $element['defaultvalue'] = time(); } // Year $value = pieform_render_select_get_value('year', $element['minyear'], $element['maxyear'], $element, $form); - $year = '<select name="' . $name . "_year\">\n"; + $year = '<select name="' . $name . '_year" id="' . $name . '_year"' . (isset($element['optional']) && !isset($element['defaultvalue']) ? 'disabled ' : '') . ">\n"; for ($i = $element['minyear']; $i <= $element['maxyear']; $i++) { $year .= "\t<option value=\"$i\"" . (($value == $i) ? ' selected="selected"' : '') . ">$i</option>\n"; } $year .= "</select>\n"; + // Month $value = pieform_render_select_get_value('month', 1, 12, $element, $form); - $month = '<select name="' . $name . "_month\">\n"; + $month = '<select name="' . $name . '_month" id="' . $name . '_month"' . (isset($element['optional']) && !isset($element['defaultvalue']) ? 'disabled ' : '') . ">\n"; for ($i = 1; $i <= 12; $i++) { $month .= "\t<option value=\"$i\"" . (($value == $i) ? ' selected="selected"' : '') . '>' . date('M', strtotime("2000-$i-01")) . "</option>\n"; } $month .= "</select>\n"; + // Day $value = pieform_render_select_get_value('day', 1, 31, $element, $form); - $day = '<select name="' . $name . "_day\">\n"; + $day = '<select name="' . $name . '_day" id="' . $name . '_day"' . (isset($element['optional']) && !isset($element['defaultvalue']) ? 'disabled ' : '') . ">\n"; for ($i = 1; $i <= 31; $i++) { $day .= "\t<option value=\"$i\"" . (($value == $i) ? ' selected="selected"' : '') . ">$i</option>\n"; } $day .= '</select>'; $result = $year . $month . $day; + + // Optional control + if (isset($element['optional'])) { + $optional = <<<EOF + <script type="text/javascript"> + function {$name}_toggle(x) { + if ( x.checked ) { + $('{$name}_day').disabled = true; + $('{$name}_month').disabled = true; + $('{$name}_year').disabled = true; + } + else { + $('{$name}_day').disabled = false; + $('{$name}_month').disabled = false; + $('{$name}_year').disabled = false; + } + } + </script> +EOF; + + $optional .= ' ' . get_string('or') . ' <input type="checkbox" ' . ( isset($element['defaultvalue']) ? '' : 'checked ') . 'name="' . $name . '_optional" id="' . $name . '_optional" onchange="' . $name . '_toggle(this)">'; + $optional .= ' <label for="' . $name . '_optional">' . get_string('notspecified'); + + $result .= $optional; + } + return $result; } @@ -70,11 +98,15 @@ function pieform_get_value_date($element, Pieform $form) { $name = $element['name']; $global = ($form->get_method() == 'get') ? $_GET : $_POST; - $time = mktime(0, 0, 0, $global[$name . '_month'], $global[$name . '_day'], $global[$name . '_year']); - if (false === $time) { - return null; + if ( isset($global[$name . '_day']) && isset($global[$name . '_month']) && isset($global[$name . '_year']) ) { + $time = mktime(0, 0, 0, $global[$name . '_month'], $global[$name . '_day'], $global[$name . '_year']); + if (false === $time) { + return null; + } + return $time; } - return $time; + + return null; } function pieform_get_value_js_date($element, Pieform $form) { @@ -114,15 +146,25 @@ return $value; } - if (isset($element['defaultvalue'][$index])) { - $value = $element['defaultvalue'][$index]; - if ($value < $min || $value > $max) { - $value = $min; - } - return $value; + $value = time(); + + if (isset($element['defaultvalue'])) { + $value = $element['defaultvalue']; } - return null; + switch ($timeperiod) { + case 'day': + $value = date('j', $value); + break; + case 'month': + $value = date('m', $value); + break; + case 'year': + $value = date('Y', $value); + break; + } + + return $value; } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-25 02:46:43
|
Revision: 70 http://svn.sourceforge.net/pieforms/?rev=70&view=rev Author: oracleshinoda Date: 2006-11-24 18:46:35 -0800 (Fri, 24 Nov 2006) Log Message: ----------- Tagged release 0.1.1 Added Paths: ----------- pieforms-php5/tags/0.1.1/ Copied: pieforms-php5/tags/0.1.1 (from rev 69, pieforms-php5/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-23 10:41:27
|
Revision: 69 http://svn.sourceforge.net/pieforms/?rev=69&view=rev Author: oracleshinoda Date: 2006-11-23 02:41:27 -0800 (Thu, 23 Nov 2006) Log Message: ----------- Implemented ignoring properly, unsetting the elements while going around the default setting loop wasn't working properly Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-23 01:06:00 UTC (rev 68) +++ pieforms-php5/trunk/src/pieform.php 2006-11-23 10:41:27 UTC (rev 69) @@ -397,15 +397,28 @@ if (!is_array($data['elements']) || count($data['elements']) == 0) { throw new PieformException('Forms must have a list of elements'); } + + // Remove elements to ignore + foreach ($data['elements'] as $name => $element) { + if (isset($element['type']) && $element['type'] == 'fieldset') { + foreach ($element['elements'] as $subname => $subelement) { + if (!empty($subelement['ignore'])) { + unset ($data['elements'][$name]['elements'][$subname]); + } + } + } + else { + if (!empty($element['ignore'])) { + unset($data['elements'][$name]); + } + } + } + $this->elements = $data['elements']; // 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']; @@ -432,10 +445,6 @@ } 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']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-23 01:06:00
|
Revision: 68 http://svn.sourceforge.net/pieforms/?rev=68&view=rev Author: oracleshinoda Date: 2006-11-22 17:06:00 -0800 (Wed, 22 Nov 2006) Log Message: ----------- Removed reference to undefined variable Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-22 20:54:03 UTC (rev 67) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-23 01:06:00 UTC (rev 68) @@ -88,7 +88,7 @@ </script> EOJS; - return $numberinput . $uselect . $hidden . $script; + return $numberinput . $uselect . $script; } function pieform_render_expire_get_expiry_units() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <ora...@us...> - 2006-11-22 00:40:59
|
Revision: 66 http://svn.sourceforge.net/pieforms/?rev=66&view=rev Author: oracleshinoda Date: 2006-11-21 16:40:42 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Added a regex rule, for validating against a generic regex Added Paths: ----------- pieforms-php5/trunk/src/pieform/rules/regex.php Added: pieforms-php5/trunk/src/pieform/rules/regex.php =================================================================== --- pieforms-php5/trunk/src/pieform/rules/regex.php (rev 0) +++ pieforms-php5/trunk/src/pieform/rules/regex.php 2006-11-22 00:40:42 UTC (rev 66) @@ -0,0 +1,43 @@ +<?php +/** + * This program is part of Pieforms + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * @package pieform + * @subpackage rule + * @author Nigel McNie <ni...@ca...> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL + * @copyright (C) 2006 Catalyst IT Ltd http://catalyst.net.nz + * + */ + +/** + * Returns whether the given field matches the specified regex. + * + * @param Pieform $form The form the rule is being applied to + * @param string $value The value to check + * @param array $element The element to check + * @param string $regex The regular expression to use for the check + * @return string The error message, if there is something wrong with + * the value. + */ +function pieform_rule_regex(Pieform $form, $value, $element, $regex) { + if (!preg_match($regex, $value)) { + return $form->i18n('regex'); + } +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-22 00:39:23
|
Revision: 65 http://svn.sourceforge.net/pieforms/?rev=65&view=rev Author: oracleshinoda Date: 2006-11-21 16:39:23 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Return value after validating the js callback. Added i18n for the regex rule Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-21 22:43:47 UTC (rev 64) +++ pieforms-php5/trunk/src/pieform.php 2006-11-22 00:39:23 UTC (rev 65) @@ -238,7 +238,8 @@ 'maxlength' => 'This field must be at most %d characters long', 'minlength' => 'This field must be at least %d characters long', 'integer' => 'The field must be an integer', - 'validateoptions' => 'The option "%s" is invalid' + 'validateoptions' => 'The option "%s" is invalid', + 'regex' => 'This field is not in valid form' ) ); @@ -1161,6 +1162,7 @@ if (!preg_match('/^[a-zA-Z][a-zA-Z0-9_]*$/', $name)) { throw new PieformException("'$name' is not a valid javascript callback name"); } + return $name; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 22:44:23
|
Revision: 64 http://svn.sourceforge.net/pieforms/?rev=64&view=rev Author: oracleshinoda Date: 2006-11-21 14:43:47 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Removed the last bit of rubbish from the expiry element Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 22:39:16 UTC (rev 63) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 22:43:47 UTC (rev 64) @@ -152,28 +152,6 @@ $formname = $form->get_name(); $name = $element['name']; return <<<EOF - var seconds = null; - //if ($('{$name}_units').value == 'noenddate') { - // seconds = null; - //} - //else { - // if ($('{$name}_number').value > 0) { - // var mult = $('{$name}_number').value * 60 * 60 * 24; - // if ($('{$name}_units').value == 'days') { - // seconds = mult; - // } else if ($('{$name}_units').value == 'weeks') { - // seconds = mult * 7; - // } else if ($('{$name}_units').value == 'months') { - // seconds = mult * 30; - // } else if ($('{$name}_units').value == 'years') { - // seconds = mult * 365; - // } - // } - // else { - // seconds = 0; - // } - //} - //data['{$name}'] = seconds; data['{$name}_number'] = $('{$name}_number').value; data['{$name}_units'] = $('{$name}_units').value; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 22:39:31
|
Revision: 63 http://svn.sourceforge.net/pieforms/?rev=63&view=rev Author: oracleshinoda Date: 2006-11-21 14:39:16 -0800 (Tue, 21 Nov 2006) Log Message: ----------- A whole bunch of cleanup to the expiry element (whitespace related, and removing cruft caused by last commit Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 22:26:59 UTC (rev 62) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 22:39:16 UTC (rev 63) @@ -41,23 +41,20 @@ $global = ($form->get_method() == 'get') ? $_GET : $_POST; - // Get the value of the element for rendering. The values of the - // two inputs are rendered, and the total time in seconds is - // stored in a hidden input. - + // Get the value of the element for rendering. if (isset($element['value'])) { $seconds = $element['value']; - $values = get_expiry_from_seconds($element['value']); + $values = pieform_render_expiry_get_expiry_from_seconds($element['value']); } else if (isset($global[$element['name'] . '_number']) && isset($global[$element['name'] . '_units'])) { $values = array('number' => $global[$element['name'] . '_number'], 'units' => $global[$element['name'] . '_units']); - $seconds = $values['number'] * seconds_in($values['units']); + $seconds = $values['number'] * pieform_render_expiry_seconds_in($values['units']); } else if (isset($element['defaultvalue'])) { $seconds = $element['defaultvalue']; - $values = get_expiry_from_seconds($seconds); + $values = pieform_render_expiry_get_expiry_from_seconds($seconds); } else { $values = array('number' => '', 'units' => 'noenddate'); @@ -65,59 +62,22 @@ } // @todo probably create with an actual input element, as tabindex doesn't work here for one thing - $numberinput = '<input '; - if ($form->get_ajaxpost()) { - $numberinput .= 'onchange="' . $name . '_change()"'; - } + $numberinput = '<input'; $numberinput .= $values['units'] == 'noenddate' ? ' disabled="disabled"' : ''; - $numberinput .= 'type="text" size="4" ' . 'name="' . $name . '_number" '; - $numberinput .= 'id="' . $name . '_number" value="' . $values['number'] . "\">\n"; + $numberinput .= ' type="text" size="4" name="' . $name . '_number"'; + $numberinput .= ' id="' . $name . '_number" value="' . $values['number'] . "\">\n"; - $allunits = get_expiry_units(); - $uselect = '<select onchange="' . $name . '_change()" '; $uselect .= 'name="' . $name . '_units" id="' . $name . '_units"' . ">\n"; - foreach ($allunits as $u) { + foreach (pieform_render_expire_get_expiry_units() as $u) { $uselect .= "\t<option value=\"$u\"" . (($values['units'] == $u) ? ' selected="selected"' : '') . '>' . $form->i18n($u) . "</option>\n"; } $uselect .= "</select>\n"; - // The hidden input contains the value of the expiry in seconds - $hidden = '<input type="hidden" name="' . $name . '" id="' . $name . '" value="' . $seconds . "\">\n"; - - // Every time one of the two inputs is changed, update the number - // of seconds in the hidden input. + // Make sure the input is disabled if "no end date" is selected $script = <<<EOJS <script type="text/javascript" language="javascript"> function {$name}_change() { - -EOJS; - /* - if ($form->get_ajaxpost()) { - $script .= <<<EOJS - var seconds = null; - if ($('{$name}_number').value > 0) { - var mult = $('{$name}_number').value * 60 * 60 * 24; - if ($('{$name}_units').value == 'days') { - seconds = mult; - } else if ($('{$name}_units').value == 'weeks') { - seconds = mult * 7; - } else if ($('{$name}_units').value == 'months') { - seconds = mult * 30; - } else if ($('{$name}_units').value == 'years') { - seconds = mult * 365; - } - } - else { - seconds = 0; - } - $('{$name}').value = seconds; - -EOJS; - } - */ - - $script .= <<<EOJS if ($('{$name}_units').value == 'noenddate') { $('{$name}_number').disabled = true; } @@ -131,11 +91,11 @@ return $numberinput . $uselect . $hidden . $script; } -function get_expiry_units() { - return array('days','weeks','months','years','noenddate'); +function pieform_render_expire_get_expiry_units() { + return array('days', 'weeks', 'months', 'years', 'noenddate'); } -function seconds_in($unit) { +function pieform_render_expiry_seconds_in($unit) { $dayseconds = 60 * 60 * 24; switch ($unit) { case 'days' : return $dayseconds; @@ -146,25 +106,25 @@ } } -function get_expiry_from_seconds($seconds) { +function pieform_render_expiry_get_expiry_from_seconds($seconds) { if ($seconds == null) { return array('number' => '', 'units' => 'noenddate'); } // This needs work to produce sensible values; at the moment it will convert // 60 days into 2 months; 70 days into 7 weeks, etc. - $yearseconds = seconds_in('years'); + $yearseconds = pieform_render_expiry_seconds_in('years'); if ($seconds % $yearseconds == 0 && $seconds > 0) { return array('number' => (int) ($seconds / $yearseconds), 'units' => 'years'); } - $monthseconds = seconds_in('months'); + $monthseconds = pieform_render_expiry_seconds_in('months'); if ($seconds % $monthseconds == 0 && $seconds > 0) { return array('number' => (int) ($seconds / $monthseconds), 'units' => 'months'); } - $weekseconds = seconds_in('weeks'); + $weekseconds = pieform_render_expiry_seconds_in('weeks'); if ($seconds % $weekseconds == 0 && $seconds > 0) { return array('number' => (int) ($seconds / $weekseconds), 'units' => 'weeks'); } - $dayseconds = seconds_in('days'); + $dayseconds = pieform_render_expiry_seconds_in('days'); if ($seconds % $dayseconds == 0) { return array('number' => (int) ($seconds / $dayseconds), 'units' => 'days'); } @@ -180,12 +140,12 @@ if ($unit == 'noenddate') { return null; } - $allunits = get_expiry_units(); + $allunits = pieform_render_expire_get_expiry_units(); $number = $global[$name . '_number']; if (!in_array($unit,$allunits) || $number < 0) { return null; } - return $number * seconds_in($unit); + return $number * pieform_render_expiry_seconds_in($unit); } function pieform_get_value_js_expiry($element, Pieform $form) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 22:27:00
|
Revision: 62 http://svn.sourceforge.net/pieforms/?rev=62&view=rev Author: oracleshinoda Date: 2006-11-21 14:26:59 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Attempt to get the expiry element behaving correctly (WRT default values), for getting its own value Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 20:53:11 UTC (rev 61) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 22:26:59 UTC (rev 62) @@ -90,7 +90,9 @@ $script = <<<EOJS <script type="text/javascript" language="javascript"> function {$name}_change() { + EOJS; + /* if ($form->get_ajaxpost()) { $script .= <<<EOJS var seconds = null; @@ -110,8 +112,10 @@ seconds = 0; } $('{$name}').value = seconds; + EOJS; } + */ $script .= <<<EOJS if ($('{$name}_units').value == 'noenddate') { @@ -168,20 +172,52 @@ } // /** gets the value explicitly from the request */ -// function pieform_get_value_expiry($element, Pieform $form) { -// $name = $element['name']; -// $global = ($form->get_method() == 'get') ? $_GET : $_POST; -// return $global[$name]; -// //$unit = $global[$name . '_units']; -// //if ($unit == 'noenddate') { -// // return null; -// //} -// //$allunits = get_expiry_units(); -// //$number = $global[$name . '_number']; -// //if (!in_array($unit,$allunits) || $number < 0) { -// // return null; -// //} -// //return $number * seconds_in($unit); -// } +function pieform_get_value_expiry($element, Pieform $form) { + $name = $element['name']; + $global = ($form->get_method() == 'get') ? $_GET : $_POST; + //return $global[$name]; + $unit = $global[$name . '_units']; + if ($unit == 'noenddate') { + return null; + } + $allunits = get_expiry_units(); + $number = $global[$name . '_number']; + if (!in_array($unit,$allunits) || $number < 0) { + return null; + } + return $number * seconds_in($unit); +} +function pieform_get_value_js_expiry($element, Pieform $form) { + $formname = $form->get_name(); + $name = $element['name']; + return <<<EOF + var seconds = null; + //if ($('{$name}_units').value == 'noenddate') { + // seconds = null; + //} + //else { + // if ($('{$name}_number').value > 0) { + // var mult = $('{$name}_number').value * 60 * 60 * 24; + // if ($('{$name}_units').value == 'days') { + // seconds = mult; + // } else if ($('{$name}_units').value == 'weeks') { + // seconds = mult * 7; + // } else if ($('{$name}_units').value == 'months') { + // seconds = mult * 30; + // } else if ($('{$name}_units').value == 'years') { + // seconds = mult * 365; + // } + // } + // else { + // seconds = 0; + // } + //} + //data['{$name}'] = seconds; + data['{$name}_number'] = $('{$name}_number').value; + data['{$name}_units'] = $('{$name}_units').value; + +EOF; +} + ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 20:53:23
|
Revision: 61 http://svn.sourceforge.net/pieforms/?rev=61&view=rev Author: oracleshinoda Date: 2006-11-21 12:53:11 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Fixed typo parse error Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-21 20:51:45 UTC (rev 60) +++ pieforms-php5/trunk/src/pieform.php 2006-11-21 20:53:11 UTC (rev 61) @@ -784,7 +784,7 @@ $result = array(); $global = ($this->method == 'get') ? $_GET : $_POST; foreach ($this->get_elements() as $element) { - if ($element['type'] != 'markup') {j + if ($element['type'] != 'markup') { $result[$element['name']] = $this->get_value($element); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 20:51:55
|
Revision: 60 http://svn.sourceforge.net/pieforms/?rev=60&view=rev Author: oracleshinoda Date: 2006-11-21 12:51:45 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Don't include markup values in form submission Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-21 12:34:54 UTC (rev 59) +++ pieforms-php5/trunk/src/pieform.php 2006-11-21 20:51:45 UTC (rev 60) @@ -784,7 +784,9 @@ $result = array(); $global = ($this->method == 'get') ? $_GET : $_POST; foreach ($this->get_elements() as $element) { - $result[$element['name']] = $this->get_value($element); + if ($element['type'] != 'markup') {j + $result[$element['name']] = $this->get_value($element); + } } return $result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 12:34:56
|
Revision: 59 http://svn.sourceforge.net/pieforms/?rev=59&view=rev Author: oracleshinoda Date: 2006-11-21 04:34:54 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Allow the element name to be set in the element array itself. Compatibility with the future perl version Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-21 01:53:20 UTC (rev 58) +++ pieforms-php5/trunk/src/pieform.php 2006-11-21 12:34:54 UTC (rev 59) @@ -401,6 +401,10 @@ // Set some attributes for all elements $autofocusadded = false; foreach ($this->elements as $name => &$element) { + // 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'); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 01:53:21
|
Revision: 58 http://svn.sourceforge.net/pieforms/?rev=58&view=rev Author: oracleshinoda Date: 2006-11-20 17:53:20 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Output onchange and disabled attributes also Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 01:34:59 UTC (rev 57) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 01:53:20 UTC (rev 58) @@ -64,17 +64,18 @@ $seconds = null; } + // @todo probably create with an actual input element, as tabindex doesn't work here for one thing $numberinput = '<input '; if ($form->get_ajaxpost()) { $numberinput .= 'onchange="' . $name . '_change()"'; - $numberinput .= $values['units'] == 'noenddate' ? ' disabled="disabled"' : ''; } + $numberinput .= $values['units'] == 'noenddate' ? ' disabled="disabled"' : ''; $numberinput .= 'type="text" size="4" ' . 'name="' . $name . '_number" '; $numberinput .= 'id="' . $name . '_number" value="' . $values['number'] . "\">\n"; $allunits = get_expiry_units(); - $uselect = '<select ' . ($form->get_ajaxpost() ? 'onchange="' . $name . '_change()" ' : ''); + $uselect = '<select onchange="' . $name . '_change()" '; $uselect .= 'name="' . $name . '_units" id="' . $name . '_units"' . ">\n"; foreach ($allunits as $u) { $uselect .= "\t<option value=\"$u\"" . (($values['units'] == $u) ? ' selected="selected"' : '') . '>' . $form->i18n($u) . "</option>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 01:34:59
|
Revision: 57 http://svn.sourceforge.net/pieforms/?rev=57&view=rev Author: oracleshinoda Date: 2006-11-20 17:34:59 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Properly output js for disableness even when not using ajax post Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 01:30:25 UTC (rev 56) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 01:34:59 UTC (rev 57) @@ -110,6 +110,8 @@ } $('{$name}').value = seconds; EOJS; + } + $script .= <<<EOJS if ($('{$name}_units').value == 'noenddate') { $('{$name}_number').disabled = true; @@ -120,10 +122,6 @@ } </script> EOJS; - } - else { - $script = ''; - } return $numberinput . $uselect . $hidden . $script; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-21 01:30:25
|
Revision: 56 http://svn.sourceforge.net/pieforms/?rev=56&view=rev Author: oracleshinoda Date: 2006-11-20 17:30:25 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Minor doc fixes. Made the expiry element disable the input field even if the form is not being submitted by ajax post Modified Paths: -------------- pieforms-php5/trunk/src/pieform/elements/expiry.php pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform/elements/expiry.php =================================================================== --- pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-20 13:05:53 UTC (rev 55) +++ pieforms-php5/trunk/src/pieform/elements/expiry.php 2006-11-21 01:30:25 UTC (rev 56) @@ -86,10 +86,12 @@ // Every time one of the two inputs is changed, update the number // of seconds in the hidden input. - if ($form->get_ajaxpost()) { - $script = <<< EOJS + $script = <<<EOJS <script type="text/javascript" language="javascript"> function {$name}_change() { +EOJS; + if ($form->get_ajaxpost()) { + $script .= <<<EOJS var seconds = null; if ($('{$name}_number').value > 0) { var mult = $('{$name}_number').value * 60 * 60 * 24; @@ -106,13 +108,15 @@ else { seconds = 0; } + $('{$name}').value = seconds; +EOJS; + $script .= <<<EOJS if ($('{$name}_units').value == 'noenddate') { $('{$name}_number').disabled = true; } else { $('{$name}_number').disabled = false; } - $('{$name}').value = seconds; } </script> EOJS; Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-20 13:05:53 UTC (rev 55) +++ pieforms-php5/trunk/src/pieform.php 2006-11-21 01:30:25 UTC (rev 56) @@ -1135,6 +1135,8 @@ /** * Hook for giving information back to the developer + * + * @param string $message The message to give to the developer */ public static function info($message) { $function = 'pieform_info'; @@ -1195,7 +1197,6 @@ } } } - } @@ -1212,9 +1213,9 @@ * {@internal This is separate so that child element types can nest other * elements inside them (like the fieldset element does for example).}} * - * @param array $element The element to render + * @param array $element The element to render * @param Pieform $form The form to render the element for - * @return string The rendered element + * @return string The rendered element */ function pieform_render_element($element, Pieform $form) { // If the element is pure markup, don't pass it to the renderer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 13:05:54
|
Revision: 55 http://svn.sourceforge.net/pieforms/?rev=55&view=rev Author: oracleshinoda Date: 2006-11-20 05:05:53 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Removed some commented out cruft Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-20 13:04:21 UTC (rev 54) +++ pieforms-php5/trunk/src/pieform.php 2006-11-20 13:05:53 UTC (rev 55) @@ -1224,12 +1224,6 @@ // Make sure that the function to render the element type is available $function = 'pieform_render_' . $element['type']; - //if (!function_exists($function)) { - // @include('pieform/elements/' . $element['type'] . '.php'); - // if (!function_exists($function)) { - // throw new PieformException('No such form element: ' . $element['type']); - // } - //} // Work out the renderer function required and make sure it exists if ($renderer = $form->get_renderer()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 13:04:21
|
Revision: 54 http://svn.sourceforge.net/pieforms/?rev=54&view=rev Author: oracleshinoda Date: 2006-11-20 05:04:21 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Removed support for prefix and suffix, which should be handled by the renderers now Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-20 12:59:58 UTC (rev 53) +++ pieforms-php5/trunk/src/pieform.php 2006-11-20 13:04:21 UTC (rev 54) @@ -1250,16 +1250,11 @@ // @todo reverse order of parameters for consistency, a Form object first $builtelement = $function($element, $form); - // Prepare the prefix and suffix - // @tod REMOVE THIS: each renderer should support it seperately - $prefix = (isset($element['prefix'])) ? $element['prefix'] : ''; - $suffix = (isset($element['suffix'])) ? $element['suffix'] : ''; - // Remove the 'autofocus' class, because we only want it on the form input // itself, not the wrapping HTML $element['class'] = preg_replace('/\s?autofocus/', '', $element['class']); - return $prefix . $rendererfunction($form, $builtelement, $element) . $suffix; + return $rendererfunction($form, $builtelement, $element); } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 13:00:10
|
Revision: 53 http://svn.sourceforge.net/pieforms/?rev=53&view=rev Author: oracleshinoda Date: 2006-11-20 04:59:58 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Added integer rule (Penny Leach) Modified Paths: -------------- pieforms-php5/trunk/src/pieform.php Added Paths: ----------- pieforms-php5/trunk/src/pieform/rules/integer.php Added: pieforms-php5/trunk/src/pieform/rules/integer.php =================================================================== --- pieforms-php5/trunk/src/pieform/rules/integer.php (rev 0) +++ pieforms-php5/trunk/src/pieform/rules/integer.php 2006-11-20 12:59:58 UTC (rev 53) @@ -0,0 +1,41 @@ +<?php +/** + * This program is part of Pieforms + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * @package pieform + * @subpackage rule + * @author Penny Leach <pe...@ca...> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL + * @copyright (C) 2006 Catalyst IT Ltd http://catalyst.net.nz + * + */ + +/** + * Returns whether the given field is an integer + * + * @param Pieform $form The form the rule is being applied to + * @param string $value The value to check + * @return string The error message, if there is something wrong with + * the address. + */ +function pieform_rule_integer(Pieform $form, $value) { + if (!is_numeric($value) || $value != (int)$value) { + return $form->i18n('integer'); + } +} + +?> Modified: pieforms-php5/trunk/src/pieform.php =================================================================== --- pieforms-php5/trunk/src/pieform.php 2006-11-20 12:42:59 UTC (rev 52) +++ pieforms-php5/trunk/src/pieform.php 2006-11-20 12:59:58 UTC (rev 53) @@ -237,6 +237,7 @@ 'email' => 'E-mail address is invalid', 'maxlength' => 'This field must be at most %d characters long', 'minlength' => 'This field must be at least %d characters long', + 'integer' => 'The field must be an integer', 'validateoptions' => 'The option "%s" is invalid' ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 12:43:02
|
Revision: 52 http://svn.sourceforge.net/pieforms/?rev=52&view=rev Author: oracleshinoda Date: 2006-11-20 04:42:59 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Corrected function name for email rule Modified Paths: -------------- pieforms-php5/trunk/src/pieform/rules/email.php Modified: pieforms-php5/trunk/src/pieform/rules/email.php =================================================================== --- pieforms-php5/trunk/src/pieform/rules/email.php 2006-11-20 12:11:18 UTC (rev 51) +++ pieforms-php5/trunk/src/pieform/rules/email.php 2006-11-20 12:42:59 UTC (rev 52) @@ -35,7 +35,7 @@ * @return string The error message, if there is something wrong with * the address. */ -function form_rule_email(Pieform $form, $value) { +function pieform_rule_email(Pieform $form, $value) { if (!preg_match('/^(.*)@(.*)\.(.*)$/', $value)) { return $form->i18n('email'); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 12:11:22
|
Revision: 51 http://svn.sourceforge.net/pieforms/?rev=51&view=rev Author: oracleshinoda Date: 2006-11-20 04:11:18 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Remove unnecessary trunk directory Removed Paths: ------------- trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 12:10:56
|
Revision: 50 http://svn.sourceforge.net/pieforms/?rev=50&view=rev Author: oracleshinoda Date: 2006-11-20 04:10:53 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Tagged release 0.1.0. Please note this isn't exactly 0.1.0, which wasn't possible to tag due to SVN restructing. It's about a day and two or three fixes older Added Paths: ----------- pieforms-php5/tags/release-0.1.0/ Copied: pieforms-php5/tags/release-0.1.0 (from rev 49, pieforms-php5/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ora...@us...> - 2006-11-20 12:04:07
|
Revision: 49 http://svn.sourceforge.net/pieforms/?rev=49&view=rev Author: oracleshinoda Date: 2006-11-20 04:04:00 -0800 (Mon, 20 Nov 2006) Log Message: ----------- Hopefully the last of the cleanup of SVN Added Paths: ----------- pieforms-php5/branches/ pieforms-php5/tags/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |