/** * @return array */ public function getSettings() { if (is_null($this->settings)) { $this->settings = srCertificateDefinitionSetting::where(array('definition_id' => $this->getId()))->get(); } return $this->settings; }
<?php require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Signature/class.srCertificateSignature.php'; srCertificateSignature::installDB(); ?> <#15> <?php // Removed creation of srCertificateSignatureDefinition ?> <#16> <?php require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Definition/class.srCertificateDefinition.php'; require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Definition/class.srCertificateDefinitionSetting.php'; require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Type/class.srCertificateTypeSetting.php'; require_once './Customizing/global/plugins/Services/UIComponent/UserInterfaceHook/Certificate/classes/Type/class.srCertificateType.php'; foreach (srCertificateDefinition::get() as $cert_def) { $setting = new srCertificateDefinitionSetting(); $setting->setDefinitionId($cert_def->getId()); $setting->setIdentifier(srCertificateTypeSetting::IDENTIFIER_SCORM_TIMING); $setting->setValue(0); $setting->save(); } foreach (srCertificateType::get() as $type) { $setting = new srCertificateTypeSetting(); $setting->setTypeId($type->getId()); $setting->setIdentifier(srCertificateTypeSetting::IDENTIFIER_SCORM_TIMING); $setting->setEditableIn(array('crs')); $setting->setValue(0); $setting->save(); } ?> <#17>
/** * Build ValidityInput * * @param srCertificateDefinitionSetting $setting * @return ilRadioGroupInputGUI */ protected function getValidityInput(srCertificateDefinitionSetting $setting) { $validity_value = $this->definition->getValidity(); // Always $input = new ilRadioGroupInputGUI($this->pl->txt('setting_id_validity'), $setting->getIdentifier()); $input->setRequired(true); $option = new ilRadioOption($this->pl->txt('always'), srCertificateTypeSetting::VALIDITY_TYPE_ALWAYS); $input->addOption($option); // Date range $option = new ilRadioOption($this->pl->txt('setting_validity_range'), srCertificateTypeSetting::VALIDITY_TYPE_DATE_RANGE); $subitem = new ilDurationInputGUI($this->pl->txt('date_range'), $setting->getIdentifier() . '_' . srCertificateTypeSetting::VALIDITY_TYPE_DATE_RANGE); $subitem->setShowMinutes(false); $subitem->setShowHours(false); $subitem->setShowDays(true); $subitem->setShowMonths(true); if ($setting->getValue() == srCertificateTypeSetting::VALIDITY_TYPE_DATE_RANGE && $validity_value) { $range_array = json_decode($validity_value, true); $data = array(); $data[$subitem->getPostVar()]['MM'] = $range_array['m']; $data[$subitem->getPostVar()]['dd'] = $range_array['d']; $subitem->setValueByArray($data); } $option->addSubItem($subitem); $input->addOption($option); // Date $option = new ilRadioOption($this->pl->txt('setting_validity_date'), srCertificateTypeSetting::VALIDITY_TYPE_DATE); $subitem = new ilDateTimeInputGUI($this->pl->txt('date'), $setting->getIdentifier() . '_' . srCertificateTypeSetting::VALIDITY_TYPE_DATE); $subitem->setMode(ilDateTimeInputGUI::MODE_INPUT); if ($setting->getValue() == srCertificateTypeSetting::VALIDITY_TYPE_DATE && $validity_value) { $subitem->setDate(new ilDateTime($validity_value, IL_CAL_DATE)); } $option->addSubItem($subitem); $input->addOption($option); $subitem->setDisabled(!$setting->isEditable()); // SW This seems to have no effect... return $input; }