ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
SeqActivity.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
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  // 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 }
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
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
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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
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)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
object $mCurTracking
const ROLLUP_CONSIDER_ALWAYS
string $mAttemptExDur
string $mLearnerID
Definition: SeqActivity.php:47
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