ILIAS  release_8 Revision v8.24
SeqActivity.php
Go to the documentation of this file.
1<?php
2
3declare(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}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
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
const TIMING_NEVER
Definition: SeqActivity.php:24
const TIMING_EACHNEW
Definition: SeqActivity.php:22
const ROLLUP_CONSIDER_ALWAYS
setRandomTiming(string $iTiming)
bool $mActivityExDurControl
bool $mPreventActivation
Definition: SeqActivity.php:92
setTitle(string $title)
string $mXML
Definition: SeqActivity.php:41
bool $mSelectStatus
bool $mMaxAttemptControl
Definition: SeqActivity.php:98
setReorderChildren(bool $iReorder)
string $mActivityAbDur_track
setControlModeFlow(bool $flow)
setPostSeqRules(?array $iRuleSet)
string $mAttemptAbDur
setParent(string $iParent)
setConstrainChoice(bool $iConstrainChoice)
bool $mSelection
setUseCurProgress(bool $useCurProgress)
string $mDeliveryMode
Definition: SeqActivity.php:80
setSetObjective(bool $iSet)
int $mNumSCOAttempt
array $mRollupRules
array $mObjectives
string $iTiming
array $mChildren
Definition: SeqActivity.php:75
setRequiredForCompleted(string $iConsider)
setIsProgressRolledUp(bool $iRolledup)
array $mExitActionRules
Definition: SeqActivity.php:39
string $mBeginTime
setControlModeChoiceExit(bool $choiceExit)
bool $mBeginTimeControl
bool $mUseCurObj
Definition: SeqActivity.php:94
setControlModeChoice(bool $choice)
setCompletionThreshold(float $compThresh)
setIsObjRolledUp(bool $iRolledup)
bool $mProgressDeterminedByMeasure
string $mActivityExDur_track
setRequiredForSatisfied(string $iConsider)
setResourceID(string $id)
setAuxResources(string $iRes)
setSetCompletion(bool $iSet)
bool $mControl_choiceExit
Definition: SeqActivity.php:84
setRequiredForNotSatisfied(string $iConsider)
string $mEndTime
setUseCurObjective(bool $useCurObjective)
bool $mControl_forwardOnly
Definition: SeqActivity.php:88
setSelectCount(int $iCount)
setExitSeqRules(?array $iRuleSet)
bool $mIsObjectiveRolledUp
bool $mSelected
Definition: SeqActivity.php:65
bool $mControl_flow
Definition: SeqActivity.php:86
array $mActiveChildren
Definition: SeqActivity.php:78
addChild(object $ioChild)
bool $mAttemptAbDurControl
bool $mAttemptExDurControl
array $mObjMaps
setRequiredForIncomplete(string $iConsider)
string $mRequiredForCompleted
bool $mContentSetsCompletion
setSelectionTiming(string $iTiming)
string $mRandomTiming
setAttemptAbDur(?string $iDur)
setActiveOrder(int $iOrder)
string $mScopeID
Definition: SeqActivity.php:49
setObjectives(array $iObjs)
array $mPostConditionRules
Definition: SeqActivity.php:36
bool $mIsTracked
array $mTracking
object $mCurTracking
setActivityExDur(?string $iDur)
float $mObjMeasureWeight
string $mSelectTiming
setRollupRules(?array $iRuleSet)
string $mActivityID
Definition: SeqActivity.php:51
string $mResourceID
Definition: SeqActivity.php:53
array $mPreConditionRules
Definition: SeqActivity.php:33
string $mRequiredForNotSatisfied
string $mTitle
Definition: SeqActivity.php:57
setAttemptExDur(?string $iDur)
string $mRequiredForIncomplete
setProgressWeight(float $progweight)
float $mProgressThreshold
bool $mConstrainChoice
Definition: SeqActivity.php:90
setAttemptLimit(int $value)
bool $mContentSetsObj
bool $mmActivityExDurControl
bool $mActiveMeasure
bool $mControl_choice
Definition: SeqActivity.php:82
bool $mRandomized
setControlForwardOnly(bool $forwardOnly)
setBeginTimeLimit(?string $iTime)
setPreSeqRules(?array $iRuleSet)
string $mStateID
Definition: SeqActivity.php:55
string $mActivityAbDur
bool $mEndTimeControl
string $mActivityExDur
bool $mUseCurPro
Definition: SeqActivity.php:96
setCompletedByMeasure(bool $compbm)
setIsTracked(bool $iTracked)
bool $mActivityAbDurControl
int $mActiveOrder
Definition: SeqActivity.php:63
bool $mIsActive
Definition: SeqActivity.php:70
bool $mIsVisible
Definition: SeqActivity.php:59
setIsVisible(bool $visible)
string $mAttemptExDur
bool $mIsProgressRolledUp
setObjMeasureWeight(float $iWeight)
setEndTimeLimit(?string $iTime)
setOrder(int $iOrder)
string $mLearnerID
Definition: SeqActivity.php:47
float $mProgressWeight
string $mAuxResources
bool $mIsSuspended
Definition: SeqActivity.php:72
string $mParent
Definition: SeqActivity.php:68
setPreventActivation(bool $iPreventActivation)
setSatisfactionIfActive(bool $iActiveMeasure)
setID(string $id)
setActivityAbDur(?string $iDur)
string $mRequiredForSatisfied
$index
Definition: metadata.php:145