ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
SeqActivity.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21define("TIMING_ONCE", "once");
22define("TIMING_EACHNEW", "onEachNewAttempt");
23define("TER_EXITALL", "_EXITALL_");
24define("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 // Validate vocabulary
417 if (!($this->iTiming == TIMING_NEVER ||
418 $this->iTiming == TIMING_ONCE ||
419 $this->iTiming == TIMING_EACHNEW)) {
420 $this->mSelectTiming = TIMING_NEVER;
421 } else {
422 $this->mSelectTiming = $iTiming;
423 }
424 }
425
426 public function setIsTracked(bool $iTracked): void
427 {
428 $this->mIsTracked = $iTracked;
429 }
430
431 public function setSetCompletion(bool $iSet): void
432 {
433 $this->mContentSetsCompletion = $iSet;
434 }
435
436 public function setSetObjective(bool $iSet): void
437 {
438 $this->mContentSetsObj = $iSet;
439 }
440
441 public function setPreventActivation(bool $iPreventActivation): void
442 {
443 $this->mPreventActivation = $iPreventActivation;
444 }
445
446 public function setConstrainChoice(bool $iConstrainChoice): void
447 {
448 $this->mConstrainChoice = $iConstrainChoice;
449 }
450
451 public function setRequiredForSatisfied(string $iConsider): void
452 {
453 $this->mRequiredForSatisfied = $iConsider;
454 }
455
456 public function setRequiredForNotSatisfied(string $iConsider): void
457 {
458 $this->mRequiredForNotSatisfied = $iConsider;
459 }
460
461 public function setRequiredForCompleted(string $iConsider): void
462 {
463 $this->mRequiredForCompleted = $iConsider;
464 }
465
466 public function setRequiredForIncomplete(string $iConsider): void
467 {
468 $this->mRequiredForIncomplete = $iConsider;
469 }
470
471 public function setSatisfactionIfActive(bool $iActiveMeasure): void
472 {
473 $this->mActiveMeasure = $iActiveMeasure;
474 }
475
476 public function setTitle(string $title): void
477 {
478 $this->mTitle = $title;
479 }
480
481 public function setPreSeqRules(?array $iRuleSet): void
482 {
483 $this->mPreConditionRules = $iRuleSet;
484 }
485
486 public function setExitSeqRules(?array $iRuleSet): void
487 {
488 $this->mExitActionRules = $iRuleSet;
489 }
490
491 public function setPostSeqRules(?array $iRuleSet): void
492 {
493 $this->mPostConditionRules = $iRuleSet;
494 }
495
496 public function setObjectives(array $iObjs): void
497 {
498 $this->mObjectives = $iObjs;
499 foreach ($iObjs as $value) {
500 $obj = $value;
501 if ($obj['_SeqObjective']->mMaps != null) {
502 $index = $obj['_SeqObjective']->mObjID;
503 $this->mObjMaps["$index"] = $obj['_SeqObjective']->mMaps;
504 }
505 }
506 }
507
508 public function setIsObjRolledUp(bool $iRolledup): void
509 {
510 $this->mIsObjectiveRolledUp = $iRolledup;
511 }
512
513 public function setObjMeasureWeight(float $iWeight): void
514 {
515 $this->mObjMeasureWeight = $iWeight;
516 }
517
518 public function setIsProgressRolledUp(bool $iRolledup): void
519 {
520 $this->mIsProgressRolledUp = $iRolledup;
521 }
522
523 public function setRollupRules(?array $iRuleSet): void
524 {
525 $this->mRollupRules = $iRuleSet;
526 }
527
528 public function setAuxResources(string $iRes): void
529 {
530 $this->mAuxResources = $iRes;
531 }
532
533
534
535
536 public function getID(): string
537 {
538 return $this->mActivityID;
539 }
540
541 public function getIsVisible(): bool
542 {
543 return $this->mIsVisible;
544 }
545}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
const TIMING_ONCE
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