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];
 }
 public function onLanguageCreateString()
 {
     $stringKey = trim(Request::input('key'));
     $stringValue = trim(Request::input('value'));
     $pluginCodeObj = new PluginCode(Request::input('plugin_code'));
     $pluginCode = $pluginCodeObj->toCode();
     $options = ['pluginCode' => $pluginCode];
     $defaultLanguage = LocalizationModel::getDefaultLanguage();
     if (LocalizationModel::languageFileExists($pluginCode, $defaultLanguage)) {
         $model = $this->loadOrCreateBaseModel($defaultLanguage, $options);
     } else {
         $model = LocalizationModel::initModel($pluginCode, $defaultLanguage);
     }
     $newStringKey = $model->createStringAndSave($stringKey, $stringValue);
     $pluginCode = $pluginCodeObj->toCode();
     return ['localizationData' => ['key' => $newStringKey, 'value' => $stringValue], 'registryData' => ['strings' => LocalizationModel::getPluginRegistryData($pluginCode, null), 'sections' => LocalizationModel::getPluginRegistryData($pluginCode, 'sections')]];
 }