pieforms-commit Mailing List for Pieforms
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
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
(1) |
18
(30) |
19
(11) |
20
(13) |
21
(9) |
22
(3) |
23
(2) |
24
|
25
(1) |
26
|
27
|
28
(2) |
29
(1) |
30
|
|
|
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. |