ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilTestProcessLockerFactory.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Modules/Test/classes/class.ilObjAssessmentFolder.php';
5require_once 'Modules/Test/classes/class.ilTestProcessLocker.php';
6require_once 'Modules/Test/classes/class.ilTestProcessLockerNone.php';
7require_once 'Modules/Test/classes/class.ilTestProcessLockerFile.php';
8require_once 'Modules/Test/classes/class.ilTestProcessLockerDb.php';
9
17{
21 protected $settings;
22
26 protected $db;
27
31 protected $activeId;
32
38 {
39 $this->settings = $settings;
40 $this->db = $db;
41
42 $this->activeId = null;
43 }
44
48 public function setActiveId($activeId)
49 {
50 $this->activeId = $activeId;
51 }
52
56 public function getActiveId()
57 {
58 return $this->activeId;
59 }
60
61 private function getLockModeSettingValue()
62 {
63 return $this->settings->get('ass_process_lock_mode', ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_NONE);
64 }
65
69 public function getLocker()
70 {
71 switch( $this->getLockModeSettingValue() )
72 {
74
75 $locker = new ilTestProcessLockerNone();
76 break;
77
79
80 require_once 'Modules/Test/classes/class.ilTestProcessLockFileStorage.php';
81 $storage = new ilTestProcessLockFileStorage($this->getActiveId());
82 $storage->create();
83
84 $locker = new ilTestProcessLockerFile($storage);
85 break;
86
88
89 $locker = new ilTestProcessLockerDb($this->db);
90 break;
91 }
92
93 return $locker;
94 }
95}
Database Wrapper.
Definition: class.ilDB.php:29
ILIAS Setting Class.
__construct(ilSetting $settings, ilDB $db)