-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension.php
58 lines (46 loc) · 1.96 KB
/
extension.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
class DateFormatExtension extends Minz_Extension {
const DEFAULT_RELATIVE_DATE = false;
const DEFAULT_ADJUSTED_DATE = false;
const DEFAULT_HOUR12_DATE = false;
const DEFAULT_CUSTOM_FORMAT = null;
public function init() {
$this->registerTranslates();
Minz_View::appendScript($this->getFileUrl('moment-with-locales.js', 'js'));
Minz_View::appendScript($this->getFileUrl('date-format.js', 'js'));
$this->registerHook('js_vars', [$this, 'addVariables']);
}
public function addVariables($vars) {
$vars[$this->getName()]['configuration'] = [
'relativeDates' => $this->getRelativeDates(),
'adjustedDates' => $this->getAdjustedDates(),
'hour12Dates' => $this->getHour12Dates(),
'customFormat' => $this->getCustomFormat(),
];
return $vars;
}
public function handleConfigureAction() {
$this->registerTranslates();
if (Minz_Request::isPost()) {
$configuration = [
'relativeDates' => (bool) Minz_Request::param('relative-dates'),
'adjustedDates' => (bool) Minz_Request::param('adjusted-dates'),
'hour12Dates' => (bool) Minz_Request::param('hour12-dates'),
'customFormat' => Minz_Request::param('custom-format'),
];
$this->setUserConfiguration($configuration);
}
}
public function getRelativeDates() {
return $this->getUserConfigurationValue('relativeDates', static::DEFAULT_RELATIVE_DATE);
}
public function getAdjustedDates() {
return $this->getUserConfigurationValue('adjustedDates', static::DEFAULT_ADJUSTED_DATE);
}
public function getHour12Dates() {
return $this->getUserConfigurationValue('hour12Dates', static::DEFAULT_HOUR12_DATE);
}
public function getCustomFormat() {
return $this->getUserConfigurationValue('customFormat', static::DEFAULT_CUSTOM_FORMAT);
}
}