Line 16... |
Line 16... |
16 |
// | Authors: Alexey Borzov <avb@php.net> |
|
16 |
// | Authors: Alexey Borzov <avb@php.net> |
|
17 |
// | Adam Daniel <adaniel1@eesus.jnj.com> |
|
17 |
// | Adam Daniel <adaniel1@eesus.jnj.com> |
|
18 |
// | Bertrand Mansion <bmansion@mamasam.com> |
|
18 |
// | Bertrand Mansion <bmansion@mamasam.com> |
|
19 |
// +----------------------------------------------------------------------+
|
19 |
// +----------------------------------------------------------------------+
|
20 |
//
|
20 |
//
|
21 |
// $Id: date.php,v 1.1 2005-03-30 08:50:33 jpm Exp $
|
21 |
// $Id: date.php,v 1.2 2005-09-20 17:01:22 ddelon Exp $
|
Line 22... |
Line 22... |
22 |
|
22 |
|
23 |
require_once 'HTML/QuickForm/group.php';
|
23 |
require_once 'HTML/QuickForm/group.php';
|
Line 24... |
Line 24... |
24 |
require_once 'HTML/QuickForm/select.php';
|
24 |
require_once 'HTML/QuickForm/select.php';
|
Line 109... |
Line 109... |
109 |
'months_long' => array ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember')
|
109 |
'months_long' => array ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember')
|
110 |
),
|
110 |
),
|
111 |
'fr' => array (
|
111 |
'fr' => array (
|
112 |
'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'),
|
112 |
'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'),
|
113 |
'weekdays_long' => array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'),
|
113 |
'weekdays_long' => array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'),
|
114 |
'months_short' => array ('Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec'),
|
114 |
'months_short' => array ('Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Déc'),
|
115 |
'months_long' => array ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre')
|
- |
|
116 |
),
|
- |
|
117 |
'fr' => array (
|
- |
|
118 |
'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'),
|
- |
|
119 |
'weekdays_long' => array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'),
|
- |
|
120 |
'months_short' => array ('Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec'),
|
- |
|
121 |
'months_long' => array ('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre')
|
115 |
'months_long' => array ('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre')
|
122 |
),
|
116 |
),
|
123 |
'hu' => array (
|
117 |
'hu' => array (
|
124 |
'weekdays_short'=> array ('V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'),
|
118 |
'weekdays_short'=> array ('V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'),
|
125 |
'weekdays_long' => array ('vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'),
|
119 |
'weekdays_long' => array ('vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'),
|
Line 146... |
Line 140... |
146 |
),
|
140 |
),
|
147 |
'es' => array (
|
141 |
'es' => array (
|
148 |
'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'),
|
142 |
'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'),
|
149 |
'weekdays_long' => array ('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'),
|
143 |
'weekdays_long' => array ('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'),
|
150 |
'months_short' => array ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'),
|
144 |
'months_short' => array ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'),
|
151 |
'months_long' => array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septimbre', 'Octubre', 'Noviembre', 'Diciembre')
|
145 |
'months_long' => array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre')
|
152 |
),
|
146 |
),
|
153 |
'da' => array (
|
147 |
'da' => array (
|
154 |
'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'),
|
148 |
'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'),
|
155 |
'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'),
|
149 |
'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'),
|
156 |
'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'),
|
150 |
'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'),
|
Line 219... |
Line 213... |
219 |
'ua' => array (
|
213 |
'ua' => array (
|
220 |
'weekdays_short'=> array('Ндл', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'),
|
214 |
'weekdays_short'=> array('Ндл', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'),
|
221 |
'weekdays_long' => array('Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'),
|
215 |
'weekdays_long' => array('Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'),
|
222 |
'months_short' => array('Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'),
|
216 |
'months_short' => array('Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'),
|
223 |
'months_long' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень')
|
217 |
'months_long' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень')
|
- |
|
218 |
),
|
- |
|
219 |
'ro' => array (
|
- |
|
220 |
'weekdays_short'=> array ('Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'),
|
- |
|
221 |
'weekdays_long' => array ('Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'),
|
- |
|
222 |
'months_short' => array ('Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
|
- |
|
223 |
'months_long' => array ('Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie')
|
- |
|
224 |
),
|
- |
|
225 |
'he' => array (
|
- |
|
226 |
'weekdays_short'=> array ('ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'),
|
- |
|
227 |
'weekdays_long' => array ('יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'שבת'),
|
- |
|
228 |
'months_short' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'),
|
- |
|
229 |
'months_long' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר')
|
- |
|
230 |
),
|
- |
|
231 |
'sv' => array (
|
- |
|
232 |
'weekdays_short'=> array ('Sön', 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör'),
|
- |
|
233 |
'weekdays_long' => array ('Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag'),
|
- |
|
234 |
'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'),
|
- |
|
235 |
'months_long' => array ('Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December')
|
- |
|
236 |
),
|
- |
|
237 |
'pt' => array (
|
- |
|
238 |
'weekdays_short'=> array ('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'),
|
- |
|
239 |
'weekdays_long' => array ('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'),
|
- |
|
240 |
'months_short' => array ('Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'),
|
- |
|
241 |
'months_long' => array ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro')
|
224 |
)
|
242 |
)
|
225 |
);
|
243 |
);
|
Line 226... |
Line 244... |
226 |
|
244 |
|
227 |
// }}}
|
245 |
// }}}
|
Line 314... |
Line 332... |
314 |
array_walk($options, create_function('&$v,$k','$v = substr($v,-2);'));
|
332 |
array_walk($options, create_function('&$v,$k','$v = substr($v,-2);'));
|
315 |
break;
|
333 |
break;
|
316 |
case 'h':
|
334 |
case 'h':
|
317 |
$options = $this->_createOptionList(1, 12);
|
335 |
$options = $this->_createOptionList(1, 12);
|
318 |
break;
|
336 |
break;
|
- |
|
337 |
case 'g':
|
- |
|
338 |
$options = $this->_createOptionList(1, 12);
|
- |
|
339 |
array_walk($options, create_function('&$v,$k', '$v = intval($v);'));
|
- |
|
340 |
break;
|
319 |
case 'H':
|
341 |
case 'H':
|
320 |
$options = $this->_createOptionList(0, 23);
|
342 |
$options = $this->_createOptionList(0, 23);
|
321 |
break;
|
343 |
break;
|
322 |
case 'i':
|
344 |
case 'i':
|
323 |
$options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['i']);
|
345 |
$options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['i']);
|
Line 329... |
Line 351... |
329 |
$options = array('am' => 'am', 'pm' => 'pm');
|
351 |
$options = array('am' => 'am', 'pm' => 'pm');
|
330 |
break;
|
352 |
break;
|
331 |
case 'A':
|
353 |
case 'A':
|
332 |
$options = array('AM' => 'AM', 'PM' => 'PM');
|
354 |
$options = array('AM' => 'AM', 'PM' => 'PM');
|
333 |
break;
|
355 |
break;
|
- |
|
356 |
case 'W':
|
- |
|
357 |
$options = $this->_createOptionList(1, 53);
|
- |
|
358 |
break;
|
334 |
case '\\':
|
359 |
case '\\':
|
335 |
$backslash = true;
|
360 |
$backslash = true;
|
336 |
$loadSelect = false;
|
361 |
$loadSelect = false;
|
337 |
break;
|
362 |
break;
|
338 |
default:
|
363 |
default:
|
Line 346... |
Line 371... |
346 |
} else {
|
371 |
} else {
|
347 |
$this->_wrap[0] = $separator;
|
372 |
$this->_wrap[0] = $separator;
|
348 |
}
|
373 |
}
|
349 |
$separator = '';
|
374 |
$separator = '';
|
350 |
// Should we add an empty option to the top of the select?
|
375 |
// Should we add an empty option to the top of the select?
|
351 |
if ($this->_options['addEmptyOption']) {
|
376 |
if (!is_array($this->_options['addEmptyOption']) && $this->_options['addEmptyOption'] ||
|
- |
|
377 |
is_array($this->_options['addEmptyOption']) && !empty($this->_options['addEmptyOption'][$sign])) {
|
- |
|
378 |
|
- |
|
379 |
// Using '+' array operator to preserve the keys
|
- |
|
380 |
if (is_array($this->_options['emptyOptionText']) && !empty($this->_options['emptyOptionText'][$sign])) {
|
- |
|
381 |
$options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText'][$sign]) + $options;
|
352 |
// Preserve the keys
|
382 |
} else {
|
353 |
$options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText']) + $options;
|
383 |
$options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText']) + $options;
|
- |
|
384 |
}
|
354 |
}
|
385 |
}
|
355 |
$this->_elements[] =& new HTML_QuickForm_select($sign, null, $options, $this->getAttributes());
|
386 |
$this->_elements[] =& new HTML_QuickForm_select($sign, null, $options, $this->getAttributes());
|
356 |
}
|
387 |
}
|
357 |
}
|
388 |
}
|
358 |
}
|
389 |
}
|
Line 389... |
Line 420... |
389 |
} elseif (is_scalar($value)) {
|
420 |
} elseif (is_scalar($value)) {
|
390 |
if (!is_numeric($value)) {
|
421 |
if (!is_numeric($value)) {
|
391 |
$value = strtotime($value);
|
422 |
$value = strtotime($value);
|
392 |
}
|
423 |
}
|
393 |
// might be a unix epoch, then we fill all possible values
|
424 |
// might be a unix epoch, then we fill all possible values
|
394 |
$arr = explode('-', date('w-d-n-Y-h-H-i-s-a-A', (int)$value));
|
425 |
$arr = explode('-', date('w-d-n-Y-h-H-i-s-a-A-W', (int)$value));
|
395 |
$value = array(
|
426 |
$value = array(
|
396 |
'D' => $arr[0],
|
427 |
'D' => $arr[0],
|
397 |
'l' => $arr[0],
|
428 |
'l' => $arr[0],
|
398 |
'd' => $arr[1],
|
429 |
'd' => $arr[1],
|
399 |
'M' => $arr[2],
|
430 |
'M' => $arr[2],
|
400 |
'm' => $arr[2],
|
431 |
'm' => $arr[2],
|
401 |
'F' => $arr[2],
|
432 |
'F' => $arr[2],
|
402 |
'Y' => $arr[3],
|
433 |
'Y' => $arr[3],
|
403 |
'y' => $arr[3],
|
434 |
'y' => $arr[3],
|
404 |
'h' => $arr[4],
|
435 |
'h' => $arr[4],
|
- |
|
436 |
'g' => $arr[4],
|
405 |
'H' => $arr[5],
|
437 |
'H' => $arr[5],
|
406 |
'i' => $arr[6],
|
438 |
'i' => $arr[6],
|
407 |
's' => $arr[7],
|
439 |
's' => $arr[7],
|
408 |
'a' => $arr[8],
|
440 |
'a' => $arr[8],
|
409 |
'A' => $arr[9]
|
441 |
'A' => $arr[9],
|
- |
|
442 |
'W' => $arr[10]
|
410 |
);
|
443 |
);
|
411 |
}
|
444 |
}
|
412 |
parent::setValue($value);
|
445 |
parent::setValue($value);
|
413 |
}
|
446 |
}
|
Line 417... |
Line 450... |
417 |
|
450 |
|
418 |
function toHtml()
|
451 |
function toHtml()
|
419 |
{
|
452 |
{
|
420 |
include_once('HTML/QuickForm/Renderer/Default.php');
|
453 |
include_once('HTML/QuickForm/Renderer/Default.php');
|
421 |
$renderer =& new HTML_QuickForm_Renderer_Default();
|
454 |
$renderer =& new HTML_QuickForm_Renderer_Default();
|
422 |
$renderer->setElementTemplate($this->_wrap[0] . '{element}' . $this->_wrap[1]);
|
455 |
$renderer->setElementTemplate('{element}');
|
423 |
parent::accept($renderer);
|
456 |
parent::accept($renderer);
|
424 |
return $renderer->toHtml();
|
457 |
return $this->_wrap[0] . $renderer->toHtml() . $this->_wrap[1];
|
Line 425... |
Line 458... |
425 |
}
|
458 |
}
|
426 |
|
459 |
|