You've already forked joomla_test
first commit
This commit is contained in:
87
libraries/joomla/form/fields/integer.php
Normal file
87
libraries/joomla/form/fields/integer.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Form
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
JFormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Form Field class for the Joomla Platform.
|
||||
* Provides a select list of integers with specified first, last and step values.
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Form
|
||||
* @since 11.1
|
||||
*/
|
||||
class JFormFieldInteger extends JFormFieldList
|
||||
{
|
||||
|
||||
/**
|
||||
* The form field type.
|
||||
*
|
||||
* @var string
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $type = 'Integer';
|
||||
|
||||
/**
|
||||
* Method to get the field options.
|
||||
*
|
||||
* @return array The field option objects.
|
||||
*
|
||||
* @since 11.1
|
||||
*/
|
||||
protected function getOptions()
|
||||
{
|
||||
$options = array();
|
||||
|
||||
// Initialize some field attributes.
|
||||
$first = (int) $this->element['first'];
|
||||
$last = (int) $this->element['last'];
|
||||
$step = (int) $this->element['step'];
|
||||
|
||||
// Sanity checks.
|
||||
if ($step == 0)
|
||||
{
|
||||
// Step of 0 will create an endless loop.
|
||||
return $options;
|
||||
}
|
||||
elseif ($first < $last && $step < 0)
|
||||
{
|
||||
// A negative step will never reach the last number.
|
||||
return $options;
|
||||
}
|
||||
elseif ($first > $last && $step > 0)
|
||||
{
|
||||
// A position step will never reach the last number.
|
||||
return $options;
|
||||
}
|
||||
elseif ($step < 0)
|
||||
{
|
||||
// Build the options array backwards.
|
||||
for ($i = $first; $i >= $last; $i += $step)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Build the options array.
|
||||
for ($i = $first; $i <= $last; $i += $step)
|
||||
{
|
||||
$options[] = JHtml::_('select.option', $i);
|
||||
}
|
||||
}
|
||||
|
||||
// Merge any additional options in the XML definition.
|
||||
$options = array_merge(parent::getOptions(), $options);
|
||||
|
||||
return $options;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user