public function delete()
 {
     // Delete setting on all definitions
     foreach (srCertificateDefinition::where(array('type_id' => $this->getTypeId()))->get() as $definition) {
         /** @var srCertificateDefinition $setting */
         $setting = srCertificateCustomDefinitionSetting::where(array('definition_id' => $definition->getId(), 'identifier' => $this->getIdentifier()))->first();
         if ($setting) {
             $setting->delete();
         }
     }
     parent::delete();
 }
Пример #2
0
        $cert->save();
    }
}
?>
<#8>
    <?php 
if (!$ilDB->tableColumnExists('cert_type_setting', 'value')) {
    $ilDB->renameTableColumn('cert_type_setting', 'default_value', 'value');
}
?>
<#9>
    <?php 
require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/CustomSetting/class.srCertificateCustomTypeSetting.php';
require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/CustomSetting/class.srCertificateCustomDefinitionSetting.php';
srCertificateCustomTypeSetting::installDB();
srCertificateCustomDefinitionSetting::installDB();
?>
<#10>
    <?php 
if (!$ilDB->tableColumnExists('uihkcertificate_c', 'value')) {
    $ilDB->renameTableColumn('uihkcertificate_c', 'config_value', 'value');
}
if (!$ilDB->tableColumnExists('uihkcertificate_c', 'name')) {
    $ilDB->renameTableColumn('uihkcertificate_c', 'config_key', 'name');
}
?>
<#11>
	<?php 
// We will add one default certificate definition for easier installation.
require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Definition/class.srCertificateDefinition.php';
$type = new srCertificateType();
 /**
  * @return array srCertificateCustomDefinitionSetting[]
  */
 public function getCustomSettings()
 {
     if (is_null($this->custom_settings)) {
         $this->custom_settings = srCertificateCustomDefinitionSetting::where(array('definition_id' => $this->getId()))->get();
     }
     return $this->custom_settings;
 }
 /**
  * @return bool
  */
 public function saveObject()
 {
     if (!$this->checkInput()) {
         return false;
     }
     try {
         $this->setting->setTypeId((int) $_GET['type_id']);
         $this->setting->setIdentifier($this->getInput('identifier'));
         $this->setting->setSettingTypeId($this->getInput('setting_type_id'));
         $this->setting->setData($this->getInput('data'));
         $this->setting->setValue($this->getInput('value'));
         $this->setting->setEditableIn($this->getInput('editable_in'));
         /** @var srCertificateType $type */
         $type = srCertificateType::find($this->setting->getTypeId());
         foreach ($type->getLanguages() as $lang_code) {
             $this->setting->setLabel($this->getInput("label_{$lang_code}"), $lang_code);
         }
         $this->setting->save();
         // Check if existing definitions should be updated to own this setting
         if ($this->getInput('update_definitions')) {
             $definitions = srCertificateDefinition::where(array('type_id' => $type->getId()))->get();
             /** @var $def srCertificateDefinition */
             foreach ($definitions as $def) {
                 $definition_setting = new srCertificateCustomDefinitionSetting();
                 $definition_setting->setDefinitionId($def->getId());
                 $definition_setting->setIdentifier($this->setting->getIdentifier());
                 $definition_setting->setValue($this->setting->getValue());
                 $definition_setting->save();
             }
         }
     } catch (ilException $e) {
         ilUtil::sendFailure($e->getMessage());
         return false;
     }
     return true;
 }