Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/people/icon/PhabricatorPeopleIconSet.php
12256 views
1
<?php
2
3
final class PhabricatorPeopleIconSet
4
extends PhabricatorIconSet {
5
6
const ICONSETKEY = 'people';
7
8
public function getSelectIconTitleText() {
9
return pht('Choose User Icon');
10
}
11
12
protected function newIcons() {
13
$specifications = self::getIconSpecifications();
14
15
$icons = array();
16
foreach ($specifications as $spec) {
17
$icons[] = id(new PhabricatorIconSetIcon())
18
->setKey($spec['key'])
19
->setIcon($spec['icon'])
20
->setLabel($spec['name']);
21
}
22
23
return $icons;
24
}
25
26
public static function getDefaultIconKey() {
27
$specifications = self::getIconSpecifications();
28
29
foreach ($specifications as $spec) {
30
if (idx($spec, 'default')) {
31
return $spec['key'];
32
}
33
}
34
35
return null;
36
}
37
38
public static function getIconIcon($key) {
39
$specifications = self::getIconSpecifications();
40
$map = ipull($specifications, 'icon', 'key');
41
return idx($map, $key);
42
}
43
44
public static function getIconName($key) {
45
$specifications = self::getIconSpecifications();
46
$map = ipull($specifications, 'name', 'key');
47
return idx($map, $key);
48
}
49
50
private static function getIconSpecifications() {
51
return self::getDefaultSpecifications();
52
}
53
54
private static function getDefaultSpecifications() {
55
return array(
56
array(
57
'key' => 'person',
58
'icon' => 'fa-user',
59
'name' => pht('User'),
60
'default' => true,
61
),
62
array(
63
'key' => 'engineering',
64
'icon' => 'fa-code',
65
'name' => pht('Engineering'),
66
),
67
array(
68
'key' => 'operations',
69
'icon' => 'fa-space-shuttle',
70
'name' => pht('Operations'),
71
),
72
array(
73
'key' => 'resources',
74
'icon' => 'fa-heart',
75
'name' => pht('Resources'),
76
),
77
array(
78
'key' => 'camera',
79
'icon' => 'fa-camera-retro',
80
'name' => pht('Design'),
81
),
82
array(
83
'key' => 'music',
84
'icon' => 'fa-headphones',
85
'name' => pht('Musician'),
86
),
87
array(
88
'key' => 'spy',
89
'icon' => 'fa-user-secret',
90
'name' => pht('Spy'),
91
),
92
array(
93
'key' => 'android',
94
'icon' => 'fa-android',
95
'name' => pht('Bot'),
96
),
97
array(
98
'key' => 'relationships',
99
'icon' => 'fa-glass',
100
'name' => pht('Relationships'),
101
),
102
array(
103
'key' => 'administration',
104
'icon' => 'fa-fax',
105
'name' => pht('Administration'),
106
),
107
array(
108
'key' => 'security',
109
'icon' => 'fa-shield',
110
'name' => pht('Security'),
111
),
112
array(
113
'key' => 'logistics',
114
'icon' => 'fa-truck',
115
'name' => pht('Logistics'),
116
),
117
array(
118
'key' => 'research',
119
'icon' => 'fa-flask',
120
'name' => pht('Research'),
121
),
122
array(
123
'key' => 'analysis',
124
'icon' => 'fa-bar-chart-o',
125
'name' => pht('Analysis'),
126
),
127
array(
128
'key' => 'executive',
129
'icon' => 'fa-angle-double-up',
130
'name' => pht('Executive'),
131
),
132
array(
133
'key' => 'animal',
134
'icon' => 'fa-paw',
135
'name' => pht('Animal'),
136
),
137
);
138
}
139
140
}
141
142