ILIAS  release_7 Revision v7.30-3-g800a261c036
ilStudyProgrammeSettings Class Reference

Class ilStudyProgramme. More...

+ Collaboration diagram for ilStudyProgrammeSettings:

Public Member Functions

 __construct (int $a_id, \ilStudyProgrammeTypeSettings $type_settings, \ilStudyProgrammeAssessmentSettings $assessment_settings, \ilStudyProgrammeDeadlineSettings $deadline_settings, \ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings, \ilStudyProgrammeAutoMailSettings $automail_settings)
 
 getObjId ()
 Get the id of the study program. More...
 
 getLastChange ()
 Get the timestamp of the last change on this program or a sub program. More...
 
 updateLastChange ()
 Update the last change timestamp to the current time. More...
 
 setLastChange (DateTime $a_timestamp)
 Set the last change timestamp to the given time. More...
 
 setLPMode (int $a_mode)
 Set the lp mode. More...
 
 getLPMode ()
 Get the lp mode. More...
 
 getTypeSettings ()
 
 withTypeSettings (\ilStudyProgrammeTypeSettings $type_settings)
 
 getAssessmentSettings ()
 
 withAssessmentSettings (\ilStudyProgrammeAssessmentSettings $assessment_settings)
 
 getDeadlineSettings ()
 
 withDeadlineSettings (\ilStudyProgrammeDeadlineSettings $deadline_settings)
 
 getValidityOfQualificationSettings ()
 
 withValidityOfQualificationSettings (\ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings)
 
 validationExpires ()
 
 getAutoMailSettings ()
 
 withAutoMailSettings (\ilStudyProgrammeAutoMailSettings $automail_settings)
 

Data Fields

const MODE_UNDEFINED = 0
 
const MODE_POINTS = 1
 
const MODE_LP_COMPLETED = 2
 
const STATUS_DRAFT = 10
 
const STATUS_ACTIVE = 20
 
const STATUS_OUTDATED = 30
 
const NO_RESTART = -1
 
const NO_VALIDITY_OF_QUALIFICATION_PERIOD = -1
 
const DEFAULT_POINTS = 100
 
const DEFAULT_SUBTYPE = 0
 
const DATE_TIME_FORMAT = 'Y-m-d H:i:s'
 
const DATE_FORMAT = 'Y-m-d'
 

Static Public Attributes

static $MODES
 

Protected Attributes

 $obj_id
 
 $last_change
 
 $lp_mode
 
 $type_settings
 
 $assessment_settings
 
 $deadline_settings
 
 $validity_of_qualification_settings
 
 $access_ctrl_positions
 
 $automail_settings
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilStudyProgrammeSettings::__construct ( int  $a_id,
\ilStudyProgrammeTypeSettings  $type_settings,
\ilStudyProgrammeAssessmentSettings  $assessment_settings,
\ilStudyProgrammeDeadlineSettings  $deadline_settings,
\ilStudyProgrammeValidityOfAchievedQualificationSettings  $validity_of_qualification_settings,
\ilStudyProgrammeAutoMailSettings  $automail_settings 
)

Definition at line 116 of file class.ilStudyProgrammeSettings.php.

123 {
124 $this->obj_id = $a_id;
125 $this->type_settings = $type_settings;
126 $this->assessment_settings = $assessment_settings;
127 $this->deadline_settings = $deadline_settings;
128 $this->validity_of_qualification_settings = $validity_of_qualification_settings;
129 $this->automail_settings = $automail_settings;
130 }

References $assessment_settings, $automail_settings, $deadline_settings, $type_settings, and $validity_of_qualification_settings.

Member Function Documentation

◆ getAssessmentSettings()

ilStudyProgrammeSettings::getAssessmentSettings ( )

◆ getAutoMailSettings()

ilStudyProgrammeSettings::getAutoMailSettings ( )

◆ getDeadlineSettings()

ilStudyProgrammeSettings::getDeadlineSettings ( )

◆ getLastChange()

ilStudyProgrammeSettings::getLastChange ( )

Get the timestamp of the last change on this program or a sub program.

Returns
DateTime

Definition at line 147 of file class.ilStudyProgrammeSettings.php.

147 : DateTime
148 {
149 return DateTime::createFromFormat(self::DATE_TIME_FORMAT, $this->last_change);
150 }

Referenced by ilStudyProgrammeSettingsDBRepository\update().

+ Here is the caller graph for this function:

◆ getLPMode()

ilStudyProgrammeSettings::getLPMode ( )

Get the lp mode.

Returns
integer - one of self::$MODES

Definition at line 202 of file class.ilStudyProgrammeSettings.php.

202 : int
203 {
204 return (int) $this->lp_mode;
205 }

References $lp_mode.

Referenced by ilStudyProgrammeSettingsDBRepository\update().

+ Here is the caller graph for this function:

◆ getObjId()

ilStudyProgrammeSettings::getObjId ( )

Get the id of the study program.

Returns
integer

Definition at line 137 of file class.ilStudyProgrammeSettings.php.

137 : int
138 {
139 return (int) $this->obj_id;
140 }

References $obj_id.

Referenced by ilStudyProgrammeSettingsDBRepository\update(), and ilObjStudyProgramme\updateSettings().

+ Here is the caller graph for this function:

◆ getTypeSettings()

ilStudyProgrammeSettings::getTypeSettings ( )

Definition at line 207 of file class.ilStudyProgrammeSettings.php.

References $type_settings.

Referenced by ilStudyProgrammeSettingsDBRepository\update().

+ Here is the caller graph for this function:

◆ getValidityOfQualificationSettings()

◆ setLastChange()

ilStudyProgrammeSettings::setLastChange ( DateTime  $a_timestamp)

Set the last change timestamp to the given time.

Throws when given time is smaller then current timestamp since that is logically impossible.

Returns
$this

Definition at line 171 of file class.ilStudyProgrammeSettings.php.

172 {
173 $this->last_change = $a_timestamp->format(self::DATE_TIME_FORMAT);
174 return $this;
175 }

Referenced by updateLastChange().

+ Here is the caller graph for this function:

◆ setLPMode()

ilStudyProgrammeSettings::setLPMode ( int  $a_mode)

Set the lp mode.

Throws when program is not in draft status.

Parameters
integer$a_mode- one of self::$MODES
Returns
$this

Definition at line 185 of file class.ilStudyProgrammeSettings.php.

186 {
187 $a_mode = (int) $a_mode;
188 if (!in_array($a_mode, self::$MODES)) {
189 throw new ilException("ilStudyProgramme::setLPMode: No lp mode: "
190 . "'$a_mode'");
191 }
192 $this->lp_mode = $a_mode;
193 $this->updateLastChange();
194 return $this;
195 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
updateLastChange()
Update the last change timestamp to the current time.

References updateLastChange().

+ Here is the call graph for this function:

◆ updateLastChange()

ilStudyProgrammeSettings::updateLastChange ( )

Update the last change timestamp to the current time.

Returns
$this

Definition at line 157 of file class.ilStudyProgrammeSettings.php.

158 {
159 $this->setLastChange(new DateTime());
160 return $this;
161 }
setLastChange(DateTime $a_timestamp)
Set the last change timestamp to the given time.

References setLastChange().

Referenced by setLPMode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validationExpires()

ilStudyProgrammeSettings::validationExpires ( )

Definition at line 260 of file class.ilStudyProgrammeSettings.php.

260 : bool
261 {
262 return !is_null($this->getValidityOfQualificationSettings()->getQualificationDate()) ||
263 $this->getValidityOfQualificationSettings()->getQualificationPeriod() != -1;
264 }

◆ withAssessmentSettings()

ilStudyProgrammeSettings::withAssessmentSettings ( \ilStudyProgrammeAssessmentSettings  $assessment_settings)

Definition at line 225 of file class.ilStudyProgrammeSettings.php.

228 $clone = clone $this;
229 $clone->assessment_settings = $assessment_settings;
230 $clone->updateLastChange();
231 return $clone;
232 }

◆ withAutoMailSettings()

ilStudyProgrammeSettings::withAutoMailSettings ( \ilStudyProgrammeAutoMailSettings  $automail_settings)

Definition at line 271 of file class.ilStudyProgrammeSettings.php.

274 $clone = clone $this;
275 $clone->automail_settings = $automail_settings;
276 return $clone;
277 }

◆ withDeadlineSettings()

ilStudyProgrammeSettings::withDeadlineSettings ( \ilStudyProgrammeDeadlineSettings  $deadline_settings)

Definition at line 239 of file class.ilStudyProgrammeSettings.php.

242 $clone = clone $this;
243 $clone->deadline_settings = $deadline_settings;
244 return $clone;
245 }

◆ withTypeSettings()

ilStudyProgrammeSettings::withTypeSettings ( \ilStudyProgrammeTypeSettings  $type_settings)

Definition at line 212 of file class.ilStudyProgrammeSettings.php.

215 $clone = clone $this;
216 $clone->type_settings = $type_settings;
217 return $clone;
218 }

◆ withValidityOfQualificationSettings()

ilStudyProgrammeSettings::withValidityOfQualificationSettings ( \ilStudyProgrammeValidityOfAchievedQualificationSettings  $validity_of_qualification_settings)

Definition at line 252 of file class.ilStudyProgrammeSettings.php.

255 $clone = clone $this;
256 $clone->validity_of_qualification_settings = $validity_of_qualification_settings;
257 return $clone;
258 }

Field Documentation

◆ $access_ctrl_positions

ilStudyProgrammeSettings::$access_ctrl_positions
protected

Definition at line 109 of file class.ilStudyProgrammeSettings.php.

◆ $assessment_settings

ilStudyProgrammeSettings::$assessment_settings
protected

Definition at line 92 of file class.ilStudyProgrammeSettings.php.

Referenced by __construct().

◆ $automail_settings

ilStudyProgrammeSettings::$automail_settings
protected

Definition at line 114 of file class.ilStudyProgrammeSettings.php.

Referenced by __construct().

◆ $deadline_settings

ilStudyProgrammeSettings::$deadline_settings
protected

Definition at line 97 of file class.ilStudyProgrammeSettings.php.

Referenced by __construct().

◆ $last_change

ilStudyProgrammeSettings::$last_change
protected

Definition at line 75 of file class.ilStudyProgrammeSettings.php.

◆ $lp_mode

ilStudyProgrammeSettings::$lp_mode
protected

Definition at line 82 of file class.ilStudyProgrammeSettings.php.

Referenced by getLPMode().

◆ $MODES

ilStudyProgrammeSettings::$MODES
static
Initial value:
= array(
self::MODE_UNDEFINED,
self::MODE_POINTS,
self::MODE_LP_COMPLETED
)

Definition at line 32 of file class.ilStudyProgrammeSettings.php.

◆ $obj_id

ilStudyProgrammeSettings::$obj_id
protected

Definition at line 67 of file class.ilStudyProgrammeSettings.php.

Referenced by getObjId().

◆ $type_settings

ilStudyProgrammeSettings::$type_settings
protected

Definition at line 87 of file class.ilStudyProgrammeSettings.php.

Referenced by __construct(), and getTypeSettings().

◆ $validity_of_qualification_settings

ilStudyProgrammeSettings::$validity_of_qualification_settings
protected

Definition at line 102 of file class.ilStudyProgrammeSettings.php.

Referenced by __construct().

◆ DATE_FORMAT

const ilStudyProgrammeSettings::DATE_FORMAT = 'Y-m-d'

Definition at line 60 of file class.ilStudyProgrammeSettings.php.

◆ DATE_TIME_FORMAT

const ilStudyProgrammeSettings::DATE_TIME_FORMAT = 'Y-m-d H:i:s'

◆ DEFAULT_POINTS

◆ DEFAULT_SUBTYPE

◆ MODE_LP_COMPLETED

◆ MODE_POINTS

◆ MODE_UNDEFINED

◆ NO_RESTART

◆ NO_VALIDITY_OF_QUALIFICATION_PERIOD

◆ STATUS_ACTIVE

const ilStudyProgrammeSettings::STATUS_ACTIVE = 20

Definition at line 46 of file class.ilStudyProgrammeSettings.php.

Referenced by ilObjStudyProgramme\assignUser(), ilStudyProgrammeSettingsDBRepository\getProgrammeIdsWithMailsForExpiringValidity(), ilStudyProgrammeSettingsDBRepository\getProgrammeIdsWithReassignmentForExpiringValidity(), ilStudyProgrammeSettingsDBRepository\getProgrammeIdsWithRiskyToFailSettings(), ilStudyProgrammeAssessmentSettings\getStatusOptions(), ilObjStudyProgramme\isActive(), ilObjStudyProgramme\isAutoContentApplicable(), ilStudyProgrammeLPTest\setAllNodesActive(), ilStudyProgrammeUserProgressTest\setAllNodesActive(), ilStudyProgrammeEventsTest\setUp(), ilStudyProgrammeProgressCalculationTest\setUp(), ilStudyProgrammeProgressCalculationTest\setUpNodes(), ilStudyProgrammeSettingsRepositoryTest\test_delete(), ilStudyProgrammeSettingsRepositoryTest\test_edit_and_update(), ilStudyProgrammeUserProgressTest\test_limited_validity_accredited(), ilStudyProgrammeUserProgressTest\test_limited_validity_date(), ilStudyProgrammeUserProgressTest\test_limited_validity_period(), ilPrgInvalidateExpiredProgressesCronJobTest\test_run(), ilPrgRestartAssignmentsCronJobTest\test_run(), ilStudyProgrammeUserProgressTest\test_set_failed_limited_validity_future(), ilStudyProgrammeUserProgressTest\test_set_failed_limited_validity_past(), ilStudyProgrammeUserProgressTest\test_set_failed_no_limited_validity(), ilStudyProgrammeSettingsTest\test_status(), ilStudyProgrammeUserProgressTest\testCanBeCompleted3(), ilObjStudyProgrammeTest\testCanRemoveNodeWithNotRelevantProgress(), ilObjStudyProgrammeTest\testCantRemoveNodeWithRelevantProgress(), ilStudyProgrammeUserProgressTest\testCompletionOnDeeplyNestedProgresses(), ilStudyProgrammeUserAssignmentTest\testDeassignRemovesEntriesInPrgUsrAssignment(), ilStudyProgrammeUserAssignmentTest\testDeleteOfProgrammeRemovesEntriesInPrgUsrAssignment(), ilStudyProgrammeUserAssignmentTest\testGetAmountOfAssignments(), ilStudyProgrammeUserAssignmentTest\testGetAssignments(), ilStudyProgrammeUserAssignmentTest\testGetAssignmentsOf(), ilStudyProgrammeUserAssignmentTest\testHasAssignmentOf(), ilStudyProgrammeLPTest\testInitialLPDraft(), ilStudyProgrammeUserProgressTest\testInitialProgressDraft(), ilStudyProgrammeLPTest\testInitialProgressOutdated(), ilStudyProgrammeUserProgressTest\testInitialProgressOutdated(), ilStudyProgrammeUserAssignmentTest\testNoRestartDate(), ilStudyProgrammeUserAssignmentTest\testRemoveAssignment1(), ilStudyProgrammeUserAssignmentTest\testRemoveAssignment2(), ilStudyProgrammeUserAssignmentTest\testRemoveOnRootNodeOnly1(), ilStudyProgrammeUserAssignmentTest\testRemoveOnRootNodeOnly2(), ilStudyProgrammeUserAssignmentTest\testRestartDate(), ilStudyProgrammeUserAssignmentTest\testRstartAssignment(), ilObjStudyProgrammeTest\testSettings(), and ilStudyProgrammeUserAssignmentTest\testUserId().

◆ STATUS_DRAFT

◆ STATUS_OUTDATED


The documentation for this class was generated from the following file: