|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* Helper methods |
|
4
|
|
|
* |
|
5
|
|
|
* @package Kirki |
|
6
|
|
|
* @category Core |
|
7
|
|
|
* @author Aristeides Stathopoulos |
|
8
|
|
|
* @copyright Copyright (c) 2016, Aristeides Stathopoulos |
|
9
|
|
|
* @license http://opensource.org/licenses/https://opensource.org/licenses/MIT |
|
10
|
|
|
* @since 1.0 |
|
11
|
|
|
*/ |
|
12
|
|
|
|
|
13
|
|
|
// Exit if accessed directly. |
|
14
|
|
|
if ( ! defined( 'ABSPATH' ) ) { |
|
15
|
|
|
exit; |
|
16
|
|
|
} |
|
17
|
|
|
|
|
18
|
|
|
/** |
|
19
|
|
|
* A simple object containing static methods. |
|
20
|
|
|
*/ |
|
21
|
|
|
class Kirki_Helper { |
|
22
|
|
|
|
|
23
|
|
|
/** |
|
24
|
|
|
* Recursive replace in arrays. |
|
25
|
|
|
* |
|
26
|
|
|
* @static |
|
27
|
|
|
* @access public |
|
28
|
|
|
* @param array $array The first array. |
|
29
|
|
|
* @param array $array1 The second array. |
|
30
|
|
|
* @return mixed |
|
31
|
|
|
*/ |
|
32
|
|
|
public static function array_replace_recursive( $array, $array1 ) { |
|
33
|
|
|
if ( function_exists( 'array_replace_recursive' ) ) { |
|
34
|
|
|
return array_replace_recursive( $array, $array1 ); |
|
35
|
|
|
} |
|
36
|
|
|
|
|
37
|
|
|
// Handle the arguments, merge one by one. |
|
38
|
|
|
$args = func_get_args(); |
|
39
|
|
|
$array = $args[0]; |
|
40
|
|
|
if ( ! is_array( $array ) ) { |
|
41
|
|
|
return $array; |
|
42
|
|
|
} |
|
43
|
|
|
$count = count( $args ); |
|
44
|
|
|
for ( $i = 1; $i < $count; $i++ ) { |
|
45
|
|
|
if ( is_array( $args[ $i ] ) ) { |
|
46
|
|
|
$array = self::recurse( $array, $args[ $i ] ); |
|
47
|
|
|
} |
|
48
|
|
|
} |
|
49
|
|
|
return $array; |
|
50
|
|
|
} |
|
51
|
|
|
|
|
52
|
|
|
/** |
|
53
|
|
|
* Helper method to be used from the array_replace_recursive method. |
|
54
|
|
|
* |
|
55
|
|
|
* @static |
|
56
|
|
|
* @access public |
|
57
|
|
|
* @param array $array The first array. |
|
58
|
|
|
* @param array $array1 The second array. |
|
59
|
|
|
* @return array |
|
60
|
|
|
*/ |
|
61
|
|
|
public static function recurse( $array, $array1 ) { |
|
62
|
|
|
foreach ( $array1 as $key => $value ) { |
|
63
|
|
|
// Create new key in $array, if it is empty or not an array. |
|
64
|
|
|
if ( ! isset( $array[ $key ] ) || ( isset( $array[ $key ] ) && ! is_array( $array[ $key ] ) ) ) { |
|
65
|
|
|
$array[ $key ] = array(); |
|
66
|
|
|
} |
|
67
|
|
|
|
|
68
|
|
|
// Overwrite the value in the base array. |
|
69
|
|
|
if ( is_array( $value ) ) { |
|
70
|
|
|
$value = self::recurse( $array[ $key ], $value ); |
|
71
|
|
|
} |
|
72
|
|
|
$array[ $key ] = $value; |
|
73
|
|
|
} |
|
74
|
|
|
return $array; |
|
75
|
|
|
} |
|
76
|
|
|
|
|
77
|
|
|
/** |
|
78
|
|
|
* Initialize the WP_Filesystem |
|
79
|
|
|
*/ |
|
80
|
|
|
public static function init_filesystem() { |
|
81
|
|
|
global $wp_filesystem; |
|
82
|
|
|
if ( empty( $wp_filesystem ) ) { |
|
83
|
|
|
require_once( ABSPATH . '/wp-admin/includes/file.php' ); |
|
84
|
|
|
WP_Filesystem(); |
|
85
|
|
|
} |
|
86
|
|
|
} |
|
87
|
|
|
|
|
88
|
|
|
/** |
|
89
|
|
|
* Returns the attachment object |
|
90
|
|
|
* |
|
91
|
|
|
* @static |
|
92
|
|
|
* @access public |
|
93
|
|
|
* @see https://pippinsplugins.com/retrieve-attachment-id-from-image-url/ |
|
94
|
|
|
* @param string $url URL to the image. |
|
95
|
|
|
* @return int|string Numeric ID of the attachement. |
|
96
|
|
|
*/ |
|
97
|
|
|
public static function get_image_id( $url ) { |
|
98
|
|
|
global $wpdb; |
|
99
|
|
|
$attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid='%s';", $url ) ); |
|
|
|
|
|
|
100
|
|
|
if ( ! is_array( $attachment ) || ! isset( $attachment[0] ) ) { |
|
101
|
|
|
return 0; |
|
102
|
|
|
} |
|
103
|
|
|
return $attachment[0]; |
|
104
|
|
|
} |
|
105
|
|
|
|
|
106
|
|
|
/** |
|
107
|
|
|
* Returns an array of the attachment's properties. |
|
108
|
|
|
* |
|
109
|
|
|
* @param string $url URL to the image. |
|
110
|
|
|
* @return array |
|
111
|
|
|
*/ |
|
112
|
|
|
public static function get_image_from_url( $url ) { |
|
113
|
|
|
|
|
114
|
|
|
$image_id = self::get_image_id( $url ); |
|
115
|
|
|
$image = wp_get_attachment_image_src( $image_id, 'full' ); |
|
116
|
|
|
|
|
117
|
|
|
return array( |
|
118
|
|
|
'url' => $image[0], |
|
119
|
|
|
'width' => $image[1], |
|
120
|
|
|
'height' => $image[2], |
|
121
|
|
|
'thumbnail' => $image[3], |
|
122
|
|
|
); |
|
123
|
|
|
|
|
124
|
|
|
} |
|
125
|
|
|
|
|
126
|
|
|
/** |
|
127
|
|
|
* Get an array of posts. |
|
128
|
|
|
* |
|
129
|
|
|
* @static |
|
130
|
|
|
* @access public |
|
131
|
|
|
* @param array $args Define arguments for the get_posts function. |
|
132
|
|
|
* @return array |
|
133
|
|
|
*/ |
|
134
|
|
|
public static function get_posts( $args ) { |
|
135
|
|
|
|
|
136
|
|
|
// Get the posts. |
|
137
|
|
|
if ( ! isset( $args['suppress_filters'] ) ) { |
|
138
|
|
|
$args['suppress_filters'] = false; |
|
139
|
|
|
} |
|
140
|
|
|
$posts = get_posts( $args ); |
|
141
|
|
|
|
|
142
|
|
|
// Properly format the array. |
|
143
|
|
|
$items = array(); |
|
144
|
|
|
foreach ( $posts as $post ) { |
|
145
|
|
|
$items[ $post->ID ] = $post->post_title; |
|
146
|
|
|
} |
|
147
|
|
|
|
|
148
|
|
|
return $items; |
|
149
|
|
|
|
|
150
|
|
|
} |
|
151
|
|
|
|
|
152
|
|
|
/** |
|
153
|
|
|
* Get an array of publicly-querable taxonomies. |
|
154
|
|
|
* |
|
155
|
|
|
* @static |
|
156
|
|
|
* @access public |
|
157
|
|
|
* @return array |
|
158
|
|
|
*/ |
|
159
|
|
|
public static function get_taxonomies() { |
|
160
|
|
|
|
|
161
|
|
|
$items = array(); |
|
162
|
|
|
|
|
163
|
|
|
// Get the taxonomies. |
|
164
|
|
|
$taxonomies = get_taxonomies( array( 'public' => true ) ); |
|
165
|
|
|
|
|
166
|
|
|
// Build the array. |
|
167
|
|
|
foreach ( $taxonomies as $taxonomy ) { |
|
168
|
|
|
$id = $taxonomy; |
|
169
|
|
|
$taxonomy = get_taxonomy( $taxonomy ); |
|
170
|
|
|
$items[ $id ] = $taxonomy->labels->name; |
|
171
|
|
|
} |
|
172
|
|
|
|
|
173
|
|
|
return $items; |
|
174
|
|
|
|
|
175
|
|
|
} |
|
176
|
|
|
|
|
177
|
|
|
/** |
|
178
|
|
|
* Get an array of publicly-querable post-types. |
|
179
|
|
|
* |
|
180
|
|
|
* @static |
|
181
|
|
|
* @access public |
|
182
|
|
|
* @return array |
|
183
|
|
|
*/ |
|
184
|
|
|
public static function get_post_types() { |
|
185
|
|
|
|
|
186
|
|
|
$items = array(); |
|
187
|
|
|
|
|
188
|
|
|
// Get the post types. |
|
189
|
|
|
$post_types = get_post_types( array( 'public' => true ), 'objects' ); |
|
190
|
|
|
|
|
191
|
|
|
// Build the array. |
|
192
|
|
|
foreach ( $post_types as $post_type ) { |
|
193
|
|
|
$items[ $post_type->name ] = $post_type->labels->name; |
|
194
|
|
|
} |
|
195
|
|
|
|
|
196
|
|
|
return $items; |
|
197
|
|
|
|
|
198
|
|
|
} |
|
199
|
|
|
|
|
200
|
|
|
/** |
|
201
|
|
|
* Get an array of terms from a taxonomy |
|
202
|
|
|
* |
|
203
|
|
|
* @static |
|
204
|
|
|
* @access public |
|
205
|
|
|
* @param string|array $taxonomies See https://developer.wordpress.org/reference/functions/get_terms/ for details. |
|
206
|
|
|
* @return array |
|
207
|
|
|
*/ |
|
208
|
|
|
public static function get_terms( $taxonomies ) { |
|
209
|
|
|
|
|
210
|
|
|
$items = array(); |
|
211
|
|
|
|
|
212
|
|
|
// Get the post types. |
|
213
|
|
|
$terms = get_terms( $taxonomies ); |
|
214
|
|
|
|
|
215
|
|
|
// Build the array. |
|
216
|
|
|
foreach ( $terms as $term ) { |
|
217
|
|
|
$items[ $term->term_id ] = $term->name; |
|
218
|
|
|
} |
|
219
|
|
|
|
|
220
|
|
|
return $items; |
|
221
|
|
|
|
|
222
|
|
|
} |
|
223
|
|
|
|
|
224
|
|
|
/** |
|
225
|
|
|
* Gets an array of material-design colors. |
|
226
|
|
|
* |
|
227
|
|
|
* @static |
|
228
|
|
|
* @access public |
|
229
|
|
|
* @param false|string $context Allows us to get subsets of the palette. |
|
230
|
|
|
* @return array |
|
231
|
|
|
*/ |
|
232
|
|
|
public static function get_material_design_colors( $context = false ) { |
|
233
|
|
|
|
|
234
|
|
|
$colors = array( |
|
235
|
|
|
'primary' => array( |
|
236
|
|
|
'#FFFFFF', |
|
237
|
|
|
'#000000', |
|
238
|
|
|
'#F44336', |
|
239
|
|
|
'#E91E63', |
|
240
|
|
|
'#9C27B0', |
|
241
|
|
|
'#673AB7', |
|
242
|
|
|
'#3F51B5', |
|
243
|
|
|
'#2196F3', |
|
244
|
|
|
'#03A9F4', |
|
245
|
|
|
'#00BCD4', |
|
246
|
|
|
'#009688', |
|
247
|
|
|
'#4CAF50', |
|
248
|
|
|
'#8BC34A', |
|
249
|
|
|
'#CDDC39', |
|
250
|
|
|
'#FFEB3B', |
|
251
|
|
|
'#FFC107', |
|
252
|
|
|
'#FF9800', |
|
253
|
|
|
'#FF5722', |
|
254
|
|
|
'#795548', |
|
255
|
|
|
'#9E9E9E', |
|
256
|
|
|
'#607D8B', |
|
257
|
|
|
), |
|
258
|
|
|
'red' => array( |
|
259
|
|
|
'#FFEBEE', |
|
260
|
|
|
'#FFCDD2', |
|
261
|
|
|
'#EF9A9A', |
|
262
|
|
|
'#E57373', |
|
263
|
|
|
'#EF5350', |
|
264
|
|
|
'#F44336', |
|
265
|
|
|
'#E53935', |
|
266
|
|
|
'#D32F2F', |
|
267
|
|
|
'#C62828', |
|
268
|
|
|
'#B71C1C', |
|
269
|
|
|
'#FF8A80', |
|
270
|
|
|
'#FF5252', |
|
271
|
|
|
'#FF1744', |
|
272
|
|
|
'#D50000', |
|
273
|
|
|
), |
|
274
|
|
|
'pink' => array( |
|
275
|
|
|
'#FCE4EC', |
|
276
|
|
|
'#F8BBD0', |
|
277
|
|
|
'#F48FB1', |
|
278
|
|
|
'#F06292', |
|
279
|
|
|
'#EC407A', |
|
280
|
|
|
'#E91E63', |
|
281
|
|
|
'#D81B60', |
|
282
|
|
|
'#C2185B', |
|
283
|
|
|
'#AD1457', |
|
284
|
|
|
'#880E4F', |
|
285
|
|
|
'#FF80AB', |
|
286
|
|
|
'#FF4081', |
|
287
|
|
|
'#F50057', |
|
288
|
|
|
'#C51162', |
|
289
|
|
|
), |
|
290
|
|
|
'purple' => array( |
|
291
|
|
|
'#F3E5F5', |
|
292
|
|
|
'#E1BEE7', |
|
293
|
|
|
'#CE93D8', |
|
294
|
|
|
'#BA68C8', |
|
295
|
|
|
'#AB47BC', |
|
296
|
|
|
'#9C27B0', |
|
297
|
|
|
'#8E24AA', |
|
298
|
|
|
'#7B1FA2', |
|
299
|
|
|
'#6A1B9A', |
|
300
|
|
|
'#4A148C', |
|
301
|
|
|
'#EA80FC', |
|
302
|
|
|
'#E040FB', |
|
303
|
|
|
'#D500F9', |
|
304
|
|
|
'#AA00FF', |
|
305
|
|
|
), |
|
306
|
|
|
'deep-purple' => array( |
|
307
|
|
|
'#EDE7F6', |
|
308
|
|
|
'#D1C4E9', |
|
309
|
|
|
'#B39DDB', |
|
310
|
|
|
'#9575CD', |
|
311
|
|
|
'#7E57C2', |
|
312
|
|
|
'#673AB7', |
|
313
|
|
|
'#5E35B1', |
|
314
|
|
|
'#512DA8', |
|
315
|
|
|
'#4527A0', |
|
316
|
|
|
'#311B92', |
|
317
|
|
|
'#B388FF', |
|
318
|
|
|
'#7C4DFF', |
|
319
|
|
|
'#651FFF', |
|
320
|
|
|
'#6200EA', |
|
321
|
|
|
), |
|
322
|
|
|
'indigo' => array( |
|
323
|
|
|
'#E8EAF6', |
|
324
|
|
|
'#C5CAE9', |
|
325
|
|
|
'#9FA8DA', |
|
326
|
|
|
'#7986CB', |
|
327
|
|
|
'#5C6BC0', |
|
328
|
|
|
'#3F51B5', |
|
329
|
|
|
'#3949AB', |
|
330
|
|
|
'#303F9F', |
|
331
|
|
|
'#283593', |
|
332
|
|
|
'#1A237E', |
|
333
|
|
|
'#8C9EFF', |
|
334
|
|
|
'#536DFE', |
|
335
|
|
|
'#3D5AFE', |
|
336
|
|
|
'#304FFE', |
|
337
|
|
|
), |
|
338
|
|
|
'blue' => array( |
|
339
|
|
|
'#E3F2FD', |
|
340
|
|
|
'#BBDEFB', |
|
341
|
|
|
'#90CAF9', |
|
342
|
|
|
'#64B5F6', |
|
343
|
|
|
'#42A5F5', |
|
344
|
|
|
'#2196F3', |
|
345
|
|
|
'#1E88E5', |
|
346
|
|
|
'#1976D2', |
|
347
|
|
|
'#1565C0', |
|
348
|
|
|
'#0D47A1', |
|
349
|
|
|
'#82B1FF', |
|
350
|
|
|
'#448AFF', |
|
351
|
|
|
'#2979FF', |
|
352
|
|
|
'#2962FF', |
|
353
|
|
|
), |
|
354
|
|
|
'light_blue' => array( |
|
355
|
|
|
'#E1F5FE', |
|
356
|
|
|
'#B3E5FC', |
|
357
|
|
|
'#81D4fA', |
|
358
|
|
|
'#4fC3F7', |
|
359
|
|
|
'#29B6FC', |
|
360
|
|
|
'#03A9F4', |
|
361
|
|
|
'#039BE5', |
|
362
|
|
|
'#0288D1', |
|
363
|
|
|
'#0277BD', |
|
364
|
|
|
'#01579B', |
|
365
|
|
|
'#80D8FF', |
|
366
|
|
|
'#40C4FF', |
|
367
|
|
|
'#00B0FF', |
|
368
|
|
|
'#0091EA', |
|
369
|
|
|
), |
|
370
|
|
|
'cyan' => array( |
|
371
|
|
|
'#E0F7FA', |
|
372
|
|
|
'#B2EBF2', |
|
373
|
|
|
'#80DEEA', |
|
374
|
|
|
'#4DD0E1', |
|
375
|
|
|
'#26C6DA', |
|
376
|
|
|
'#00BCD4', |
|
377
|
|
|
'#00ACC1', |
|
378
|
|
|
'#0097A7', |
|
379
|
|
|
'#00838F', |
|
380
|
|
|
'#006064', |
|
381
|
|
|
'#84FFFF', |
|
382
|
|
|
'#18FFFF', |
|
383
|
|
|
'#00E5FF', |
|
384
|
|
|
'#00B8D4', |
|
385
|
|
|
), |
|
386
|
|
|
'teal' => array( |
|
387
|
|
|
'#E0F2F1', |
|
388
|
|
|
'#B2DFDB', |
|
389
|
|
|
'#80CBC4', |
|
390
|
|
|
'#4DB6AC', |
|
391
|
|
|
'#26A69A', |
|
392
|
|
|
'#009688', |
|
393
|
|
|
'#00897B', |
|
394
|
|
|
'#00796B', |
|
395
|
|
|
'#00695C', |
|
396
|
|
|
'#004D40', |
|
397
|
|
|
'#A7FFEB', |
|
398
|
|
|
'#64FFDA', |
|
399
|
|
|
'#1DE9B6', |
|
400
|
|
|
'#00BFA5', |
|
401
|
|
|
), |
|
402
|
|
|
'green' => array( |
|
403
|
|
|
'#E8F5E9', |
|
404
|
|
|
'#C8E6C9', |
|
405
|
|
|
'#A5D6A7', |
|
406
|
|
|
'#81C784', |
|
407
|
|
|
'#66BB6A', |
|
408
|
|
|
'#4CAF50', |
|
409
|
|
|
'#43A047', |
|
410
|
|
|
'#388E3C', |
|
411
|
|
|
'#2E7D32', |
|
412
|
|
|
'#1B5E20', |
|
413
|
|
|
'#B9F6CA', |
|
414
|
|
|
'#69F0AE', |
|
415
|
|
|
'#00E676', |
|
416
|
|
|
'#00C853', |
|
417
|
|
|
), |
|
418
|
|
|
'light-green' => array( |
|
419
|
|
|
'#F1F8E9', |
|
420
|
|
|
'#DCEDC8', |
|
421
|
|
|
'#C5E1A5', |
|
422
|
|
|
'#AED581', |
|
423
|
|
|
'#9CCC65', |
|
424
|
|
|
'#8BC34A', |
|
425
|
|
|
'#7CB342', |
|
426
|
|
|
'#689F38', |
|
427
|
|
|
'#558B2F', |
|
428
|
|
|
'#33691E', |
|
429
|
|
|
'#CCFF90', |
|
430
|
|
|
'#B2FF59', |
|
431
|
|
|
'#76FF03', |
|
432
|
|
|
'#64DD17', |
|
433
|
|
|
), |
|
434
|
|
|
'lime' => array( |
|
435
|
|
|
'#F9FBE7', |
|
436
|
|
|
'#F0F4C3', |
|
437
|
|
|
'#E6EE9C', |
|
438
|
|
|
'#DCE775', |
|
439
|
|
|
'#D4E157', |
|
440
|
|
|
'#CDDC39', |
|
441
|
|
|
'#C0CA33', |
|
442
|
|
|
'#A4B42B', |
|
443
|
|
|
'#9E9D24', |
|
444
|
|
|
'#827717', |
|
445
|
|
|
'#F4FF81', |
|
446
|
|
|
'#EEFF41', |
|
447
|
|
|
'#C6FF00', |
|
448
|
|
|
'#AEEA00', |
|
449
|
|
|
), |
|
450
|
|
|
'yellow' => array( |
|
451
|
|
|
'#FFFDE7', |
|
452
|
|
|
'#FFF9C4', |
|
453
|
|
|
'#FFF590', |
|
454
|
|
|
'#FFF176', |
|
455
|
|
|
'#FFEE58', |
|
456
|
|
|
'#FFEB3B', |
|
457
|
|
|
'#FDD835', |
|
458
|
|
|
'#FBC02D', |
|
459
|
|
|
'#F9A825', |
|
460
|
|
|
'#F57F17', |
|
461
|
|
|
'#FFFF82', |
|
462
|
|
|
'#FFFF00', |
|
463
|
|
|
'#FFEA00', |
|
464
|
|
|
'#FFD600', |
|
465
|
|
|
), |
|
466
|
|
|
'amber' => array( |
|
467
|
|
|
'#FFF8E1', |
|
468
|
|
|
'#FFECB3', |
|
469
|
|
|
'#FFE082', |
|
470
|
|
|
'#FFD54F', |
|
471
|
|
|
'#FFCA28', |
|
472
|
|
|
'#FFC107', |
|
473
|
|
|
'#FFB300', |
|
474
|
|
|
'#FFA000', |
|
475
|
|
|
'#FF8F00', |
|
476
|
|
|
'#FF6F00', |
|
477
|
|
|
'#FFE57F', |
|
478
|
|
|
'#FFD740', |
|
479
|
|
|
'#FFC400', |
|
480
|
|
|
'#FFAB00', |
|
481
|
|
|
), |
|
482
|
|
|
'orange' => array( |
|
483
|
|
|
'#FFF3E0', |
|
484
|
|
|
'#FFE0B2', |
|
485
|
|
|
'#FFCC80', |
|
486
|
|
|
'#FFB74D', |
|
487
|
|
|
'#FFA726', |
|
488
|
|
|
'#FF9800', |
|
489
|
|
|
'#FB8C00', |
|
490
|
|
|
'#F57C00', |
|
491
|
|
|
'#EF6C00', |
|
492
|
|
|
'#E65100', |
|
493
|
|
|
'#FFD180', |
|
494
|
|
|
'#FFAB40', |
|
495
|
|
|
'#FF9100', |
|
496
|
|
|
'#FF6D00', |
|
497
|
|
|
), |
|
498
|
|
|
'deep-orange' => array( |
|
499
|
|
|
'#FBE9A7', |
|
500
|
|
|
'#FFCCBC', |
|
501
|
|
|
'#FFAB91', |
|
502
|
|
|
'#FF8A65', |
|
503
|
|
|
'#FF7043', |
|
504
|
|
|
'#FF5722', |
|
505
|
|
|
'#F4511E', |
|
506
|
|
|
'#E64A19', |
|
507
|
|
|
'#D84315', |
|
508
|
|
|
'#BF360C', |
|
509
|
|
|
'#FF9E80', |
|
510
|
|
|
'#FF6E40', |
|
511
|
|
|
'#FF3D00', |
|
512
|
|
|
'#DD2600', |
|
513
|
|
|
), |
|
514
|
|
|
'brown' => array( |
|
515
|
|
|
'#EFEBE9', |
|
516
|
|
|
'#D7CCC8', |
|
517
|
|
|
'#BCAAA4', |
|
518
|
|
|
'#A1887F', |
|
519
|
|
|
'#8D6E63', |
|
520
|
|
|
'#795548', |
|
521
|
|
|
'#6D4C41', |
|
522
|
|
|
'#5D4037', |
|
523
|
|
|
'#4E342E', |
|
524
|
|
|
'#3E2723', |
|
525
|
|
|
), |
|
526
|
|
|
'grey' => array( |
|
527
|
|
|
'#FAFAFA', |
|
528
|
|
|
'#F5F5F5', |
|
529
|
|
|
'#EEEEEE', |
|
530
|
|
|
'#E0E0E0', |
|
531
|
|
|
'#BDBDBD', |
|
532
|
|
|
'#9E9E9E', |
|
533
|
|
|
'#757575', |
|
534
|
|
|
'#616161', |
|
535
|
|
|
'#424242', |
|
536
|
|
|
'#212121', |
|
537
|
|
|
'#000000', |
|
538
|
|
|
'#ffffff', |
|
539
|
|
|
), |
|
540
|
|
|
'blue-grey' => array( |
|
541
|
|
|
'#ECEFF1', |
|
542
|
|
|
'#CFD8DC', |
|
543
|
|
|
'#B0BBC5', |
|
544
|
|
|
'#90A4AE', |
|
545
|
|
|
'#78909C', |
|
546
|
|
|
'#607D8B', |
|
547
|
|
|
'#546E7A', |
|
548
|
|
|
'#455A64', |
|
549
|
|
|
'#37474F', |
|
550
|
|
|
'#263238', |
|
551
|
|
|
), |
|
552
|
|
|
); |
|
553
|
|
|
|
|
554
|
|
|
switch ( $context ) { |
|
555
|
|
|
|
|
556
|
|
|
case '50': |
|
557
|
|
|
case '100': |
|
558
|
|
|
case '200': |
|
559
|
|
|
case '300': |
|
560
|
|
|
case '400': |
|
561
|
|
|
case '500': |
|
562
|
|
|
case '600': |
|
563
|
|
|
case '700': |
|
564
|
|
|
case '800': |
|
565
|
|
|
case '900': |
|
566
|
|
|
case 'A100': |
|
567
|
|
|
case 'A200': |
|
568
|
|
|
case 'A400': |
|
569
|
|
|
case 'A700': |
|
570
|
|
|
if ( 'A100' === $context ) { |
|
571
|
|
|
$key = 10; |
|
572
|
|
|
unset( $colors['grey'] ); |
|
573
|
|
|
} elseif ( 'A200' === $context ) { |
|
574
|
|
|
$key = 11; |
|
575
|
|
|
unset( $colors['grey'] ); |
|
576
|
|
|
} elseif ( 'A400' === $context ) { |
|
577
|
|
|
$key = 12; |
|
578
|
|
|
unset( $colors['grey'] ); |
|
579
|
|
|
} elseif ( 'A700' === $context ) { |
|
580
|
|
|
$key = 13; |
|
581
|
|
|
unset( $colors['grey'] ); |
|
582
|
|
|
} else { |
|
583
|
|
|
$key = $context / 100; |
|
584
|
|
|
} |
|
585
|
|
|
unset( $colors['primary'] ); |
|
586
|
|
|
$position_colors = array(); |
|
587
|
|
|
foreach ( $colors as $color_family ) { |
|
588
|
|
|
if ( isset( $color_family[ $key ] ) ) { |
|
589
|
|
|
$position_colors[] = $color_family[ $key ]; |
|
590
|
|
|
} |
|
591
|
|
|
} |
|
592
|
|
|
return $position_colors; |
|
593
|
|
|
case 'all': |
|
594
|
|
|
unset( $colors['primary'] ); |
|
595
|
|
|
$all_colors = array(); |
|
596
|
|
|
foreach ( $colors as $color_family ) { |
|
597
|
|
|
foreach ( $color_family as $color ) { |
|
598
|
|
|
$all_colors[] = $color; |
|
599
|
|
|
} |
|
600
|
|
|
} |
|
601
|
|
|
return $all_colors; |
|
602
|
|
|
case 'primary': |
|
603
|
|
|
return $colors['primary']; |
|
604
|
|
|
default: |
|
605
|
|
|
if ( isset( $colors[ $context ] ) ) { |
|
606
|
|
|
return $colors[ $context ]; |
|
607
|
|
|
} |
|
608
|
|
|
return $colors['primary']; |
|
609
|
|
|
} |
|
610
|
|
|
} |
|
611
|
|
|
|
|
612
|
|
|
/** |
|
613
|
|
|
* Get an array of all available dashicons. |
|
614
|
|
|
* |
|
615
|
|
|
* @static |
|
616
|
|
|
* @access public |
|
617
|
|
|
* @return array |
|
618
|
|
|
*/ |
|
619
|
|
|
public static function get_dashicons() { |
|
620
|
|
|
|
|
621
|
|
|
$admin_menu = array( |
|
622
|
|
|
'menu', |
|
623
|
|
|
'admin-site', |
|
624
|
|
|
'dashboard', |
|
625
|
|
|
'admin-post', |
|
626
|
|
|
'admin-media', |
|
627
|
|
|
'admin-links', |
|
628
|
|
|
'admin-page', |
|
629
|
|
|
'admin-comments', |
|
630
|
|
|
'admin-appearance', |
|
631
|
|
|
'admin-plugins', |
|
632
|
|
|
'admin-users', |
|
633
|
|
|
'admin-tools', |
|
634
|
|
|
'admin-settings', |
|
635
|
|
|
'admin-network', |
|
636
|
|
|
'admin-home', |
|
637
|
|
|
'admin-generic', |
|
638
|
|
|
'admin-collapse', |
|
639
|
|
|
'filter', |
|
640
|
|
|
'admin-customizer', |
|
641
|
|
|
'admin-multisite', |
|
642
|
|
|
); |
|
643
|
|
|
|
|
644
|
|
|
$welcome_screen = array( |
|
645
|
|
|
'welcome-write-blog', |
|
646
|
|
|
'welcome-add-page', |
|
647
|
|
|
'welcome-view-site', |
|
648
|
|
|
'welcome-widgets-menus', |
|
649
|
|
|
'welcome-comments', |
|
650
|
|
|
'welcome-learn-more', |
|
651
|
|
|
); |
|
652
|
|
|
|
|
653
|
|
|
$post_formats = array( |
|
654
|
|
|
'format-aside', |
|
655
|
|
|
'format-image', |
|
656
|
|
|
'format-gallery', |
|
657
|
|
|
'format-video', |
|
658
|
|
|
'format-status', |
|
659
|
|
|
'format-quote', |
|
660
|
|
|
'format-chat', |
|
661
|
|
|
'format-audio', |
|
662
|
|
|
'camera', |
|
663
|
|
|
'images-alt', |
|
664
|
|
|
'images-alt2', |
|
665
|
|
|
'video-alt', |
|
666
|
|
|
'video-alt2', |
|
667
|
|
|
'video-alt3', |
|
668
|
|
|
); |
|
669
|
|
|
|
|
670
|
|
|
$media = array( |
|
671
|
|
|
'media-archive', |
|
672
|
|
|
'media-audio', |
|
673
|
|
|
'media-code', |
|
674
|
|
|
'media-default', |
|
675
|
|
|
'media-document', |
|
676
|
|
|
'media-interactive', |
|
677
|
|
|
'media-spreadsheet', |
|
678
|
|
|
'media-text', |
|
679
|
|
|
'media-video', |
|
680
|
|
|
'playlist-audio', |
|
681
|
|
|
'playlist-video', |
|
682
|
|
|
'controls-play', |
|
683
|
|
|
'controls-pause', |
|
684
|
|
|
'controls-forward', |
|
685
|
|
|
'controls-skipforward', |
|
686
|
|
|
'controls-back', |
|
687
|
|
|
'controls-skipback', |
|
688
|
|
|
'controls-repeat', |
|
689
|
|
|
'controls-volumeon', |
|
690
|
|
|
'controls-volumeoff', |
|
691
|
|
|
); |
|
692
|
|
|
|
|
693
|
|
|
$image_editing = array( |
|
694
|
|
|
'image-crop', |
|
695
|
|
|
'image-rotate', |
|
696
|
|
|
'image-rotate-left', |
|
697
|
|
|
'image-rotate-right', |
|
698
|
|
|
'image-flip-vertical', |
|
699
|
|
|
'image-flip-horizontal', |
|
700
|
|
|
'image-filter', |
|
701
|
|
|
'undo', |
|
702
|
|
|
'redo', |
|
703
|
|
|
); |
|
704
|
|
|
|
|
705
|
|
|
$tinymce = array( |
|
706
|
|
|
'editor-bold', |
|
707
|
|
|
'editor-italic', |
|
708
|
|
|
'editor-ul', |
|
709
|
|
|
'editor-ol', |
|
710
|
|
|
'editor-quote', |
|
711
|
|
|
'editor-alignleft', |
|
712
|
|
|
'editor-aligncenter', |
|
713
|
|
|
'editor-alignright', |
|
714
|
|
|
'editor-insertmore', |
|
715
|
|
|
'editor-spellcheck', |
|
716
|
|
|
'editor-expand', |
|
717
|
|
|
'editor-contract', |
|
718
|
|
|
'editor-kitchensink', |
|
719
|
|
|
'editor-underline', |
|
720
|
|
|
'editor-justify', |
|
721
|
|
|
'editor-textcolor', |
|
722
|
|
|
'editor-paste-word', |
|
723
|
|
|
'editor-paste-text', |
|
724
|
|
|
'editor-removeformatting', |
|
725
|
|
|
'editor-video', |
|
726
|
|
|
'editor-customchar', |
|
727
|
|
|
'editor-outdent', |
|
728
|
|
|
'editor-indent', |
|
729
|
|
|
'editor-help', |
|
730
|
|
|
'editor-strikethrough', |
|
731
|
|
|
'editor-unlink', |
|
732
|
|
|
'editor-rtl', |
|
733
|
|
|
'editor-break', |
|
734
|
|
|
'editor-code', |
|
735
|
|
|
'editor-paragraph', |
|
736
|
|
|
'editor-table', |
|
737
|
|
|
); |
|
738
|
|
|
|
|
739
|
|
|
$posts = array( |
|
740
|
|
|
'align-left', |
|
741
|
|
|
'align-right', |
|
742
|
|
|
'align-center', |
|
743
|
|
|
'align-none', |
|
744
|
|
|
'lock', |
|
745
|
|
|
'unlock', |
|
746
|
|
|
'calendar', |
|
747
|
|
|
'calendar-alt', |
|
748
|
|
|
'visibility', |
|
749
|
|
|
'hidden', |
|
750
|
|
|
'post-status', |
|
751
|
|
|
'edit', |
|
752
|
|
|
'trash', |
|
753
|
|
|
'sticky', |
|
754
|
|
|
); |
|
755
|
|
|
|
|
756
|
|
|
$sorting = array( |
|
757
|
|
|
'external', |
|
758
|
|
|
'arrow-up', |
|
759
|
|
|
'arrow-down', |
|
760
|
|
|
'arrow-right', |
|
761
|
|
|
'arrow-left', |
|
762
|
|
|
'arrow-up-alt', |
|
763
|
|
|
'arrow-down-alt', |
|
764
|
|
|
'arrow-right-alt', |
|
765
|
|
|
'arrow-left-alt', |
|
766
|
|
|
'arrow-up-alt2', |
|
767
|
|
|
'arrow-down-alt2', |
|
768
|
|
|
'arrow-right-alt2', |
|
769
|
|
|
'arrow-left-alt2', |
|
770
|
|
|
'sort', |
|
771
|
|
|
'leftright', |
|
772
|
|
|
'randomize', |
|
773
|
|
|
'list-view', |
|
774
|
|
|
'exerpt-view', |
|
775
|
|
|
'grid-view', |
|
776
|
|
|
); |
|
777
|
|
|
|
|
778
|
|
|
$social = array( |
|
779
|
|
|
'share', |
|
780
|
|
|
'share-alt', |
|
781
|
|
|
'share-alt2', |
|
782
|
|
|
'twitter', |
|
783
|
|
|
'rss', |
|
784
|
|
|
'email', |
|
785
|
|
|
'email-alt', |
|
786
|
|
|
'facebook', |
|
787
|
|
|
'facebook-alt', |
|
788
|
|
|
'googleplus', |
|
789
|
|
|
'networking', |
|
790
|
|
|
); |
|
791
|
|
|
|
|
792
|
|
|
$wordpress_org = array( |
|
793
|
|
|
'hammer', |
|
794
|
|
|
'art', |
|
795
|
|
|
'migrate', |
|
796
|
|
|
'performance', |
|
797
|
|
|
'universal-access', |
|
798
|
|
|
'universal-access-alt', |
|
799
|
|
|
'tickets', |
|
800
|
|
|
'nametag', |
|
801
|
|
|
'clipboard', |
|
802
|
|
|
'heart', |
|
803
|
|
|
'megaphone', |
|
804
|
|
|
'schedule', |
|
805
|
|
|
); |
|
806
|
|
|
|
|
807
|
|
|
$products = array( |
|
808
|
|
|
'wordpress', |
|
809
|
|
|
'wordpress-alt', |
|
810
|
|
|
'pressthis', |
|
811
|
|
|
'update', |
|
812
|
|
|
'screenoptions', |
|
813
|
|
|
'info', |
|
814
|
|
|
'cart', |
|
815
|
|
|
'feedback', |
|
816
|
|
|
'cloud', |
|
817
|
|
|
'translation', |
|
818
|
|
|
); |
|
819
|
|
|
|
|
820
|
|
|
$taxonomies = array( |
|
821
|
|
|
'tag', |
|
822
|
|
|
'category', |
|
823
|
|
|
); |
|
824
|
|
|
|
|
825
|
|
|
$widgets = array( |
|
826
|
|
|
'archive', |
|
827
|
|
|
'tagcloud', |
|
828
|
|
|
'text', |
|
829
|
|
|
); |
|
830
|
|
|
|
|
831
|
|
|
$notifications = array( |
|
832
|
|
|
'yes', |
|
833
|
|
|
'no', |
|
834
|
|
|
'no-alt', |
|
835
|
|
|
'plus', |
|
836
|
|
|
'plus-alt', |
|
837
|
|
|
'minus', |
|
838
|
|
|
'dismiss', |
|
839
|
|
|
'marker', |
|
840
|
|
|
'star-filled', |
|
841
|
|
|
'star-half', |
|
842
|
|
|
'star-empty', |
|
843
|
|
|
'flag', |
|
844
|
|
|
'warning', |
|
845
|
|
|
); |
|
846
|
|
|
|
|
847
|
|
|
$misc = array( |
|
848
|
|
|
'location', |
|
849
|
|
|
'location-alt', |
|
850
|
|
|
'vault', |
|
851
|
|
|
'shield', |
|
852
|
|
|
'shield-alt', |
|
853
|
|
|
'sos', |
|
854
|
|
|
'search', |
|
855
|
|
|
'slides', |
|
856
|
|
|
'analytics', |
|
857
|
|
|
'chart-pie', |
|
858
|
|
|
'chart-bar', |
|
859
|
|
|
'chart-line', |
|
860
|
|
|
'chart-area', |
|
861
|
|
|
'groups', |
|
862
|
|
|
'businessman', |
|
863
|
|
|
'id', |
|
864
|
|
|
'id-alt', |
|
865
|
|
|
'products', |
|
866
|
|
|
'awards', |
|
867
|
|
|
'forms', |
|
868
|
|
|
'testimonial', |
|
869
|
|
|
'portfolio', |
|
870
|
|
|
'book', |
|
871
|
|
|
'book-alt', |
|
872
|
|
|
'download', |
|
873
|
|
|
'upload', |
|
874
|
|
|
'backup', |
|
875
|
|
|
'clock', |
|
876
|
|
|
'lightbulb', |
|
877
|
|
|
'microphone', |
|
878
|
|
|
'desktop', |
|
879
|
|
|
'tablet', |
|
880
|
|
|
'smartphone', |
|
881
|
|
|
'phone', |
|
882
|
|
|
'index-card', |
|
883
|
|
|
'carrot', |
|
884
|
|
|
'building', |
|
885
|
|
|
'store', |
|
886
|
|
|
'album', |
|
887
|
|
|
'palmtree', |
|
888
|
|
|
'tickets-alt', |
|
889
|
|
|
'money', |
|
890
|
|
|
'smiley', |
|
891
|
|
|
'thumbs-up', |
|
892
|
|
|
'thumbs-down', |
|
893
|
|
|
'layout', |
|
894
|
|
|
); |
|
895
|
|
|
|
|
896
|
|
|
return array( |
|
897
|
|
|
'admin-menu' => $admin_menu, |
|
898
|
|
|
'welcome-screen' => $welcome_screen, |
|
899
|
|
|
'post-formats' => $post_formats, |
|
900
|
|
|
'media' => $media, |
|
901
|
|
|
'image-editing' => $image_editing, |
|
902
|
|
|
'tinymce' => $tinymce, |
|
903
|
|
|
'posts' => $posts, |
|
904
|
|
|
'sorting' => $sorting, |
|
905
|
|
|
'social' => $social, |
|
906
|
|
|
'wordpress_org' => $wordpress_org, |
|
907
|
|
|
'products' => $products, |
|
908
|
|
|
'taxonomies' => $taxonomies, |
|
909
|
|
|
'widgets' => $widgets, |
|
910
|
|
|
'notifications' => $notifications, |
|
911
|
|
|
'misc' => $misc, |
|
912
|
|
|
); |
|
913
|
|
|
|
|
914
|
|
|
} |
|
915
|
|
|
} |
|
916
|
|
|
|