<?php namespace RainLab\Builder\Behaviors; use Backend\Classes\ControllerBehavior; use RainLab\Builder\Classes\PluginCode; use RainLab\Builder\Classes\LocalizationModel; use RainLab\Builder\Classes\ModelModel; use RainLab\Builder\Classes\ModelFormModel; use RainLab\Builder\Classes\ModelListModel; use RainLab\Builder\Classes\ControllerModel; use RainLab\Builder\Classes\PermissionsModel; use ApplicationException; use SystemException; use Exception; use Request; use Flash; use Input; use Lang; /** * Plugin data registry functionality for the Builder index controller * * @package rainlab\builder * @author Alexey Bobkov, Samuel Georges */ class IndexDataRegistry extends ControllerBehavior { public function onPluginDataRegistryGetData() { $code = Input::get('registry_plugin_code'); $type = Input::get('registry_data_type'); $subtype = Input::get('registry_data_subtype'); $result = null; switch ($type) { case 'localization': $result = LocalizationModel::getPluginRegistryData($code, $subtype); break; case 'model-classes': $result = ModelModel::getPluginRegistryData($code, $subtype); break; case 'model-forms' : $result = ModelFormModel::getPluginRegistryData($code, $subtype); break; case 'model-lists' : $result = ModelListModel::getPluginRegistryData($code, $subtype); break; case 'controller-urls' : $result = ControllerModel::getPluginRegistryData($code, $subtype); break; case 'model-columns' : $result = ModelModel::getPluginRegistryDataColumns($code, $subtype); break; case 'plugin-lists' : $result = ModelListModel::getPluginRegistryDataAllRecords($code); break; case 'permissions' : $result = PermissionsModel::getPluginRegistryData($code); break; default: throw new SystemException('Unknown plugin registry data type requested.'); } return ['registryData' => $result]; } }