<?php /* * Add new setting "notification_user" to certificate types and every existing definitions */ require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Definition/class.srCertificateDefinition.php'; require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Type/class.srCertificateType.php'; $types = srCertificateType::get(); /** @var srCertificateType $type */ foreach ($types as $type) { if (is_null($type->getSettingByIdentifier(srCertificateTypeSetting::IDENTIFIER_NOTIFICATION_USER))) { $setting = new srCertificateTypeSetting(); $setting->setIdentifier(srCertificateTypeSetting::IDENTIFIER_NOTIFICATION_USER); $setting->setValue(0); $setting->setEditableIn($type->getAvailableObjects()); $setting->setTypeId($type->getId()); $setting->create(); } } $definitions = srCertificateDefinition::get(); /** @var srCertificateDefinition $def */ foreach ($definitions as $def) { if (is_null($def->getSettingByIdentifier(srCertificateTypeSetting::IDENTIFIER_NOTIFICATION_USER))) { $setting = new srCertificateDefinitionSetting(); $setting->setIdentifier(srCertificateTypeSetting::IDENTIFIER_NOTIFICATION_USER); $setting->setValue(0); $setting->setDefinitionId($def->getId()); $setting->create(); } } ?> <#5>
/** * Create corresponding default settings after creating type object * */ protected function createDefaultSettings() { foreach (self::$default_settings as $identifier => $config) { $setting = new srCertificateTypeSetting(); $setting->setIdentifier($identifier); $setting->setEditableIn($this->available_objects); $setting->setTypeId($this->getId()); $setting->setValue($config['default_value']); $setting->create(); $this->settings[] = $setting; } }