[Pieforms-commit] SF.net SVN: pieforms: [63] pieforms-php5/trunk/src/pieform/elements/expiry. php
Status: Alpha
Brought to you by:
oracleshinoda
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. |