3declare(strict_types=1);
102 $this->obj_id = $a_id;
123 return DateTime::createFromFormat(self::DATE_TIME_FORMAT, $this->last_change);
143 $this->last_change = $a_timestamp->format(self::DATE_TIME_FORMAT);
156 if (!in_array($a_mode, self::$MODES)) {
157 throw new ilException(
"ilStudyProgramme::setLPMode: No lp mode: "
160 $this->lp_mode = $a_mode;
182 $clone = clone $this;
195 $clone = clone $this;
197 $clone->updateLastChange();
203 return $this->deadline_settings;
209 $clone = clone $this;
210 $clone->deadline_settings = $deadline_settings;
216 return $this->validity_of_qualification_settings;
222 $clone = clone $this;
223 $clone->validity_of_qualification_settings = $validity_of_qualification_settings;
229 return !is_null($this->getValidityOfQualificationSettings()->getQualificationDate()) ||
230 $this->getValidityOfQualificationSettings()->getQualificationPeriod() !== self::NO_VALIDITY_OF_QUALIFICATION_PERIOD;
235 return $this->automail_settings;
241 $clone = clone $this;
242 $clone->automail_settings = $automail_settings;
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setLastChange(DateTime $a_timestamp)
Set the last change timestamp to the given time.
withValidityOfQualificationSettings(ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings)
getLastChange()
Get the timestamp of the last change on this program or a sub program.
getObjId()
Get the id of the study program.
withAssessmentSettings(ilStudyProgrammeAssessmentSettings $assessment_settings)
setLPMode(int $a_mode)
Set the lp mode.
updateLastChange()
Update the last change timestamp to the current time.
const NO_VALIDITY_OF_QUALIFICATION_PERIOD
string $last_change
Timestamp of the moment the last change was made on this object or any object in the subtree of the p...
ilStudyProgrammeTypeSettings $type_settings
ilStudyProgrammeAssessmentSettings $assessment_settings
int $lp_mode
Mode the calculation of the learning progress on this node is run in.
ilStudyProgrammeDeadlineSettings $deadline_settings
ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings
__construct(int $a_id, ilStudyProgrammeTypeSettings $type_settings, ilStudyProgrammeAssessmentSettings $assessment_settings, ilStudyProgrammeDeadlineSettings $deadline_settings, ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings, ilStudyProgrammeAutoMailSettings $automail_settings)
ilStudyProgrammeAutoMailSettings $automail_settings
withDeadlineSettings(ilStudyProgrammeDeadlineSettings $deadline_settings)
withTypeSettings(ilStudyProgrammeTypeSettings $type_settings)
getLPMode()
Get the lp mode.
withAutoMailSettings(ilStudyProgrammeAutoMailSettings $automail_settings)
int $obj_id
Id of this study program and the corresponding ILIAS-object as well.
getValidityOfQualificationSettings()
bool $access_ctrl_positions
Is the access control governed by positions?