ILIAS  release_8 Revision v8.23
SeqActivity.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
21  define("TIMING_ONCE", "once");
22  define("TIMING_EACHNEW", "onEachNewAttempt");
23  define("TER_EXITALL", "_EXITALL_");
24  define("TIMING_NEVER", "never");
25 
27 {
28  //It's quite bad design to declare these variables public (should be private), but for later JSON serialization PHP needs this
29  //cause json_encode ignores private or protected variables
30 
31 
32  //SeqRuleset
33  public ?array $mPreConditionRules = null;
34 
35  //SeqRuleset
36  public ?array $mPostConditionRules = null;
37 
38  //SeqRuleset
39  public ?array $mExitActionRules = null;
40 
41  public ?string $mXML = null;
42 
43  public int $mDepth = 0;
44 
45  public int $mCount = -1;
46 
47  public string $mLearnerID = "_NULL_";
48 
49  public ?string $mScopeID = null;
50 
51  public ?string $mActivityID = null;
52 
53  public ?string $mResourceID = null;
54 
55  public ?string $mStateID = null;
56 
57  public ?string $mTitle = null;
58 
59  public bool $mIsVisible = true;
60 
61  public int $mOrder = -1;
62 
63  public int $mActiveOrder = -1;
64 
65  public bool $mSelected = true;
66 
67  //SeqActivity converted to array???
68  public ?string $mParent = null;
69 
70  public bool $mIsActive = false;
71 
72  public bool $mIsSuspended = false;
73 
74  //Vector converted to array
75  public ?array $mChildren = null;
76 
77  //Vector converted to array
78  public ?array $mActiveChildren = null;
79 
80  public string $mDeliveryMode = "normal";
81 
82  public bool $mControl_choice = true;
83 
84  public bool $mControl_choiceExit = true;
85 
86  public bool $mControl_flow = false;
87 
88  public bool $mControl_forwardOnly = false;
89 
90  public bool $mConstrainChoice = false;
91 
92  public bool $mPreventActivation = false;
93 
94  public bool $mUseCurObj = true;
95 
96  public bool $mUseCurPro = true;
97 
98  public bool $mMaxAttemptControl = false;
99 
100  public int $mMaxAttempt = 0;
101 
102  public bool $mAttemptAbDurControl = false;
103 
104  //ADLDuration
105  public ?string $mAttemptAbDur = null;
106 
107  public bool $mAttemptExDurControl = false;
108 
109  public ?string $mAttemptExDur = null;
110 
111  public bool $mActivityAbDurControl = false;
112 
113  //ADLDuration
114  public ?string $mActivityAbDur = null;
115 
116  public bool $mActivityExDurControl = false;
117 
118  //ADLDuration
119  public ?string $mActivityExDur = null;
120 
121  public bool $mBeginTimeControl = false;
122 
123  public ?string $mBeginTime = null;
124 
125  public bool $mEndTimeControl = false;
126 
127  public ?string $mEndTime = null;
128 
129  //convert to array?
130  public ?string $mAuxResources = null;
131 
132  //SeqRollupRuleset
133  public ?array $mRollupRules = null;
134 
135  public bool $mActiveMeasure = true;
136 
138 
140 
142 
144 
145  //convert to array
146  public ?array $mObjectives = null;
147 
148  //HashTable convert to assosiative array
149  public ?array $mObjMaps = null;
150 
151  public bool $mIsObjectiveRolledUp = true;
152 
153  public float $mObjMeasureWeight = 1.0;
154 
155  public bool $mIsProgressRolledUp = true;
156 
157  public string $mSelectTiming = "never";
158 
159  public bool $mSelectStatus = false;
160 
161  public int $mSelectCount = 0;
162 
163  public bool $mSelection = false;
164 
165  public string $mRandomTiming = "never";
166 
167  public bool $mReorder = false;
168 
169  public bool $mRandomized = false;
170 
171  public bool $mIsTracked = true;
172 
173  public bool $mContentSetsCompletion = false;
174 
175  public bool $mContentSetsObj = false;
176 
177  //ADLTracking
178  public ?object $mCurTracking = null;
179 
180  //convert to array?
181  public ?array $mTracking = null;
182 
183  public int $mNumAttempt = 0;
184 
185  public int $mNumSCOAttempt = 0;
186 
187  //ADLDuration
188  public ?string $mActivityAbDur_track = null;
189 
190  //ADLDuration
191  public ?string $mActivityExDur_track = null;
192 
193  public float $mProgressThreshold = 1.0;
194 
195  public bool $mProgressDeterminedByMeasure = false;
196 
197  public float $mProgressWeight = 1.0;
198 
199  public bool $mmActivityExDurControl = false;
200 
201  public string $iTiming = "";
202 
203 
204  public function __construct()
205  {
206  //$this->mActiveChildren = array();
207  }
208 
209  public function addChild(object $ioChild): void
210  {
211  if ($this->mChildren == null) {
212  $this->mChildren = array();
213  }
214  if ($this->mActiveChildren == null) {
215  $this->mActiveChildren = array();
216  }
217 
218  //set class
219  $c_ioChild['_SeqActivity'] = $ioChild;
220 
221  //keep both in sync
222  $this->mChildren[] = $c_ioChild;
223  //array_push($this->mActiveChildren,$c_ioChild);
224 
225  //$this->mActiveChildren = $this->mChildren;
226 
227  $ioChild->setOrder(count($this->mChildren) - 1);
228  $ioChild->setActiveOrder(count($this->mChildren) - 1);
229 
230  //set parents on the client
231  //$ioChild->setParent($this);
232  }
233 
234  public function setOrder(int $iOrder): void
235  {
236  $this->mOrder = $iOrder;
237  }
238 
239  public function setActiveOrder(int $iOrder): void
240  {
241  $this->mActiveOrder = $iOrder;
242  }
243 
244  public function setParent(string $iParent): void
245  {
246  $this->mParent = $iParent;
247  }
248 
249 
250 
251  //setters for public vars
252  public function setID(string $id): void
253  {
254  $this->mActivityID = $id;
255  }
256 
257  public function setResourceID(string $id): void
258  {
259  $this->mResourceID = $id;
260  }
261 
262  public function setIsVisible(bool $visible): void
263  {
264  $this->mIsVisible = $visible;
265  }
266 
267  public function setCompletionThreshold(float $compThresh): void
268  {
269  $this->mProgressThreshold = $compThresh;
270  }
271 
272  public function setCompletedByMeasure(bool $compbm): void
273  {
274  $this->mProgressDeterminedByMeasure = $compbm;
275  }
276 
277  public function setProgressWeight(float $progweight): void
278  {
279  $this->mProgressWeight = $progweight;
280  }
281 
282  public function setControlModeChoice(bool $choice): void
283  {
284  $this->mControl_choice = $choice;
285  }
286 
287  public function setControlModeChoiceExit(bool $choiceExit): void
288  {
289  $this->mControl_choiceExit = $choiceExit;
290  }
291 
292  public function setControlModeFlow(bool $flow): void
293  {
294  $this->mControl_flow = $flow;
295  }
296 
297  public function setControlForwardOnly(bool $forwardOnly): void
298  {
299  $this->mControl_forwardOnly = $forwardOnly;
300  }
301 
302  public function setUseCurObjective(bool $useCurObjective): void
303  {
304  $this->mUseCurObj = $useCurObjective;
305  }
306 
307  public function setUseCurProgress(bool $useCurProgress): void
308  {
309  $this->mUseCurPro = $useCurProgress;
310  }
311 
312  public function setAttemptLimit(int $value): void
313  {
314  if ($value >= 0) {
315  $this->mMaxAttemptControl = true;
316  $this->mMaxAttempt = $value;
317  } else {
318  $this->mMaxAttemptControl = false;
319  $this->mMaxAttempt = -1;
320  }
321  }
322 
323  public function setAttemptAbDur(?string $iDur): void
324  {
325  if ($iDur != null) {
326  $this->mActivityAbDurControl = true;
327  //to be implemented
328  //convert duration
329  //$this->mActivityAbDur = new ADLDuration(ADLDuration.FORMAT_SCHEMA, iDur);
330  } else {
331  $this->mActivityAbDurControl = false;
332  }
333  }
334 
335  public function setAttemptExDur(?string $iDur): void
336  {
337  if ($iDur != null) {
338  $this->mAttemptExDurControl = true;
339  //to be implemented
340  // $this->mAttemptExDur = new ADLDuration(ADLDuration.FORMAT_SCHEMA, iDur);
341  } else {
342  $this->mAttemptExDurControl = false;
343  }
344  }
345 
346  public function setActivityAbDur(?string $iDur): void
347  {
348  if ($iDur != null) {
349  $this->mActivityAbDurControl = true;
350  //$this->mActivityAbDur = new ADLDuration(ADLDuration.FORMAT_SCHEMA, iDur);
351  } else {
352  $this->mActivityAbDurControl = false;
353  }
354  }
355 
356  public function setActivityExDur(?string $iDur): void
357  {
358  if ($iDur != null) {
359  $this->mmActivityExDurControl = true;
360  // $this->mmActivityExDur = new ADLDuration(ADLDuration.FORMAT_SCHEMA, iDur);
361  } else {
362  $this->mmActivityExDurControl = false;
363  }
364  }
365 
366  public function setBeginTimeLimit(?string $iTime): void
367  {
368  if ($iTime != null) {
369  $this->mBeginTimeControl = true;
370  $this->mBeginTime = $iTime;
371  } else {
372  $this->mBeginTimeControl = false;
373  }
374  }
375 
376  public function setEndTimeLimit(?string $iTime): void
377  {
378  if ($iTime != null) {
379  $this->mEndTimeControl = true;
380  $this->mEndTime = $iTime;
381  } else {
382  $this->mEndTimeControl = false;
383  }
384  }
385 
386  public function setRandomTiming(string $iTiming): void
387  {
388  // Validate vocabulary
389  if (!($this->iTiming == TIMING_NEVER ||
390  $this->iTiming == TIMING_ONCE ||
391  $this->iTiming == TIMING_EACHNEW)) {
392  $this->mSelectTiming = TIMING_NEVER;
393  } else {
394  $this->mRandomTiming = $iTiming;
395  }
396  }
397 
398  public function setSelectCount(int $iCount): void
399  {
400  if ($iCount >= 0) {
401  $this->mSelectStatus = true;
402  $this->mSelectCount = $iCount;
403  } else {
404  $this->mSelectStatus = false;
405  }
406  }
407 
408  public function setReorderChildren(bool $iReorder): void
409  {
410  $this->mReorder = $iReorder;
411  }
412 
413 
414  public function setSelectionTiming(string $iTiming): void
415  {
416 
417  // Validate vocabulary
418  if (!($this->iTiming == TIMING_NEVER ||
419  $this->iTiming == TIMING_ONCE ||
420  $this->iTiming == TIMING_EACHNEW)) {
421  $this->mSelectTiming = TIMING_NEVER;
422  } else {
423  $this->mSelectTiming = $iTiming;
424  }
425  }
426 
427  public function setIsTracked(bool $iTracked): void
428  {
429  $this->mIsTracked = $iTracked;
430  }
431 
432  public function setSetCompletion(bool $iSet): void
433  {
434  $this->mContentSetsCompletion = $iSet;
435  }
436 
437  public function setSetObjective(bool $iSet): void
438  {
439  $this->mContentSetsObj = $iSet;
440  }
441 
442  public function setPreventActivation(bool $iPreventActivation): void
443  {
444  $this->mPreventActivation = $iPreventActivation;
445  }
446 
447  public function setConstrainChoice(bool $iConstrainChoice): void
448  {
449  $this->mConstrainChoice = $iConstrainChoice;
450  }
451 
452  public function setRequiredForSatisfied(string $iConsider): void
453  {
454  $this->mRequiredForSatisfied = $iConsider;
455  }
456 
457  public function setRequiredForNotSatisfied(string $iConsider): void
458  {
459  $this->mRequiredForNotSatisfied = $iConsider;
460  }
461 
462  public function setRequiredForCompleted(string $iConsider): void
463  {
464  $this->mRequiredForCompleted = $iConsider;
465  }
466 
467  public function setRequiredForIncomplete(string $iConsider): void
468  {
469  $this->mRequiredForIncomplete = $iConsider;
470  }
471 
472  public function setSatisfactionIfActive(bool $iActiveMeasure): void
473  {
474  $this->mActiveMeasure = $iActiveMeasure;
475  }
476 
477  public function setTitle(string $title): void
478  {
479  $this->mTitle = $title;
480  }
481 
482  public function setPreSeqRules(?array $iRuleSet): void
483  {
484  $this->mPreConditionRules = $iRuleSet;
485  }
486 
487  public function setExitSeqRules(?array $iRuleSet): void
488  {
489  $this->mExitActionRules = $iRuleSet;
490  }
491 
492  public function setPostSeqRules(?array $iRuleSet): void
493  {
494  $this->mPostConditionRules = $iRuleSet;
495  }
496 
497  public function setObjectives(array $iObjs): void
498  {
499  $this->mObjectives = $iObjs;
500  foreach ($iObjs as $value) {
501  $obj = $value;
502  if ($obj['_SeqObjective']->mMaps != null) {
503  $index = $obj['_SeqObjective']->mObjID;
504  $this->mObjMaps["$index"] = $obj['_SeqObjective']->mMaps;
505  }
506  }
507  }
508 
509  public function setIsObjRolledUp(bool $iRolledup): void
510  {
511  $this->mIsObjectiveRolledUp = $iRolledup;
512  }
513 
514  public function setObjMeasureWeight(float $iWeight): void
515  {
516  $this->mObjMeasureWeight = $iWeight;
517  }
518 
519  public function setIsProgressRolledUp(bool $iRolledup): void
520  {
521  $this->mIsProgressRolledUp = $iRolledup;
522  }
523 
524  public function setRollupRules(?array $iRuleSet): void
525  {
526  $this->mRollupRules = $iRuleSet;
527  }
528 
529  public function setAuxResources(string $iRes): void
530  {
531  $this->mAuxResources = $iRes;
532  }
533 
534 
535 
536 
537  public function getID(): string
538  {
539  return $this->mActivityID;
540  }
541 
542  public function getIsVisible(): bool
543  {
544  return $this->mIsVisible;
545  }
546 }
bool $mControl_forwardOnly
Definition: SeqActivity.php:88
setObjMeasureWeight(float $iWeight)
bool $mAttemptExDurControl
bool $mRandomized
setAuxResources(string $iRes)
string $mActivityExDur_track
bool $mControl_flow
Definition: SeqActivity.php:86
bool $mConstrainChoice
Definition: SeqActivity.php:90
string $mDeliveryMode
Definition: SeqActivity.php:80
addChild(object $ioChild)
setBeginTimeLimit(?string $iTime)
array $mTracking
bool $mmActivityExDurControl
bool $mActivityExDurControl
bool $mIsVisible
Definition: SeqActivity.php:59
array $mExitActionRules
Definition: SeqActivity.php:39
array $mPreConditionRules
Definition: SeqActivity.php:33
setControlModeFlow(bool $flow)
int $mNumSCOAttempt
bool $mAttemptAbDurControl
string $mAuxResources
setRequiredForIncomplete(string $iConsider)
setIsProgressRolledUp(bool $iRolledup)
array $mActiveChildren
Definition: SeqActivity.php:78
bool $mMaxAttemptControl
Definition: SeqActivity.php:98
bool $mPreventActivation
Definition: SeqActivity.php:92
setRequiredForSatisfied(string $iConsider)
bool $mControl_choiceExit
Definition: SeqActivity.php:84
setRequiredForNotSatisfied(string $iConsider)
array $mRollupRules
string $mAttemptAbDur
string $mRequiredForSatisfied
setCompletionThreshold(float $compThresh)
setPreventActivation(bool $iPreventActivation)
setControlModeChoiceExit(bool $choiceExit)
bool $mUseCurObj
Definition: SeqActivity.php:94
setProgressWeight(float $progweight)
bool $mUseCurPro
Definition: SeqActivity.php:96
string $mActivityAbDur_track
setRequiredForCompleted(string $iConsider)
setRandomTiming(string $iTiming)
setIsObjRolledUp(bool $iRolledup)
bool $mSelection
bool $mIsTracked
array $mObjMaps
$index
Definition: metadata.php:145
setControlModeChoice(bool $choice)
bool $mContentSetsCompletion
setRollupRules(?array $iRuleSet)
string $mActivityAbDur
string $mXML
Definition: SeqActivity.php:41
setOrder(int $iOrder)
setConstrainChoice(bool $iConstrainChoice)
setUseCurProgress(bool $useCurProgress)
setActivityAbDur(?string $iDur)
setExitSeqRules(?array $iRuleSet)
float $mProgressThreshold
setObjectives(array $iObjs)
string $mEndTime
const TIMING_EACHNEW
Definition: SeqActivity.php:22
setTitle(string $title)
setUseCurObjective(bool $useCurObjective)
setIsTracked(bool $iTracked)
const TIMING_NEVER
Definition: SeqActivity.php:24
setSetCompletion(bool $iSet)
setReorderChildren(bool $iReorder)
int $mActiveOrder
Definition: SeqActivity.php:63
string $mActivityID
Definition: SeqActivity.php:51
setActivityExDur(?string $iDur)
setActiveOrder(int $iOrder)
string $mActivityExDur
setID(string $id)
setSelectionTiming(string $iTiming)
string $mTitle
Definition: SeqActivity.php:57
setSelectCount(int $iCount)
setAttemptLimit(int $value)
bool $mIsSuspended
Definition: SeqActivity.php:72
const TIMING_ONCE
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: SeqActivity.php:21
bool $mSelected
Definition: SeqActivity.php:65
string $mParent
Definition: SeqActivity.php:68
string $mBeginTime
bool $mControl_choice
Definition: SeqActivity.php:82
setEndTimeLimit(?string $iTime)
string $mResourceID
Definition: SeqActivity.php:53
bool $mIsActive
Definition: SeqActivity.php:70
bool $mIsObjectiveRolledUp
setCompletedByMeasure(bool $compbm)
string $mScopeID
Definition: SeqActivity.php:49
array $mChildren
Definition: SeqActivity.php:75
string $mSelectTiming
bool $mActivityAbDurControl
string $mRandomTiming
setSatisfactionIfActive(bool $iActiveMeasure)
string $mRequiredForNotSatisfied
setSetObjective(bool $iSet)
bool $mContentSetsObj
setPreSeqRules(?array $iRuleSet)
setAttemptAbDur(?string $iDur)
setAttemptExDur(?string $iDur)
string $mRequiredForIncomplete
string $mStateID
Definition: SeqActivity.php:55
array $mObjectives
float $mProgressWeight
setParent(string $iParent)
object $mCurTracking
const ROLLUP_CONSIDER_ALWAYS
string $mAttemptExDur
string $mLearnerID
Definition: SeqActivity.php:47
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
array $mPostConditionRules
Definition: SeqActivity.php:36
string $mRequiredForCompleted
bool $mSelectStatus
bool $mBeginTimeControl
setResourceID(string $id)
bool $mActiveMeasure
bool $mProgressDeterminedByMeasure
bool $mIsProgressRolledUp
setIsVisible(bool $visible)
setPostSeqRules(?array $iRuleSet)
float $mObjMeasureWeight
setControlForwardOnly(bool $forwardOnly)
bool $mEndTimeControl
string $iTiming