| @@ 47-57 (lines=11) @@ | ||
| 44 | if ($isInDb) { |
|
| 45 | $adder = new GridFieldAddNewMultiClass(); |
|
| 46 | ||
| 47 | if (is_array($allowed)) { |
|
| 48 | $list = $allowed; |
|
| 49 | } else { |
|
| 50 | $classes = ClassInfo::subclassesFor('BaseElement'); |
|
| 51 | $list = array(); |
|
| 52 | unset($classes['BaseElement']); |
|
| 53 | ||
| 54 | foreach ($classes as $class) { |
|
| 55 | $list[$class] = singleton($class)->i18n_singular_name(); |
|
| 56 | } |
|
| 57 | } |
|
| 58 | ||
| 59 | asort($list); |
|
| 60 | ||
| @@ 95-107 (lines=13) @@ | ||
| 92 | public function getAvailableTypes() { |
|
| 93 | if (is_array($this->owner->config()->get('allowed_elements'))) { |
|
| 94 | $list = $this->owner->config()->get('allowed_elements'); |
|
| 95 | } else { |
|
| 96 | $classes = ClassInfo::subclassesFor('BaseElement'); |
|
| 97 | $list = array(); |
|
| 98 | unset($classes['BaseElement']); |
|
| 99 | ||
| 100 | foreach ($classes as $class) { |
|
| 101 | $inst = singleton($class); |
|
| 102 | ||
| 103 | if ($inst->canCreate()) { |
|
| 104 | $list[$class] = singleton($class)->i18n_singular_name(); |
|
| 105 | } |
|
| 106 | } |
|
| 107 | } |
|
| 108 | if (method_exists($this->owner, 'sortElementalOptions')) { |
|
| 109 | $this->owner->sortElementalOptions($list); |
|
| 110 | } else { |
|