* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Form\ChoiceProvider; use PrestaShop\PrestaShop\Core\Form\FormChoiceProviderInterface; /** * Class TabChoiceProvider provides Tab choices with name values. * * This class is used for choosing Default page when creating employee */ final class TabChoiceProvider implements FormChoiceProviderInterface { /** * @var array */ private $tabs; /** * @param array $tabs */ public function __construct(array $tabs) { $this->tabs = $tabs; } /** * {@inheritdoc} */ public function getChoices() { $choices = []; foreach ($this->tabs as $tab) { if (!empty($tab['children'])) { $choices[$tab['name']] = []; foreach ($tab['children'] as $childTab) { if ($childTab['name']) { $choices[$tab['name']][$childTab['name']] = $childTab['id_tab']; } } } else { $choices[$tab['name']] = $tab['id_tab']; } } return $choices; } }