Back to IntegerField class

Method getOptions

protected array
getOptions
()
Method to get the field options.
Returns
  • array The field option objects.
Since
  • 1.7.0
Class: IntegerField
Project: Joomla

Method getOptions - Source code

/**
 * Method to get the field options.
 *
 * @return  array  The field option objects.
 *
 * @since   1.7.0
 */
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[] = HTMLHelper::_('select.option', $i);
        }
    } else {
        // Build the options array.
        for ($i = $first; $i <= $last; $i += $step) {
            $options[] = HTMLHelper::_('select.option', $i);
        }
    }
    // Merge any additional options in the XML definition.
    $options = array_merge(parent::getOptions(), $options);
    return $options;
}