Completed
Pull Request — master (#664)
by
unknown
06:45
created

TimezoneMemberExtension::updateCMSFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
cc 1
eloc 8
nc 1
nop 1
1
<?php
2
/**
3
 * Class TimezoneMemberExtension.
4
 *
5
 * Adds all available timezones as an optional field to SilverStripe {@link Member}.
6
 */
7
class TimezoneMemberExtension extends DataExtension {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
8
	private static $db = [
9
		'Timezone' => 'Varchar(255)',
10
	];
11
12
	public function getTimezones() {
13
		$timezones = timezone_identifiers_list();
14
		return array_combine($timezones, $timezones);
15
	}
16
17
	public function updateCMSFields(FieldList $fields) {   
18
		$fields->removeFieldFromTab('Root', 'Timezone');
19
		$field = DropdownField::create(
20
		  'Timezone',
21
		  'Timezone',
22
		  $this->getTimezones())->setEmptyString('For NZ, choose Pacific/Auckland');
23
		$fields->addFieldToTab('Root.timezone', $field);
24
		return $fields;
25
	}
26
27
}
28