$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>
    <?php 
/*
 * Add default values for new config settings
 */
require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/class.ilCertificatePlugin.php';
ilCertificateConfig::set(ilCertificateConfig::DATE_FORMAT, ilCertificatePlugin::DEFAULT_DATE_FORMAT);
ilCertificateConfig::set(ilCertificateConfig::DATETIME_FORMAT, ilCertificatePlugin::DEFAULT_DATETIME_FORMAT);
ilCertificateConfig::set(ilCertificateConfig::PATH_HOOK_CLASS, ilCertificatePlugin::DEFAULT_PATH_HOOK_CLASS);
ilCertificateConfig::set(ilCertificateConfig::ROLES_ADMINISTRATE_CERTIFICATES, ilCertificatePlugin::DEFAULT_ROLES_ADMINISTRATE_CERTIFICATES);
ilCertificateConfig::set(ilCertificateConfig::ROLES_ADMINISTRATE_CERTIFICATE_TYPES, ilCertificatePlugin::DEFAULT_ROLES_ADMINISTRATE_CERTIFICATE_TYPES);
?>
 /**
  * Create the settings inheriting default values defined in the type
  *
  */
 protected function createSettings()
 {
     $type_settings = $this->type->getSettings();
     /** @var srCertificateTypeSetting $type_setting */
     foreach ($type_settings as $type_setting) {
         $setting = srCertificateDefinitionSetting::where(array('definition_id' => $this->getId(), 'identifier' => $type_setting->getIdentifier()))->first();
         if (!$setting) {
             $setting = new srCertificateDefinitionSetting();
             $setting->create();
         }
         $setting->setIdentifier($type_setting->getIdentifier());
         $setting->setDefinitionId($this->getId());
         $setting->setValue($type_setting->getValue());
         $setting->update();
         $this->settings[] = $setting;
     }
     foreach ($this->type->getCustomSettings() as $custom_setting) {
         $setting = srCertificateCustomDefinitionSetting::where(array('definition_id' => $this->getId(), 'identifier' => $type_setting->getIdentifier()))->first();
         if (!$setting) {
             $setting = new srCertificateCustomDefinitionSetting();
             $setting->create();
         }
         $setting->setDefinitionId($this->getId());
         $setting->setValue($custom_setting->getValue());
         $setting->setIdentifier($custom_setting->getIdentifier());
         $setting->update();
         $this->custom_settings[] = $setting;
     }
 }