1 <?php
2
3 4 5 6 7 8 9 10
11
12 namespace Icybee\Modules\I18n;
13
14 use Brickrouge\Element;
15 use Brickrouge\Form;
16
17 18 19
20 class NodeLanguageElement extends Element
21 {
22 public function __construct(array $attributes=array())
23 {
24 parent::__construct
25 (
26 'select', $attributes + array
27 (
28 Form::LABEL => 'language',
29 Element::DESCRIPTION => 'language',
30 Element::OPTIONS => array
31 (
32 null => '.neutral'
33 )
34
35 + $this->collect_options()
36 )
37 );
38 }
39
40 static protected function add_assets(\Brickrouge\Document $document)
41 {
42 parent::add_assets($document);
43
44 $document->js->add('elements.js');
45 }
46
47 protected function collect_options()
48 {
49 global $core;
50
51 $languages = $core->models['sites']->count('language');
52
53 foreach ($languages as $language => $dummy)
54 {
55 $languages[$language] = $core->locale->conventions['localeDisplayNames']['languages'][$language];
56 }
57
58 return $languages;
59 }
60 }