ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilStudyProgrammeSettings Class Reference
+ 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...
 
 withObjId (int $obj_id)
 
 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 NO_DEADLINE = -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 array $MODES
 

Protected Attributes

int $obj_id
 Id of this study program and the corresponding ILIAS-object as well. More...
 
string $last_change
 Timestamp of the moment the last change was made on this object or any object in the subtree of the program. More...
 
int $lp_mode
 Mode the calculation of the learning progress on this node is run in. More...
 
bool $access_ctrl_positions
 Is the access control governed by positions? More...
 
ilStudyProgrammeTypeSettings $type_settings
 
ilStudyProgrammeAssessmentSettings $assessment_settings
 
ilStudyProgrammeDeadlineSettings $deadline_settings
 
ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings
 
ilStudyProgrammeAutoMailSettings $automail_settings
 

Detailed Description

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

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 94 of file class.ilStudyProgrammeSettings.php.

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

101  {
102  $this->obj_id = $a_id;
103  $this->type_settings = $type_settings;
104  $this->assessment_settings = $assessment_settings;
105  $this->deadline_settings = $deadline_settings;
106  $this->validity_of_qualification_settings = $validity_of_qualification_settings;
107  $this->automail_settings = $automail_settings;
108  }
ilStudyProgrammeTypeSettings $type_settings
ilStudyProgrammeAutoMailSettings $automail_settings
ilStudyProgrammeDeadlineSettings $deadline_settings
ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings
ilStudyProgrammeAssessmentSettings $assessment_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.

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

Referenced by ilStudyProgrammeSettingsDBRepository\update().

128  : DateTime
129  {
130  return DateTime::createFromFormat(self::DATE_TIME_FORMAT, $this->last_change);
131  }
+ Here is the caller graph for this function:

◆ getLPMode()

ilStudyProgrammeSettings::getLPMode ( )

Get the lp mode.

Returns
int one of self::$MODES

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

References $lp_mode.

Referenced by ilStudyProgrammeSettingsDBRepository\update().

177  : int
178  {
179  return $this->lp_mode;
180  }
int $lp_mode
Mode the calculation of the learning progress on this node is run in.
+ Here is the caller graph for this function:

◆ getObjId()

ilStudyProgrammeSettings::getObjId ( )

Get the id of the study program.

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

References $obj_id.

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

113  : int
114  {
115  return $this->obj_id;
116  }
int $obj_id
Id of this study program and the corresponding ILIAS-object as well.
+ Here is the caller graph for this function:

◆ getTypeSettings()

ilStudyProgrammeSettings::getTypeSettings ( )

◆ getValidityOfQualificationSettings()

◆ setLastChange()

ilStudyProgrammeSettings::setLastChange ( DateTime  $a_timestamp)

Set the last change timestamp to the given time.

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

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

Referenced by updateLastChange().

149  {
150  $this->last_change = $a_timestamp->format(self::DATE_TIME_FORMAT);
151  return $this;
152  }
+ 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

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

References updateLastChange().

162  {
163  if (!in_array($a_mode, self::$MODES)) {
164  throw new ilException("ilStudyProgramme::setLPMode: No lp mode: "
165  . "'$a_mode'");
166  }
167  $this->lp_mode = $a_mode;
168  $this->updateLastChange();
169  return $this;
170  }
updateLastChange()
Update the last change timestamp to the current time.
+ Here is the call graph for this function:

◆ updateLastChange()

ilStudyProgrammeSettings::updateLastChange ( )

Update the last change timestamp to the current time.

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

References setLastChange().

Referenced by setLPMode().

137  {
138  $this->setLastChange(new DateTime());
139  return $this;
140  }
setLastChange(DateTime $a_timestamp)
Set the last change timestamp to the given time.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validationExpires()

ilStudyProgrammeSettings::validationExpires ( )

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

References getValidityOfQualificationSettings().

234  : bool
235  {
236  return !is_null($this->getValidityOfQualificationSettings()->getQualificationDate()) ||
237  $this->getValidityOfQualificationSettings()->getQualificationPeriod() !== self::NO_VALIDITY_OF_QUALIFICATION_PERIOD;
238  }
+ Here is the call graph for this function:

◆ withAssessmentSettings()

ilStudyProgrammeSettings::withAssessmentSettings ( ilStudyProgrammeAssessmentSettings  $assessment_settings)

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

References $assessment_settings.

202  $clone = clone $this;
203  $clone->assessment_settings = $assessment_settings;
204  $clone->updateLastChange();
205  return $clone;
206  }
ilStudyProgrammeAssessmentSettings $assessment_settings

◆ withAutoMailSettings()

ilStudyProgrammeSettings::withAutoMailSettings ( ilStudyProgrammeAutoMailSettings  $automail_settings)

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

References $automail_settings.

248  $clone = clone $this;
249  $clone->automail_settings = $automail_settings;
250  return $clone;
251  }
ilStudyProgrammeAutoMailSettings $automail_settings

◆ withDeadlineSettings()

ilStudyProgrammeSettings::withDeadlineSettings ( ilStudyProgrammeDeadlineSettings  $deadline_settings)

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

References $deadline_settings.

216  $clone = clone $this;
217  $clone->deadline_settings = $deadline_settings;
218  return $clone;
219  }
ilStudyProgrammeDeadlineSettings $deadline_settings

◆ withObjId()

ilStudyProgrammeSettings::withObjId ( int  $obj_id)

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

References $obj_id.

118  : self
119  {
120  $clone = clone $this;
121  $clone->obj_id = $obj_id;
122  return $clone;
123  }
int $obj_id
Id of this study program and the corresponding ILIAS-object as well.

◆ withTypeSettings()

ilStudyProgrammeSettings::withTypeSettings ( ilStudyProgrammeTypeSettings  $type_settings)

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

References $type_settings.

188  {
189  $clone = clone $this;
190  $clone->type_settings = $type_settings;
191  return $clone;
192  }
ilStudyProgrammeTypeSettings $type_settings

◆ withValidityOfQualificationSettings()

ilStudyProgrammeSettings::withValidityOfQualificationSettings ( ilStudyProgrammeValidityOfAchievedQualificationSettings  $validity_of_qualification_settings)

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

References $validity_of_qualification_settings.

229  $clone = clone $this;
230  $clone->validity_of_qualification_settings = $validity_of_qualification_settings;
231  return $clone;
232  }
ilStudyProgrammeValidityOfAchievedQualificationSettings $validity_of_qualification_settings

Field Documentation

◆ $access_ctrl_positions

bool ilStudyProgrammeSettings::$access_ctrl_positions
protected

Is the access control governed by positions?

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

◆ $assessment_settings

ilStudyProgrammeAssessmentSettings ilStudyProgrammeSettings::$assessment_settings
protected

◆ $automail_settings

ilStudyProgrammeAutoMailSettings ilStudyProgrammeSettings::$automail_settings
protected

◆ $deadline_settings

ilStudyProgrammeDeadlineSettings ilStudyProgrammeSettings::$deadline_settings
protected

◆ $last_change

string ilStudyProgrammeSettings::$last_change
protected

Timestamp of the moment the last change was made on this object or any object in the subtree of the program.

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

◆ $lp_mode

int ilStudyProgrammeSettings::$lp_mode
protected

Mode the calculation of the learning progress on this node is run in.

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

Referenced by getLPMode().

◆ $MODES

array ilStudyProgrammeSettings::$MODES
static
Initial value:
= [
self::MODE_UNDEFINED,
self::MODE_POINTS,
self::MODE_LP_COMPLETED
]

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

◆ $obj_id

int ilStudyProgrammeSettings::$obj_id
protected

Id of this study program and the corresponding ILIAS-object as well.

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

Referenced by getObjId(), and withObjId().

◆ $type_settings

ilStudyProgrammeTypeSettings ilStudyProgrammeSettings::$type_settings
protected

◆ $validity_of_qualification_settings

ilStudyProgrammeValidityOfAchievedQualificationSettings ilStudyProgrammeSettings::$validity_of_qualification_settings
protected

◆ DATE_FORMAT

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

Definition at line 65 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_DEADLINE

const ilStudyProgrammeSettings::NO_DEADLINE = -1

◆ NO_RESTART

◆ NO_VALIDITY_OF_QUALIFICATION_PERIOD

◆ STATUS_ACTIVE

◆ STATUS_DRAFT

◆ STATUS_OUTDATED


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