mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-31 09:06:17 +00:00
adding strfrotime to FormHelper::month #700, fix to radios which still need to be moved
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5178 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
624e02374a
commit
9667aa793a
3 changed files with 49 additions and 35 deletions
|
@ -66,7 +66,7 @@ class FormHelper extends AppHelper {
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param string $model The model object which the form is being defined for
|
* @param string $model The model object which the form is being defined for
|
||||||
* @param array $options
|
* @param array $options
|
||||||
* @return string An formatted opening FORM tag.
|
* @return string An formatted opening FORM tag.
|
||||||
*/
|
*/
|
||||||
function create($model = null, $options = array()) {
|
function create($model = null, $options = array()) {
|
||||||
|
@ -113,10 +113,10 @@ class FormHelper extends AppHelper {
|
||||||
$fieldTypes = $fields->extract('{n}.type');
|
$fieldTypes = $fields->extract('{n}.type');
|
||||||
$fieldLengths = $fields->extract('{n}.length');
|
$fieldLengths = $fields->extract('{n}.length');
|
||||||
if (!count($fieldNames) || !count($fieldTypes)) {
|
if (!count($fieldNames) || !count($fieldTypes)) {
|
||||||
trigger_error(__('(FormHelper::create) Unable to use model field data. If you are using a model without a database table, try implementing loadInfo()', true), E_USER_WARNING);
|
trigger_error(__('(FormHelper::create) Unable to use model field data. If you are using a model without a database table, try implementing loadInfo()', true), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
if (!count($fieldNames) || !count($fieldLengths) || (count($fieldNames) != count($fieldTypes))) {
|
if (!count($fieldNames) || !count($fieldLengths) || (count($fieldNames) != count($fieldTypes))) {
|
||||||
trigger_error(__('(FormHelper::create) Unable to use model field data. If you are using a model without a database table, try implementing loadInfo()', true), E_USER_WARNING);
|
trigger_error(__('(FormHelper::create) Unable to use model field data. If you are using a model without a database table, try implementing loadInfo()', true), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
$data = array(
|
$data = array(
|
||||||
'fields' => array_combine($fieldNames, $fieldTypes),
|
'fields' => array_combine($fieldNames, $fieldTypes),
|
||||||
|
@ -468,7 +468,7 @@ class FormHelper extends AppHelper {
|
||||||
if(isset($type)) {
|
if(isset($type)) {
|
||||||
$map = array(
|
$map = array(
|
||||||
'string' => 'text', 'datetime' => 'datetime',
|
'string' => 'text', 'datetime' => 'datetime',
|
||||||
'boolean' => 'checkbox', 'timestamp' => 'datetime',
|
'boolean' => 'checkbox', 'timestamp' => 'datetime',
|
||||||
'text' => 'textarea', 'time' => 'time',
|
'text' => 'textarea', 'time' => 'time',
|
||||||
'date' => 'date'
|
'date' => 'date'
|
||||||
);
|
);
|
||||||
|
@ -557,10 +557,10 @@ class FormHelper extends AppHelper {
|
||||||
unset($options['empty']);
|
unset($options['empty']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$type = $options['type'];
|
$type = $options['type'];
|
||||||
$before = $options['before'];
|
$before = $options['before'];
|
||||||
$between = $options['between'];
|
$between = $options['between'];
|
||||||
$after = $options['after'];
|
$after = $options['after'];
|
||||||
unset($options['type'], $options['before'], $options['between'], $options['after']);
|
unset($options['type'], $options['before'], $options['between'], $options['after']);
|
||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
|
@ -617,20 +617,20 @@ class FormHelper extends AppHelper {
|
||||||
*/
|
*/
|
||||||
function checkbox($fieldName, $options = array()) {
|
function checkbox($fieldName, $options = array()) {
|
||||||
$this->__secure();
|
$this->__secure();
|
||||||
|
|
||||||
$value = 1;
|
$value = 1;
|
||||||
if(isset($options['value'])) {
|
if(isset($options['value'])) {
|
||||||
$value = $options['value'];
|
$value = $options['value'];
|
||||||
unset($options['value']);
|
unset($options['value']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$options = $this->__initInputField($fieldName, am(array('type' => 'checkbox'), $options));
|
$options = $this->__initInputField($fieldName, am(array('type' => 'checkbox'), $options));
|
||||||
|
|
||||||
$model = $this->model();
|
$model = $this->model();
|
||||||
if (ClassRegistry::isKeySet($model)) {
|
if (ClassRegistry::isKeySet($model)) {
|
||||||
$object =& ClassRegistry::getObject($model);
|
$object =& ClassRegistry::getObject($model);
|
||||||
}
|
}
|
||||||
|
|
||||||
$output = null;
|
$output = null;
|
||||||
if(isset($object) && is_int($options['value'])) {
|
if(isset($object) && is_int($options['value'])) {
|
||||||
$db =& ConnectionManager::getDataSource($object->useDbConfig);
|
$db =& ConnectionManager::getDataSource($object->useDbConfig);
|
||||||
|
@ -638,16 +638,16 @@ class FormHelper extends AppHelper {
|
||||||
$options['value'] = 1;
|
$options['value'] = 1;
|
||||||
$output = $this->hidden($fieldName, array('value' => '-1', 'id' => $options['id'] . '_'), true);
|
$output = $this->hidden($fieldName, array('value' => '-1', 'id' => $options['id'] . '_'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($options['value']) && $value == $options['value']) {
|
if(isset($options['value']) && $value == $options['value']) {
|
||||||
$options['checked'] = 'checked';
|
$options['checked'] = 'checked';
|
||||||
} else if(!empty($value)) {
|
} else if(!empty($value)) {
|
||||||
$options['value'] = $value;
|
$options['value'] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
$output .= sprintf($this->Html->tags['checkbox'], $this->model(), $this->field(), $this->_parseAttributes($options, null, null, ' '));
|
$output .= sprintf($this->Html->tags['checkbox'], $this->model(), $this->field(), $this->_parseAttributes($options, null, null, ' '));
|
||||||
return $this->output($output);
|
return $this->output($output);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Creates a text input widget.
|
* Creates a text input widget.
|
||||||
*
|
*
|
||||||
|
@ -730,8 +730,8 @@ class FormHelper extends AppHelper {
|
||||||
* Creates a button tag.
|
* Creates a button tag.
|
||||||
*
|
*
|
||||||
* @param mixed $params Array of params [content, type, options] or the
|
* @param mixed $params Array of params [content, type, options] or the
|
||||||
* content of the button.
|
* content of the button.
|
||||||
* @param string $type Type of the button (button, submit or reset).
|
* @param string $type Type of the button (button, submit or reset).
|
||||||
* @param array $options Array of options.
|
* @param array $options Array of options.
|
||||||
* @return string A HTML button tag.
|
* @return string A HTML button tag.
|
||||||
* @access public
|
* @access public
|
||||||
|
@ -760,7 +760,7 @@ class FormHelper extends AppHelper {
|
||||||
/**
|
/**
|
||||||
* Creates a submit button element.
|
* Creates a submit button element.
|
||||||
*
|
*
|
||||||
* @param string $caption The label appearing on the button
|
* @param string $caption The label appearing on the button
|
||||||
* @param array $options
|
* @param array $options
|
||||||
* @return string A HTML submit button
|
* @return string A HTML submit button
|
||||||
*/
|
*/
|
||||||
|
@ -788,7 +788,7 @@ class FormHelper extends AppHelper {
|
||||||
$divOptions = am(array('class' => 'submit'), $div);
|
$divOptions = am(array('class' => 'submit'), $div);
|
||||||
}
|
}
|
||||||
|
|
||||||
$out = $secured . $this->output(sprintf($this->Html->tags['submit'], $this->_parseAttributes($options, null, '', ' ')));
|
$out = $secured . $this->output(sprintf($this->Html->tags['submit'], $this->_parseAttributes($options, null, '', ' ')));
|
||||||
if (isset($divOptions)) {
|
if (isset($divOptions)) {
|
||||||
$out = $secured . $this->Html->div($divOptions['class'], $out, $divOptions);
|
$out = $secured . $this->Html->div($divOptions['class'], $out, $divOptions);
|
||||||
}
|
}
|
||||||
|
@ -798,7 +798,7 @@ class FormHelper extends AppHelper {
|
||||||
/**
|
/**
|
||||||
* Creates an image input widget.
|
* Creates an image input widget.
|
||||||
*
|
*
|
||||||
* @param string $path Path to the image file, relative to the webroot/img/ directory.
|
* @param string $path Path to the image file, relative to the webroot/img/ directory.
|
||||||
* @param array $options Array of HTML attributes.
|
* @param array $options Array of HTML attributes.
|
||||||
* @return string HTML submit image element
|
* @return string HTML submit image element
|
||||||
*/
|
*/
|
||||||
|
@ -816,13 +816,13 @@ class FormHelper extends AppHelper {
|
||||||
* @param string $fieldName Name attribute of the SELECT
|
* @param string $fieldName Name attribute of the SELECT
|
||||||
* @param array $options Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element
|
* @param array $options Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element
|
||||||
* @param mixed $selected The option selected by default. If null, the default value
|
* @param mixed $selected The option selected by default. If null, the default value
|
||||||
* from POST data will be used when available.
|
* from POST data will be used when available.
|
||||||
* @param array $attributes The HTML attributes of the select element. If
|
* @param array $attributes The HTML attributes of the select element. If
|
||||||
* 'showParents' is included in the array and set to true,
|
* 'showParents' is included in the array and set to true,
|
||||||
* an additional option element will be added for the parent
|
* an additional option element will be added for the parent
|
||||||
* of each option group.
|
* of each option group.
|
||||||
* @param mixed $showEmpty If true, the empty select option is shown. If a string,
|
* @param mixed $showEmpty If true, the empty select option is shown. If a string,
|
||||||
* that string is displayed as the empty element.
|
* that string is displayed as the empty element.
|
||||||
* @return string Formatted SELECT element
|
* @return string Formatted SELECT element
|
||||||
*/
|
*/
|
||||||
function select($fieldName, $options = array(), $selected = null, $attributes = array(), $showEmpty = '') {
|
function select($fieldName, $options = array(), $selected = null, $attributes = array(), $showEmpty = '') {
|
||||||
|
@ -882,7 +882,7 @@ class FormHelper extends AppHelper {
|
||||||
*
|
*
|
||||||
* @param string $fieldName Prefix name for the SELECT element
|
* @param string $fieldName Prefix name for the SELECT element
|
||||||
* @param string $selected Option which is selected.
|
* @param string $selected Option which is selected.
|
||||||
* @param array $attributes HTML attributes for the select element
|
* @param array $attributes HTML attributes for the select element
|
||||||
* @param mixed $showEmpty Show/hide the empty select option
|
* @param mixed $showEmpty Show/hide the empty select option
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
@ -999,11 +999,11 @@ class FormHelper extends AppHelper {
|
||||||
* @return string The HTML formatted OPTION element
|
* @return string The HTML formatted OPTION element
|
||||||
*/
|
*/
|
||||||
function dateTime($tagName, $dateFormat = 'DMY', $timeFormat = '12', $selected = null, $attributes = array(), $showEmpty = true) {
|
function dateTime($tagName, $dateFormat = 'DMY', $timeFormat = '12', $selected = null, $attributes = array(), $showEmpty = true) {
|
||||||
$day = null;
|
$day = null;
|
||||||
$month = null;
|
$month = null;
|
||||||
$year = null;
|
$year = null;
|
||||||
$hour = null;
|
$hour = null;
|
||||||
$min = null;
|
$min = null;
|
||||||
$meridian = null;
|
$meridian = null;
|
||||||
|
|
||||||
if (empty($selected)) {
|
if (empty($selected)) {
|
||||||
|
@ -1196,7 +1196,13 @@ class FormHelper extends AppHelper {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'month':
|
case 'month':
|
||||||
$data = array('01' => 'January', '02' => 'February', '03' => 'March', '04' => 'April', '05' => 'May', '06' => 'June', '07' => 'July', '08' => 'August', '09' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
|
$data = array('01'=>strftime("%B", strtotime("1/1/2006")), '02'=>strftime("%B", strtotime("2/1/2006")),
|
||||||
|
'03'=>strftime("%B", strtotime("3/1/2006")), '04'=>strftime("%B", strtotime("4/1/2006")),
|
||||||
|
'05'=>strftime("%B", strtotime("5/1/2006")), '06'=>strftime("%B", strtotime("6/1/2006")),
|
||||||
|
'07'=>strftime("%B", strtotime("7/1/2006")), '08'=>strftime("%B", strtotime("8/1/2006")),
|
||||||
|
'09'=>strftime("%B", strtotime("9/1/2006")), '10'=>strftime("%B", strtotime("10/1/2006")),
|
||||||
|
'11'=>strftime("%B", strtotime("11/1/2006")),'12'=>strftime("%B", strtotime("12/1/2006"))
|
||||||
|
);
|
||||||
break;
|
break;
|
||||||
case 'year':
|
case 'year':
|
||||||
$current = intval(date('Y'));
|
$current = intval(date('Y'));
|
||||||
|
|
|
@ -403,12 +403,12 @@ class HtmlHelper extends AppHelper {
|
||||||
function radio($fieldName, $options, $inbetween = null, $htmlAttributes = array()) {
|
function radio($fieldName, $options, $inbetween = null, $htmlAttributes = array()) {
|
||||||
|
|
||||||
$this->setFormTag($fieldName);
|
$this->setFormTag($fieldName);
|
||||||
$value = isset($htmlAttributes['value']) ? $htmlAttributes['value'] : $this->tagValue($fieldName);
|
$value = isset($htmlAttributes['value']) ? $htmlAttributes['value'] : $this->__value($fieldName);
|
||||||
$out = array();
|
$out = array();
|
||||||
|
|
||||||
foreach($options as $optValue => $optTitle) {
|
foreach($options as $optValue => $optTitle) {
|
||||||
$optionsHere = array('value' => $optValue);
|
$optionsHere = array('value' => $optValue);
|
||||||
if ($value !== false && $optValue == $value) {
|
if (!empty($value) && $optValue == $value) {
|
||||||
$optionsHere['checked'] = 'checked';
|
$optionsHere['checked'] = 'checked';
|
||||||
}
|
}
|
||||||
$parsedOptions = $this->_parseAttributes(array_merge($htmlAttributes, $optionsHere), null, '', ' ');
|
$parsedOptions = $this->_parseAttributes(array_merge($htmlAttributes, $optionsHere), null, '', ' ');
|
||||||
|
|
|
@ -565,7 +565,15 @@ class FormHelperTest extends CakeTestCase {
|
||||||
'<\/select>'.
|
'<\/select>'.
|
||||||
'/i', $result);
|
'/i', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testMonth() {
|
||||||
|
$result = $this->Form->month('Model.field');
|
||||||
|
$this->assertPattern('/' .
|
||||||
|
'<option\s+value="01"[^>]*>January<\/option>\s+'.
|
||||||
|
'<option\s+value="02"[^>]*>February<\/option>\s+'.
|
||||||
|
'/i', $result);
|
||||||
|
}
|
||||||
|
|
||||||
function testDaySelect() {
|
function testDaySelect() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue