Révision b720ea3e
Ajouté par Assos Assos il y a plus de 8 ans
drupal7/sites/all/modules/date/date_api/date_api_elements.inc | ||
---|---|---|
116 | 116 |
case 16: |
117 | 117 |
$format = 'Y-m-d H:i'; |
118 | 118 |
break; |
119 |
|
|
119 | 120 |
case 13: |
120 | 121 |
$format = 'Y-m-d H'; |
121 | 122 |
break; |
123 |
|
|
122 | 124 |
case 10: |
123 | 125 |
$format = 'Y-m-d'; |
124 | 126 |
break; |
127 |
|
|
125 | 128 |
case 7: |
126 | 129 |
$format = 'Y-m'; |
127 | 130 |
break; |
131 |
|
|
128 | 132 |
case 4: |
129 | 133 |
$format = 'Y'; |
130 | 134 |
break; |
... | ... | |
170 | 174 |
$element['#attached']['js'][] = drupal_get_path('module', 'date_api') . '/date_year_range.js'; |
171 | 175 |
|
172 | 176 |
$context = array( |
173 |
'form' => $form, |
|
177 |
'form' => $form,
|
|
174 | 178 |
); |
175 | 179 |
drupal_alter('date_year_range_process', $element, $form_state, $context); |
176 | 180 |
|
... | ... | |
256 | 260 |
} |
257 | 261 |
|
258 | 262 |
$context = array( |
259 |
'form' => $form, |
|
263 |
'form' => $form,
|
|
260 | 264 |
); |
261 | 265 |
drupal_alter('date_timezone_process', $element, $form_state, $context); |
262 | 266 |
|
... | ... | |
264 | 268 |
} |
265 | 269 |
|
266 | 270 |
/** |
267 |
* Validation for timezone input
|
|
271 |
* Validation for timezone input.
|
|
268 | 272 |
* |
269 | 273 |
* Move the timezone value from the nested field back to the original field. |
270 | 274 |
*/ |
... | ... | |
307 | 311 |
* |
308 | 312 |
* The exact parts displayed in the field are those in #date_granularity. |
309 | 313 |
* The display of each part comes from #date_format. |
310 |
* |
|
311 | 314 |
*/ |
312 | 315 |
function date_text_element_process($element, &$form_state, $form) { |
313 | 316 |
if (date_hidden_element($element)) { |
... | ... | |
323 | 326 |
$now = date_example_date(); |
324 | 327 |
$element['date']['#title'] = t('Date'); |
325 | 328 |
$element['date']['#title_display'] = 'invisible'; |
326 |
$element['date']['#description'] = ' ' . t('Format: @date', array('@date' => date_format_date(date_example_date(), 'custom', $element['#date_format']))); |
|
329 |
$element['date']['#description'] = ' ' . t('Format: @date', array( |
|
330 |
'@date' => date_format_date(date_example_date(), 'custom', $element['#date_format'] |
|
331 |
))); |
|
327 | 332 |
$element['date']['#ajax'] = !empty($element['#ajax']) ? $element['#ajax'] : FALSE; |
328 | 333 |
|
334 |
// Make changes if instance is set to be rendered as a regular field. |
|
335 |
if (!empty($element['#instance']['widget']['settings']['no_fieldset']) && $element['#field']['cardinality'] == 1) { |
|
336 |
$element['date']['#title'] = check_plain($element['#instance']['label']); |
|
337 |
$element['date']['#title_display'] = $element['#title_display']; |
|
338 |
$element['date']['#required'] = $element['#required']; |
|
339 |
} |
|
340 |
|
|
329 | 341 |
// Keep the system from creating an error message for the sub-element. |
330 | 342 |
// We'll set our own message on the parent element. |
331 | 343 |
// $element['date']['#required'] = $element['#required']; |
... | ... | |
341 | 353 |
} |
342 | 354 |
|
343 | 355 |
$context = array( |
344 |
'form' => $form, |
|
356 |
'form' => $form,
|
|
345 | 357 |
); |
346 | 358 |
drupal_alter('date_text_process', $element, $form_state, $context); |
347 | 359 |
|
... | ... | |
349 | 361 |
} |
350 | 362 |
|
351 | 363 |
/** |
352 |
* Validation for text input.
|
|
364 |
* Validation for text input. |
|
353 | 365 |
* |
354 | 366 |
* When used as a Views widget, the validation step always gets triggered, |
355 | 367 |
* even with no form submission. Before form submission $element['#value'] |
356 | 368 |
* contains a string, after submission it contains an array. |
357 |
* |
|
358 | 369 |
*/ |
359 | 370 |
function date_text_validate($element, &$form_state) { |
360 | 371 |
if (date_hidden_element($element)) { |
... | ... | |
367 | 378 |
$input_exists = NULL; |
368 | 379 |
$input = drupal_array_get_nested_value($form_state['values'], $element['#parents'], $input_exists); |
369 | 380 |
|
381 |
// Trim extra spacing off user input of text fields. |
|
382 |
if (isset($input['date'])) { |
|
383 |
$input['date'] = trim($input['date']); |
|
384 |
} |
|
385 |
|
|
370 | 386 |
drupal_alter('date_text_pre_validate', $element, $form_state, $input); |
371 | 387 |
|
372 | 388 |
$label = !empty($element['#date_title']) ? $element['#date_title'] : (!empty($element['#title']) ? $element['#title'] : ''); |
... | ... | |
421 | 437 |
* Element value callback for date_select element. |
422 | 438 |
*/ |
423 | 439 |
function date_select_element_value_callback($element, $input = FALSE, &$form_state = array()) { |
424 |
$return = array('year' => '', 'month' => '', 'day' => '', 'hour' => '', 'minute' => '', 'second' => ''); |
|
440 |
$return = array( |
|
441 |
'year' => '', |
|
442 |
'month' => '', |
|
443 |
'day' => '', |
|
444 |
'hour' => '', |
|
445 |
'minute' => '', |
|
446 |
'second' => '', |
|
447 |
); |
|
425 | 448 |
$date = NULL; |
426 | 449 |
if ($input !== FALSE) { |
427 | 450 |
$return = $input; |
... | ... | |
431 | 454 |
$date = date_default_date($element); |
432 | 455 |
} |
433 | 456 |
$granularity = date_format_order($element['#date_format']); |
434 |
$formats = array('year' => 'Y', 'month' => 'n', 'day' => 'j', 'hour' => 'H', 'minute' => 'i', 'second' => 's'); |
|
457 |
$formats = array( |
|
458 |
'year' => 'Y', |
|
459 |
'month' => 'n', |
|
460 |
'day' => 'j', |
|
461 |
'hour' => 'H', |
|
462 |
'minute' => 'i', |
|
463 |
'second' => 's', |
|
464 |
); |
|
435 | 465 |
foreach ($granularity as $field) { |
436 | 466 |
if ($field != 'timezone') { |
437 | 467 |
$return[$field] = date_is_date($date) ? $date->format($formats[$field]) : ''; |
... | ... | |
449 | 479 |
* |
450 | 480 |
* The exact parts displayed in the field are those in #date_granularity. |
451 | 481 |
* The display of each part comes from ['#date_settings']['format']. |
452 |
* |
|
453 | 482 |
*/ |
454 | 483 |
function date_select_element_process($element, &$form_state, $form) { |
455 | 484 |
if (date_hidden_element($element)) { |
... | ... | |
473 | 502 |
|
474 | 503 |
// Store a hidden value for all date parts not in the current display. |
475 | 504 |
$granularity = date_format_order($element['#date_format']); |
476 |
$formats = array('year' => 'Y', 'month' => 'n', 'day' => 'j', 'hour' => 'H', 'minute' => 'i', 'second' => 's'); |
|
505 |
$formats = array( |
|
506 |
'year' => 'Y', |
|
507 |
'month' => 'n', |
|
508 |
'day' => 'j', |
|
509 |
'hour' => 'H', |
|
510 |
'minute' => 'i', |
|
511 |
'second' => 's', |
|
512 |
); |
|
477 | 513 |
foreach (date_nongranularity($granularity) as $field) { |
478 | 514 |
if ($field != 'timezone') { |
479 | 515 |
$element[$field] = array( |
... | ... | |
490 | 526 |
} |
491 | 527 |
|
492 | 528 |
$context = array( |
493 |
'form' => $form, |
|
529 |
'form' => $form,
|
|
494 | 530 |
); |
495 | 531 |
drupal_alter('date_select_process', $element, $form_state, $context); |
496 | 532 |
|
... | ... | |
521 | 557 |
$sub_element = array('#granularity' => $granularity); |
522 | 558 |
$order = array_flip($granularity); |
523 | 559 |
|
524 |
$hours_format = strpos(strtolower($element['#date_format']), 'a') ? 'g': 'G'; |
|
560 |
$hours_format = strpos(strtolower($element['#date_format']), 'a') ? 'g' : 'G';
|
|
525 | 561 |
$month_function = strpos($element['#date_format'], 'F') !== FALSE ? 'date_month_names' : 'date_month_names_abbr'; |
526 | 562 |
$count = 0; |
527 | 563 |
$increment = min(intval($element['#date_increment']), 1); |
... | ... | |
539 | 575 |
switch ($field) { |
540 | 576 |
case 'year': |
541 | 577 |
$range = date_range_years($element['#date_year_range'], $date); |
542 |
$min_year = $range[0];
|
|
543 |
$max_year = $range[1];
|
|
578 |
$start_year = $range[0];
|
|
579 |
$end_year = $range[1];
|
|
544 | 580 |
|
545 | 581 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format('Y') : ''; |
546 | 582 |
if ($part_type == 'select') { |
547 |
$sub_element[$field]['#options'] = drupal_map_assoc(date_years($min_year, $max_year, $part_required));
|
|
583 |
$sub_element[$field]['#options'] = drupal_map_assoc(date_years($start_year, $end_year, $part_required));
|
|
548 | 584 |
} |
549 | 585 |
break; |
586 |
|
|
550 | 587 |
case 'month': |
551 | 588 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format('n') : ''; |
552 | 589 |
if ($part_type == 'select') { |
553 | 590 |
$sub_element[$field]['#options'] = $month_function($part_required); |
554 | 591 |
} |
555 | 592 |
break; |
593 |
|
|
556 | 594 |
case 'day': |
557 | 595 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format('j') : ''; |
558 | 596 |
if ($part_type == 'select') { |
559 | 597 |
$sub_element[$field]['#options'] = drupal_map_assoc(date_days($part_required)); |
560 | 598 |
} |
561 | 599 |
break; |
600 |
|
|
562 | 601 |
case 'hour': |
563 | 602 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format($hours_format) : ''; |
564 | 603 |
if ($part_type == 'select') { |
... | ... | |
566 | 605 |
} |
567 | 606 |
$sub_element[$field]['#prefix'] = theme('date_part_hour_prefix', $element); |
568 | 607 |
break; |
608 |
|
|
569 | 609 |
case 'minute': |
570 | 610 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format('i') : ''; |
571 | 611 |
if ($part_type == 'select') { |
... | ... | |
573 | 613 |
} |
574 | 614 |
$sub_element[$field]['#prefix'] = theme('date_part_minsec_prefix', $element); |
575 | 615 |
break; |
616 |
|
|
576 | 617 |
case 'second': |
577 | 618 |
$sub_element[$field]['#default_value'] = is_object($date) ? $date->format('s') : ''; |
578 | 619 |
if ($part_type == 'select') { |
Formats disponibles : Unified diff
Weekly update of contrib modules