Browse Source

first commit

Frederic 3 years ago
parent
commit
e46ec76168
88 changed files with 14235 additions and 0 deletions
  1. 26
    0
      DependencyInjection/LogiproSCORMExtension.php
  2. 107
    0
      Entity/Common/AbstractEntity.php
  3. 282
    0
      Entity/Course.php
  4. 301
    0
      Entity/Learner.php
  5. 143
    0
      Entity/MapCourseZipfile.php
  6. 57
    0
      Entity/Product.php
  7. 269
    0
      Entity/Registration.php
  8. 216
    0
      Entity/RegistrationAttempt.php
  9. 503
    0
      Entity/Scorm2004/Scorm2004AttemptProgressInformation.php
  10. 180
    0
      Entity/Scorm2004/Scorm2004Comment.php
  11. 429
    0
      Entity/Scorm2004/Scorm2004Interaction.php
  12. 631
    0
      Entity/Scorm2004/Scorm2004MapTrackItem.php
  13. 321
    0
      Entity/Scorm2004/Scorm2004MapTrackObjective.php
  14. 173
    0
      Entity/Scorm2004/Scorm2004Note.php
  15. 575
    0
      Entity/Scorm2004/Scorm2004ObjectiveProgressInformation.php
  16. 490
    0
      Entity/Scorm2004/Scorm2004Track.php
  17. 406
    0
      Entity/ZipFile.php
  18. 21
    0
      LICENSE
  19. 63
    0
      LearningModels/DOMLearningModel.php
  20. 25
    0
      LearningModels/DOMPackageInterface.php
  21. 74
    0
      LearningModels/DOMSCORM.php
  22. 8
    0
      LearningModels/DOMSCORM12.php
  23. 950
    0
      LearningModels/DOMSCORM2004.php
  24. 223
    0
      LearningModels/SCORM2004/SequencingNavigation/DeliveryRequest.php
  25. 450
    0
      LearningModels/SCORM2004/SequencingNavigation/NavigationRequest.php
  26. 591
    0
      LearningModels/SCORM2004/SequencingNavigation/NavigationRequestValidator.php
  27. 113
    0
      LearningModels/SCORM2004/SequencingNavigation/Scorm2004Const.php
  28. 1680
    0
      LearningModels/SCORM2004/SequencingNavigation/SeqNavRequest.php
  29. 1074
    0
      LearningModels/SCORM2004/SequencingNavigation/SequencingRequest.php
  30. 418
    0
      LearningModels/SCORM2004/SequencingNavigation/TerminationRequest.php
  31. 402
    0
      LearningModels/SCORM2004/xsd/4th/XMLSchema.dtd
  32. 111
    0
      LearningModels/SCORM2004/xsd/4th/adlcp_v1p3.xsd
  33. 3
    0
      LearningModels/SCORM2004/xsd/4th/adlcp_v1p3.xsx
  34. 61
    0
      LearningModels/SCORM2004/xsd/4th/adlnav_v1p3.xsd
  35. 93
    0
      LearningModels/SCORM2004/xsd/4th/adlseq_v1p3.xsd
  36. 203
    0
      LearningModels/SCORM2004/xsd/4th/datatypes.dtd
  37. 373
    0
      LearningModels/SCORM2004/xsd/4th/imscp_v1p1.xsd
  38. 67
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0.xsd
  39. 19
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0auxresource.xsd
  40. 20
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0control.xsd
  41. 17
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0delivery.xsd
  42. 47
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0limit.xsd
  43. 68
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0objective.xsd
  44. 16
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0random.xsd
  45. 46
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0rollup.xsd
  46. 108
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0seqrule.xsd
  47. 94
    0
      LearningModels/SCORM2004/xsd/4th/imsss_v1p0util.xsd
  48. 81
    0
      LearningModels/SCORM2004/xsd/4th/xml.xsd
  49. 362
    0
      LearningModels/SCORMTools.php
  50. 9
    0
      LogiproSCORMBundle.php
  51. 2
    0
      Resources/config/packages/logipro_scorm.yaml
  52. 9
    0
      Resources/config/services.xml
  53. 115
    0
      Services/Scorm2004ObjectiveProgressInfoManager.php
  54. 540
    0
      Services/ScormEngine.php
  55. 528
    0
      Tests/LearningModels/SCORM2004/DOMSCORM2004Test.php
  56. 39
    0
      Tests/LearningModels/SCORMToolsTest.php
  57. 3
    0
      Tests/bootstrap.php
  58. BIN
      Tests/packages/RuntimeBasicCalls_SCORM20043rdEdition.zip
  59. BIN
      Tests/packages/RuntimeMinimumCalls_SCORM12-mini.zip
  60. BIN
      Tests/packages/RuntimeMinimumCalls_SCORM12.zip
  61. BIN
      Tests/packages/SCORM12/Mise-en-place-Tests-unitaires.scorm12.zip
  62. BIN
      Tests/packages/SCORM2004/ContentPackagingMetadata_SCORM20043rdEdition.zip
  63. BIN
      Tests/packages/SCORM2004/ContentPackagingOneFilePerSCO_SCORM12.zip
  64. BIN
      Tests/packages/SCORM2004/ContentPackagingOneFilePerSCO_SCORM20043rdEdition.zip
  65. BIN
      Tests/packages/SCORM2004/ContentPackagingSingleSCO_SCORM11.zip
  66. BIN
      Tests/packages/SCORM2004/ContentPackagingSingleSCO_SCORM12.zip
  67. BIN
      Tests/packages/SCORM2004/ContentPackagingSingleSCO_SCORM20042ndEdition.zip
  68. BIN
      Tests/packages/SCORM2004/ContentPackagingSingleSCO_SCORM20043rdEdition.zip
  69. BIN
      Tests/packages/SCORM2004/LMSTestPackage_T-01b.zip
  70. BIN
      Tests/packages/SCORM2004/RunTimeAdvancedCalls_SCORM20043rdEdition.zip
  71. BIN
      Tests/packages/SCORM2004/RuntimeBasicCalls_SCORM12.zip
  72. BIN
      Tests/packages/SCORM2004/RuntimeBasicCalls_SCORM20043rdEdition.zip
  73. BIN
      Tests/packages/SCORM2004/RuntimeMinimumCalls_SCORM12.zip
  74. BIN
      Tests/packages/SCORM2004/RuntimeMinimumCalls_SCORM20043rdEdition.zip
  75. BIN
      Tests/packages/SCORM2004/SequencingForcedSequential_SCORM20043rdEdition.zip
  76. BIN
      Tests/packages/SCORM2004/SequencingPostTestRollup4thEd_SCORM20044thEdition.zip
  77. BIN
      Tests/packages/SCORM2004/SequencingPostTestRollup_SCORM20043rdEdition.zip
  78. BIN
      Tests/packages/SCORM2004/SequencingPreOrPostTestRollup_SCORM20043rdEdition.zip
  79. BIN
      Tests/packages/SCORM2004/SequencingRandomTest_SCORM20043rdEdition.zip
  80. BIN
      Tests/packages/SCORM2004/SequencingSimpleRemediation_SCORM20043rdEdition.zip
  81. BIN
      Tests/packages/badscorm.zip
  82. BIN
      Tests/packages/complexscorm.zip
  83. BIN
      Tests/packages/invalid.zip
  84. BIN
      Tests/packages/singlesco_scorm12.zip
  85. BIN
      Tests/packages/singlescobasic.zip
  86. BIN
      Tests/packages/singlescobasic_missingorg.zip
  87. BIN
      Tests/packages/validaicc.zip
  88. BIN
      Tests/packages/validscorm.zip

+ 26
- 0
DependencyInjection/LogiproSCORMExtension.php View File

@@ -0,0 +1,26 @@
1
+<?php
2
+
3
+namespace Logipro\Bundle\SCORMBundle\DependencyInjection;
4
+
5
+use Symfony\Component\Config\FileLocator;
6
+use Symfony\Component\DependencyInjection\ContainerBuilder;
7
+use Symfony\Component\DependencyInjection\Extension\Extension;
8
+use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
9
+
10
+class LogiproSCORMExtension extends Extension
11
+{
12
+    public function load(array $configs, ContainerBuilder $container)
13
+    {
14
+        $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
15
+        $loader->load('services.xml');
16
+
17
+        $configuration = new Configuration();
18
+        $config = $this->processConfiguration($configuration, $configs);
19
+
20
+        /**
21
+         * @TODO for real bundle, create an user service for use username provider
22
+         * $definition = $container->getDefinition('logipro_example.user.service');
23
+         * $definition->replaceArgument(0, $config['username_provider']);
24
+         */
25
+    }
26
+}

+ 107
- 0
Entity/Common/AbstractEntity.php View File

@@ -0,0 +1,107 @@
1
+<?php
2
+
3
+namespace Logipro\SCORMBundle\Entity\Common;
4
+
5
+use Doctrine\Common\Persistence\ObjectManagerAware;
6
+use Doctrine\Common\Persistence\ObjectManager;
7
+use Doctrine\Common\Persistence\Mapping\ClassMetadata;
8
+use Doctrine\ORM\EntityManager;
9
+
10
+/**
11
+ * Entité de base abstraite de Phoenix.
12
+ */
13
+abstract class AbstractEntity implements ObjectManagerAware
14
+{
15
+    /**
16
+     * @var EntityManager
17
+     */
18
+    protected $entityManager;
19
+
20
+    /**
21
+     * @var EntityExcuse[]
22
+     */
23
+    protected $excuses = array();
24
+
25
+    /**
26
+     *
27
+     * @param ObjectManager $objectManager
28
+     * @param ClassMetadata $classMetadata
29
+     */
30
+    public function injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata)
31
+    {
32
+        $this->entityManager = $objectManager;
33
+    }
34
+
35
+    /**
36
+     * Ajoute une excuse.
37
+     * @param string $message
38
+     * @param string $type
39
+     */
40
+    protected function addExcuse(string $message, ?string $type = null)
41
+    {
42
+        $this->excuses[] = new EntityExcuse($message, $type);
43
+    }
44
+
45
+    /**
46
+     * Efface toute les excuses.
47
+     */
48
+    public function clearExcuses()
49
+    {
50
+        $this->excuses = array();
51
+    }
52
+
53
+    /**
54
+     * Retourne le message de la dernière excuse produite ou null si aucune.
55
+     * @param string $type
56
+     * @return string|null
57
+     */
58
+    public function getLastExcuseMessage(?string $type = null)
59
+    {
60
+        //@TODO Implémenter le filtre par type
61
+
62
+        $lastExcuse = end($this->excuses);
63
+        if ($lastExcuse) {
64
+            return $lastExcuse->getMessage();
65
+        }
66
+
67
+        return null;
68
+    }
69
+
70
+    /**
71
+     * Retourne si l'entité est supprimable.
72
+     * @return boolean
73
+     */
74
+    public function isDeletable(): bool
75
+    {
76
+        return true;
77
+    }
78
+
79
+    /**
80
+     * test si la value est présent dans le type
81
+     * @return bool
82
+     */
83
+    protected function isEnumValueValid($type, $value) : bool
84
+    {
85
+        $class = '\\logipro\\Phoenix\\Entity\\Type\\' . $type;
86
+        $options = $class::getFormChoices();
87
+        return array_search($value, $options);
88
+    }
89
+
90
+    
91
+    /**
92
+     * retourn l'id de l'objet
93
+     * @return void
94
+     */
95
+    public function getId()
96
+    {
97
+        $attributs = get_object_vars($this);
98
+
99
+        $idAttribut = null;
100
+        foreach ($attributs as $name => $attribut) {
101
+            if (strpos($name, 'Id') === strlen($name) - 2) {
102
+                $idAttribut = $name;
103
+            }
104
+        }
105
+        return $this->$idAttribut;
106
+    }
107
+}

+ 282
- 0
Entity/Course.php View File

@@ -0,0 +1,282 @@
1
+<?php
2
+namespace Logipro\SCORMBundle\Entity;
3
+
4
+use Doctrine\Common\Collections\Collection;
5
+use Doctrine\Common\Collections\ArrayCollection;
6
+use Logipro\SCORMBundle\Entity\Registration;
7
+use Logipro\SCORMBundle\Entity\MapCourseZipfile;
8
+
9
+/**
10
+ * Représente une activité dans le moteur SCORM.
11
+ */
12
+class Course
13
+{
14
+
15
+    const SCORM_2004    = 'scorm_2004';
16
+    const SCORM_12      = 'scorm_12';
17
+    
18
+    const VERSIONING_RULE_DEFAULT   = 'versioning_rule_default';
19
+    const VERSIONING_RULE_RESTART   = 'versioning_rule_restart';
20
+    
21
+    /**
22
+     *
23
+     * @var int
24
+     */
25
+    protected $courseId;
26
+
27
+    /**
28
+     *
29
+     * @var \DateTime
30
+     */
31
+    protected $creationDate;
32
+
33
+    /**
34
+     *
35
+     * @var \DateTime
36
+     */
37
+    protected $updateDate;
38
+
39
+    /**
40
+     *
41
+     * @var string
42
+     */
43
+    protected $type = self::SCORM_2004;
44
+    
45
+    /**
46
+     *
47
+     * @var int
48
+     */
49
+    protected $maxVersion = 1;
50
+    
51
+    /**
52
+     *
53
+     * @var string
54
+     */
55
+    protected $versionRule = self::VERSIONING_RULE_DEFAULT;
56
+
57
+    /**
58
+     *
59
+     * @var ArrayCollection
60
+     */
61
+    protected $registrations;
62
+
63
+    /**
64
+     *
65
+     * @var ArrayCollection
66
+     */
67
+    protected $mapCourseZipfiles;
68
+
69
+    /**
70
+     * Constructeur de track.
71
+     */
72
+    public function __construct(int $courseId)
73
+    {
74
+        $this->courseId = $courseId;
75
+        $this->registrations = new ArrayCollection();
76
+    }
77
+
78
+    /**
79
+     * Callback appelée avant la création de l'objet dans la base.
80
+     */
81
+    public function prePersist()
82
+    {
83
+        // Initialise des dates
84
+        $this->creationDate = new \DateTime('now');
85
+        $this->updateDate = new \DateTime('now');
86
+    }
87
+
88
+    /**
89
+     * Callback appelée avant l'update de l'objet dans la base.
90
+     */
91
+    public function preUpdate()
92
+    {
93
+        // Change la date de mise à jour
94
+        $this->updateDate = new \DateTime('now');
95
+    }
96
+
97
+    //GETTERS && SETTERS
98
+    
99
+    /**
100
+     * Get the value of courseId
101
+     *
102
+     * @return  int
103
+     */
104
+    public function getCourseId()
105
+    {
106
+        return $this->courseId;
107
+    }
108
+    
109
+    /**
110
+     * Get the value of creationDate
111
+     *
112
+     * @return  \DateTime
113
+     */
114
+    public function getCreationDate()
115
+    {
116
+        return $this->creationDate;
117
+    }
118
+    
119
+    /**
120
+     * Get the value of updateDate
121
+     *
122
+     * @return  \DateTime
123
+     */
124
+    public function getUpdateDate()
125
+    {
126
+        return $this->updateDate;
127
+    }
128
+
129
+    
130
+        /**
131
+     * Get the value of type
132
+     *
133
+     * @return  string
134
+     */
135
+    public function getType()
136
+    {
137
+        return $this->type;
138
+    }
139
+
140
+    /**
141
+     * Set the value of type
142
+     *
143
+     * @param  string  $type
144
+     *
145
+     * @return  self
146
+     */
147
+    public function setType(string $type)
148
+    {
149
+        $this->type = $type;
150
+
151
+        return $this;
152
+    }
153
+
154
+    /**
155
+     * Get the value of maxVersion
156
+     *
157
+     * @return  int
158
+     */
159
+    public function getMaxVersion()
160
+    {
161
+        return $this->maxVersion;
162
+    }
163
+
164
+    /**
165
+     * Set the value of maxVersion
166
+     *
167
+     * @param  int  $maxVersion
168
+     *
169
+     * @return  self
170
+     */
171
+    public function setMaxVersion(int $maxVersion)
172
+    {
173
+        $this->maxVersion = $maxVersion;
174
+
175
+        return $this;
176
+    }
177
+
178
+    /**
179
+     * Get the value of versionRule
180
+     *
181
+     * @return  string
182
+     */
183
+    public function getVersionRule()
184
+    {
185
+        return $this->versionRule;
186
+    }
187
+
188
+    /**
189
+     * Set the value of versionRule
190
+     *
191
+     * @param  string  $versionRule
192
+     *
193
+     * @return  self
194
+     */
195
+    public function setVersionRule(string $versionRule)
196
+    {
197
+        $this->versionRule = $versionRule;
198
+
199
+        return $this;
200
+    }
201
+
202
+    /**
203
+     * Get the value of registrations
204
+     *
205
+     * @return  array
206
+     */
207
+    public function getRegistrations():Collection
208
+    {
209
+        return $this->registrations;
210
+    }
211
+
212
+    /**
213
+     * Set the value of registrations
214
+     *
215
+     * @param  array  $registrations
216
+     *
217
+     * @return  self
218
+     */
219
+    public function setRegistrations(array $registrations)
220
+    {
221
+        $this->registrations = $registrations;
222
+
223
+        return $this;
224
+    }
225
+
226
+    /**
227
+     * Add MapCourseZipfile entity to collection (one to many).
228
+     *
229
+     * @param \Logipro\MoteurScorm\Entity\ScormEngine\MapCourseZipfile $mapCourseZipfile
230
+     * @return \Logipro\MoteurScorm\Entity\ScormEngine\Scorm2004Track
231
+     */
232
+    public function addMapCourseZipfile(MapCourseZipfile $mapCourseZipfile)
233
+    {
234
+        $this->mapCourseZipfiles[] = $mapCourseZipfile;
235
+
236
+        return $this;
237
+    }
238
+
239
+    /**
240
+     * Remove MapCourseZipfile entity from collection (one to many).
241
+     *
242
+     * @param \Logipro\MoteurScorm\Entity\ScormEngine\MapCourseZipfile $mapCourseZipfile
243
+     * @return \Logipro\MoteurScorm\Entity\ScormEngine\Scorm2004Track
244
+     */
245
+    public function removeMapCourseZipfile(MapCourseZipfile $mapCourseZipfile)
246
+    {
247
+        $this->mapCourseZipfiles->removeElement($mapCourseZipfile);
248
+
249
+        return $this;
250
+    }
251
+
252
+    /**
253
+     * Get MapCourseZipfile entity collection (one to many).
254
+     *
255
+     * @return \Doctrine\Common\Collections\Collection
256
+     */
257
+    public function getMapCourseZipfiles()
258
+    {
259
+        return $this->mapCourseZipfiles;
260
+    }
261
+/**
262
+ * renvoi le domscorm du paquet correspondant à la version
263
+ *
264
+ * @param integer $version
265
+ * @return DOMSCORM
266
+ */
267
+    public function getDOM(int $version) : DOMSCORM
268
+    {
269
+        $expression = new Comparison('version', '=', $version);
270
+        $critere = new Criteria();
271
+        $critere->where($expression);
272
+        $zips = $this->getMapCourseZipfiles()->matching($critere);
273
+        if ($zips->count() == 1) {
274
+            $mapZip = $zips->first();
275
+            $zip = $mapZip->getZipFile();
276
+            return $zip->getDOM();
277
+        } else {
278
+            throw new Exception('version must be unique in mapCourseZipfile');
279
+        }
280
+        return null;
281
+    }
282
+}

+ 301
- 0
Entity/Learner.php View File

@@ -0,0 +1,301 @@
1
+<?php
2
+namespace Logipro\SCORMBundle\Entity;
3
+
4
+use Doctrine\Common\Collections\ArrayCollection;
5
+use Doctrine\Common\Collections\Collection;
6
+use Logipro\SCORMBundle\Entity\Registration;
7
+use Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment;
8
+use Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004ObjectiveProgressInformation;
9
+use Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track;
10
+
11
+/**
12
+ * Représente un apprenant dans le moteur SCORM.
13
+ */
14
+class Learner
15
+{
16
+   
17
+    /**
18
+     *
19
+     * @var int
20
+     */
21
+    protected $learnerId;
22
+
23
+    /**
24
+     *
25
+     * @var \DateTime
26
+     */
27
+    protected $creationDate;
28
+
29
+    /**
30
+     *
31
+     * @var string
32
+     */
33
+    protected $familyName;
34
+    
35
+    /**
36
+     *
37
+     * @var string
38
+     */
39
+    protected $givenName;
40
+    
41
+    /**
42
+     *
43
+     * @var ArrayCollection
44
+     */
45
+    protected $registrations;
46
+
47
+    /**
48
+     *
49
+     * @var ArrayCollection
50
+     */
51
+    protected $scorm2004Comments;
52
+
53
+    /**
54
+     *
55
+     * @var ArrayCollection
56
+     */
57
+    protected $scorm2004ObjectiveProgressInformations;
58
+
59
+    /**
60
+     *
61
+     * @var ArrayCollection
62
+     */
63
+    protected $scorm2004Tracks;
64
+
65
+
66
+    /**
67
+     * Constructeur de track.
68
+     */
69
+    public function __construct()
70
+    {
71
+        $this->registrations = new ArrayCollection();
72
+        $this->scorm2004Comments = new ArrayCollection();
73
+        $this->scorm2004ObjectiveProgressInformations = new ArrayCollection();
74
+        $this->scorm2004Tracks = new ArrayCollection();
75
+    }
76
+
77
+    /**
78
+     * Callback appelée avant la création de l'objet dans la base.
79
+     */
80
+    public function prePersist()
81
+    {
82
+        // Initialise des dates
83
+        $this->creationDate = new \DateTime('now');
84
+    }
85
+
86
+    //GETTERS && SETTERS
87
+    
88
+    /**
89
+     * Get the value of learnerId
90
+     *
91
+     * @return int
92
+     */
93
+    public function getLearnerId()
94
+    {
95
+        return $this->learnerId;
96
+    }
97
+
98
+    /**
99
+     * Set the value of learnerId
100
+     *
101
+     * @param int $learnerId
102
+     *
103
+     * @return self
104
+     */
105
+    public function setLearnerId(int $learnerId)
106
+    {
107
+        $this->learnerId = $learnerId;
108
+
109
+        return $this;
110
+    }
111
+    
112
+    /**
113
+     * Get the value of creationDate
114
+     *
115
+     * @return \DateTime
116
+     */
117
+    public function getCreationDate()
118
+    {
119
+        return $this->creationDate;
120
+    }
121
+    
122
+    /**
123
+     * Get the value of familyName
124
+     *
125
+     * @return string
126
+     */
127
+    public function getFamilyName()
128
+    {
129
+        return $this->familyName;
130
+    }
131
+
132
+    /**
133
+     * Set the value of familyName
134
+     *
135
+     * @param string $familyName
136
+     *
137
+     * @return self
138
+     */
139
+    public function setFamilyName(string $familyName)
140
+    {
141
+        $this->familyName = $familyName;
142
+
143
+        return $this;
144
+    }
145
+
146
+    /**
147
+     * Get the value of givenName
148
+     *
149
+     * @return string
150
+     */
151
+    public function getGivenName()
152
+    {
153
+        return $this->givenName;
154
+    }
155
+
156
+    /**
157
+     * Set the value of givenName
158
+     *
159
+     * @param string $givenName
160
+     *
161
+     * @return self
162
+     */
163
+    public function setGivenName(string $givenName)
164
+    {
165
+        $this->givenName = $givenName;
166
+
167
+        return $this;
168
+    }
169
+
170
+    /**
171
+     * Get the value of registrations
172
+     *
173
+     * @return array
174
+     */
175
+    public function getRegistrations() : Collection
176
+    {
177
+        return $this->registrations;
178
+    }
179
+
180
+    /**
181
+     * Set the value of registrations
182
+     *
183
+     * @param array $registrations
184
+     *
185
+     * @return self
186
+     */
187
+    public function setRegistrations(array $registrations)
188
+    {
189
+        $this->registrations = $registrations;
190
+
191
+        return $this;
192
+    }
193
+
194
+    /**
195
+     * Add Scorm2004Comment entity to collection (one to many).
196
+     *
197
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment $scorm2004Comment
198
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
199
+     */
200
+    public function addScorm2004Comment(Scorm2004Comment $scorm2004Comment)
201
+    {
202
+        $this->scorm2004Comments[] = $scorm2004Comment;
203
+
204
+        return $this;
205
+    }
206
+
207
+    /**
208
+     * Remove Scorm2004Comment entity from collection (one to many).
209
+     *
210
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment $scorm2004Comment
211
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
212
+     */
213
+    public function removeScorm2004Comment(Scorm2004Comment $scorm2004Comment)
214
+    {
215
+        $this->scorm2004Comments->removeElement($scorm2004Comment);
216
+
217
+        return $this;
218
+    }
219
+
220
+    /**
221
+     * Get Scorm2004Comment entity collection (one to many).
222
+     *
223
+     * @return \Doctrine\Common\Collections\Collection
224
+     */
225
+    public function getScorm2004Comments()
226
+    {
227
+        return $this->scorm2004Comments;
228
+    }
229
+    
230
+    /**
231
+     * Add Scorm2004ObjectiveProgressInformation entity to collection (one to many).
232
+     *
233
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation
234
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
235
+     */
236
+    public function addScorm2004ObjectiveProgressInformation(Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation)
237
+    {
238
+        $this->scorm2004ObjectiveProgressInformations[] = $scorm2004ObjectiveProgressInformation;
239
+
240
+        return $this;
241
+    }
242
+
243
+    /**
244
+     * Remove Scorm2004ObjectiveProgressInformation entity from collection (one to many).
245
+     *
246
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation
247
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
248
+     */
249
+    public function removeScorm2004ObjectiveProgressInformation(Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation)
250
+    {
251
+        $this->scorm2004ObjectiveProgressInformations->removeElement($scorm2004ObjectiveProgressInformation);
252
+
253
+        return $this;
254
+    }
255
+
256
+    /**
257
+     * Get Scorm2004ObjectiveProgressInformation entity collection (one to many).
258
+     *
259
+     * @return \Doctrine\Common\Collections\Collection
260
+     */
261
+    public function getSScorm2004ObjectiveProgressInformations()
262
+    {
263
+        return $this->scorm2004ObjectiveProgressInformations;
264
+    }
265
+
266
+    /**
267
+     * Add Scorm2004Track entity to collection (one to many).
268
+     *
269
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
270
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
271
+     */
272
+    public function addScorm2004Track(Scorm2004Track $scorm2004Track)
273
+    {
274
+        $this->scorm2004Tracks[] = $scorm2004Track;
275
+
276
+        return $this;
277
+    }
278
+
279
+    /**
280
+     * Remove Scorm2004Track entity from collection (one to many).
281
+     *
282
+     * @paramce Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
283
+     * @returce Logipro\SCORMBundle\Entity\ScormEngine\Learner
284
+     */
285
+    public function removeScorm2004Track(Scorm2004Track $scorm2004Track)
286
+    {
287
+        $this->scorm2004Tracks->removeElement($scorm2004Track);
288
+
289
+        return $this;
290
+    }
291
+
292
+    /**
293
+     * Get Scorm2004Track entity collection (one to many).
294
+     *
295
+     * @return \Doctrine\Common\Collections\Collection
296
+     */
297
+    public function getScorm2004Tracks()
298
+    {
299
+        return $this->scorm2004Tracks;
300
+    }
301
+}

+ 143
- 0
Entity/MapCourseZipfile.php View File

@@ -0,0 +1,143 @@
1
+<?php
2
+
3
+namespace Logipro\SCORMBundle\Entity;
4
+
5
+use Logipro\SCORMBundle\Entity\Course;
6
+use Logipro\SCORMBundle\Entity\ZipFile;
7
+
8
+class MapCourseZipfile
9
+{
10
+     /**
11
+     *
12
+     * @var int
13
+     */
14
+    protected $mapCourseZipfileId;
15
+
16
+     /**
17
+     *
18
+     * @var \DateTime
19
+     */
20
+    protected $associationDate;
21
+
22
+     /**
23
+     *
24
+     * @var int
25
+     */
26
+    protected $version;
27
+
28
+     /**
29
+     *
30
+     * @var Course
31
+     */
32
+    protected $course;
33
+
34
+    /**
35
+     *
36
+     * @var ZipFile
37
+     */
38
+    protected $zipFile;
39
+
40
+
41
+    public function __construct()
42
+    {
43
+    }
44
+
45
+    /**
46
+     * Callback appelée avant la création de l'objet dans la base.
47
+     */
48
+    public function prePersist()
49
+    {
50
+        // Initialise des dates
51
+        $this->associationDate = new \DateTime('now');
52
+    }
53
+
54
+    /**
55
+     * Get the value of mapCourseZipfileId.
56
+     *
57
+     * @return integer
58
+     */
59
+    public function getMapCourseZipfileId()
60
+    {
61
+        return $this->mapCourseZipfileId;
62
+    }
63
+
64
+     /**
65
+     * Get the value of associationDate
66
+     *
67
+     * @return  \DateTime
68
+     */
69
+    public function associationDate()
70
+    {
71
+        return $this->associationDate;
72
+    }
73
+
74
+     /**
75
+     * Get the value of version
76
+     *
77
+     * @return  int
78
+     */
79
+    public function getVersion()
80
+    {
81
+        return $this->version;
82
+    }
83
+
84
+    /**
85
+     * Set the value of version
86
+     *
87
+     * @param  int  $version
88
+     *
89
+     * @return  self
90
+     */
91
+    public function setVersion(int $version)
92
+    {
93
+        $this->version = $version;
94
+
95
+        return $this;
96
+    }
97
+
98
+    /**
99
+     * Set Course entity (many to one).
100
+     *
101
+     * @param \Logipro\SCORMBundle\Entity\ScormEngine\Course $course
102
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\MapCourseZipfile
103
+     */
104
+    public function setCourse(Course $course = null)
105
+    {
106
+        $this->course = $course;
107
+
108
+        return $this;
109
+    }
110
+
111
+    /**
112
+     * Get Course entity (many to one).
113
+     *
114
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\Course
115
+     */
116
+    public function getCourse()
117
+    {
118
+        return $this->course;
119
+    }
120
+
121
+    /**
122
+     * Set ZipFile entity (many to one).
123
+     *
124
+     * @param \Logipro\SCORMBundle\Entity\ScormEngine\ZipFile $scorm2004Item
125
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\MapCourseZipfile
126
+     */
127
+    public function setZipFile(ZipFile $zipFile = null)
128
+    {
129
+        $this->zipFile = $zipFile;
130
+
131
+        return $this;
132
+    }
133
+
134
+    /**
135
+     * Get ZipFile entity (many to one).
136
+     *
137
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\ZipFile
138
+     */
139
+    public function getZipFile()
140
+    {
141
+        return $this->zipFile;
142
+    }
143
+}

+ 57
- 0
Entity/Product.php View File

@@ -0,0 +1,57 @@
1
+<?php
2
+
3
+namespace Logipro\SCORMBundle\Entity;
4
+
5
+use Doctrine\ORM\Mapping as ORM;
6
+
7
+/**
8
+ * @ORM\Entity(repositoryClass="Logipro\SCORMBundle\Repository\ProductRepository")
9
+ */
10
+class Product
11
+{
12
+    /**
13
+     * @ORM\Id()
14
+     * @ORM\GeneratedValue()
15
+     * @ORM\Column(type="integer")
16
+     */
17
+    private $id;
18
+
19
+    /**
20
+     * @ORM\Column(type="string", length=255)
21
+     */
22
+    private $name;
23
+
24
+    /**
25
+     * @ORM\Column(type="integer")
26
+     */
27
+    private $price;
28
+
29
+    public function getId(): ?int
30
+    {
31
+        return $this->id;
32
+    }
33
+
34
+    public function getName(): ?string
35
+    {
36
+        return $this->name;
37
+    }
38
+
39
+    public function setName(string $name): self
40
+    {
41
+        $this->name = $name;
42
+
43
+        return $this;
44
+    }
45
+
46
+    public function getPrice(): ?int
47
+    {
48
+        return $this->price;
49
+    }
50
+
51
+    public function setPrice(int $price): self
52
+    {
53
+        $this->price = $price;
54
+
55
+        return $this;
56
+    }
57
+}

+ 269
- 0
Entity/Registration.php View File

@@ -0,0 +1,269 @@
1
+<?php
2
+namespace Logipro\SCORMBundle\Entity;
3
+
4
+use Logipro\SCORMBundle\Entity\Course;
5
+use Logipro\SCORMBundle\Entity\Learner;
6
+use Doctrine\Common\Collections\ArrayCollection;
7
+use Doctrine\Common\Collections\Collection;
8
+
9
+/**
10
+ * Représente une inscription dans le moteur SCORM (liaison entre l'apprenant et l'activité)
11
+ */
12
+class Registration
13
+{
14
+    
15
+    /**
16
+     *
17
+     * @var int
18
+     */
19
+    protected $registrationId;
20
+
21
+    /**
22
+     *
23
+     * @var \DateTime
24
+     */
25
+    protected $creationDate;
26
+
27
+    /**
28
+     *
29
+     * @var \DateTime
30
+     */
31
+    protected $updateDate;
32
+
33
+    /**
34
+     *
35
+     * @var Course
36
+     */
37
+    protected $course;
38
+
39
+    /**
40
+     *
41
+     * @var Learner
42
+     */
43
+    protected $learner;
44
+
45
+    /**
46
+     *
47
+     * @var ArrayCollection
48
+     */
49
+    protected $registrationAttempts;
50
+
51
+
52
+    /**
53
+     * Constructeur de track.
54
+     */
55
+    public function __construct()
56
+    {
57
+        $this->registrationAttempts = new ArrayCollection();
58
+    }
59
+
60
+    /**
61
+     * Callback appelée avant la création de l'objet dans la base.
62
+     */
63
+    public function prePersist()
64
+    {
65
+        // Initialise des dates
66
+        $this->creationDate = new \DateTime('now');
67
+        $this->updateDate = new \DateTime('now');
68
+    }
69
+
70
+    /**
71
+     * Callback appelée avant l'update de l'objet dans la base.
72
+     */
73
+    public function preUpdate()
74
+    {
75
+        // Change la date de mise à jour
76
+        $this->updateDate = new \DateTime('now');
77
+    }
78
+
79
+    //GETTERS && SETTERS
80
+    
81
+    /**
82
+     * Get the value of registrationId
83
+     *
84
+     * @return  int
85
+     */
86
+    public function getRegistrationId()
87
+    {
88
+        return $this->registrationId;
89
+    }
90
+
91
+    /**
92
+     * Set the value of registrationId
93
+     *
94
+     * @param  int  $registrationId
95
+     *
96
+     * @return  self
97
+     */
98
+    public function setRegistrationId(int $registrationId)
99
+    {
100
+        $this->registrationId = $registrationId;
101
+
102
+        return $this;
103
+    }
104
+    
105
+    /**
106
+     * Get the value of creationDate
107
+     *
108
+     * @return  \DateTime
109
+     */
110
+    public function getCreationDate()
111
+    {
112
+        return $this->creationDate;
113
+    }
114
+    
115
+    /**
116
+     * Get the value of updateDate
117
+     *
118
+     * @return  \DateTime
119
+     */
120
+    public function getUpdateDate()
121
+    {
122
+        return $this->updateDate;
123
+    }
124
+
125
+    
126
+     /**
127
+     * Get the value of type
128
+     *
129
+     * @return  string
130
+     */
131
+    public function getType()
132
+    {
133
+        return $this->type;
134
+    }
135
+
136
+    /**
137
+     * Set the value of type
138
+     *
139
+     * @param  string  $type
140
+     *
141
+     * @return  self
142
+     */
143
+    public function setType(string $type)
144
+    {
145
+        $this->type = $type;
146
+
147
+        return $this;
148
+    }
149
+
150
+    /**
151
+     * Get the value of maxVersion
152
+     *
153
+     * @return  int
154
+     */
155
+    public function getMaxVersion()
156
+    {
157
+        return $this->maxVersion;
158
+    }
159
+
160
+    /**
161
+     * Set the value of maxVersion
162
+     *
163
+     * @param  int  $maxVersion
164
+     *
165
+     * @return  self
166
+     */
167
+    public function setMaxVersion(int $maxVersion)
168
+    {
169
+        $this->maxVersion = $maxVersion;
170
+
171
+        return $this;
172
+    }
173
+
174
+    /**
175
+     * Get the value of versionRule
176
+     *
177
+     * @return  string
178
+     */
179
+    public function getVersionRule()
180
+    {
181
+        return $this->versionRule;
182
+    }
183
+
184
+    /**
185
+     * Set the value of versionRule
186
+     *
187
+     * @param  string  $versionRule
188
+     *
189
+     * @return  self
190
+     */
191
+    public function setVersionRule(string $versionRule)
192
+    {
193
+        $this->versionRule = $versionRule;
194
+
195
+        return $this;
196
+    }
197
+
198
+    /**
199
+     * Get the value of course
200
+     *
201
+     * @return  Course
202
+     */
203
+    public function getCourse()
204
+    {
205
+        return $this->course;
206
+    }
207
+
208
+    /**
209
+     * Set the value of course
210
+     *
211
+     * @param  Course  $course
212
+     *
213
+     * @return  self
214
+     */
215
+    public function setCourse(Course $course)
216
+    {
217
+        $this->course = $course;
218
+
219
+        return $this;
220
+    }
221
+
222
+    /**
223
+     * Get the value of learner
224
+     *
225
+     * @return  Learner
226
+     */
227
+    public function getLearner()
228
+    {
229
+        return $this->learner;
230
+    }
231
+
232
+    /**
233
+     * Set the value of learner
234
+     *
235
+     * @param  Learner  $learner
236
+     *
237
+     * @return  self
238
+     */
239
+    public function setLearner(Learner $learner)
240
+    {
241
+        $this->learner = $learner;
242
+
243
+        return $this;
244
+    }
245
+
246
+    /**
247
+     * Get the value of registrationAttempts
248
+     *
249
+     * @return  array
250
+     */
251
+    public function getRegistrationAttempts():Collection
252
+    {
253
+        return $this->registrationAttempts;
254
+    }
255
+
256
+    /**
257
+     * Set the value of registrationAttempts
258
+     *
259
+     * @param  array  $registrationAttempts
260
+     *
261
+     * @return  self
262
+     */
263
+    public function setRegistrationAttempts(array $registrationAttempts)
264
+    {
265
+        $this->registrationAttempts = $registrationAttempts;
266
+
267
+        return $this;
268
+    }
269
+}

+ 216
- 0
Entity/RegistrationAttempt.php View File

@@ -0,0 +1,216 @@
1
+<?php
2
+namespace Logipro\SCORMBundle\Entity;
3
+
4
+use Logipro\SCORMBundle\Entity\Registration;
5
+use Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track;
6
+
7
+/**
8
+ * Représente une tentative pour une inscription donnée dans le moteur SCORM.
9
+ */
10
+class RegistrationAttempt
11
+{
12
+    
13
+    /**
14
+     *
15
+     * @var int
16
+     */
17
+    protected $registrationAttemptId;
18
+
19
+    /**
20
+     *
21
+     * @var \DateTime
22
+     */
23
+    protected $creationDate;
24
+
25
+    /**
26
+     *
27
+     * @var \DateTime
28
+     */
29
+    protected $updateDate;
30
+    
31
+    /**
32
+     *
33
+     * @var int
34
+     */
35
+    protected $courseVersion = 0;
36
+    
37
+    /**
38
+     *
39
+     * @var Registration
40
+     */
41
+    protected $registration;
42
+
43
+    /**
44
+     *
45
+     * @var ArrayCollection
46
+     */
47
+    protected $scorm2004Tracks;
48
+
49
+
50
+    /**
51
+     * Constructeur de track.
52
+     */
53
+    public function __construct()
54
+    {
55
+        $this->scorm2004Tracks = new ArrayCollection();
56
+    }
57
+
58
+    /**
59
+     * Callback appelée avant la création de l'objet dans la base.
60
+     */
61
+    public function prePersist()
62
+    {
63
+        // Initialise des dates
64
+        $this->creationDate = new \DateTime('now');
65
+        $this->updateDate = new \DateTime('now');
66
+    }
67
+
68
+    /**
69
+     * Callback appelée avant l'update de l'objet dans la base.
70
+     */
71
+    public function preUpdate()
72
+    {
73
+        // Change la date de mise à jour
74
+        $this->updateDate = new \DateTime('now');
75
+    }
76
+
77
+    //GETTERS && SETTERS
78
+    
79
+    /**
80
+     * Get the value of registrationAttemptId
81
+     *
82
+     * @return  int
83
+     */
84
+    public function getRegistrationAttemptId()
85
+    {
86
+        return $this->registrationAttemptId;
87
+    }
88
+
89
+    /**
90
+     * Set the value of registrationAttemptId
91
+     *
92
+     * @param  int  $registrationAttemptId
93
+     *
94
+     * @return  self
95
+     */
96
+    public function setRegistrationAttemptId(int $registrationAttemptId)
97
+    {
98
+        $this->registrationAttemptId = $registrationAttemptId;
99
+
100
+        return $this;
101
+    }
102
+    
103
+    /**
104
+     * Get the value of creationDate
105
+     *
106
+     * @return  \DateTime
107
+     */
108
+    public function getCreationDate()
109
+    {
110
+        return $this->creationDate;
111
+    }
112
+    
113
+    /**
114
+     * Get the value of updateDate
115
+     *
116
+     * @return  \DateTime
117
+     */
118
+    public function getUpdateDate()
119
+    {
120
+        return $this->updateDate;
121
+    }
122
+
123
+    /**
124
+     * Get the value of courseVersion
125
+     *
126
+     * @return  int
127
+     */
128
+    public function getCourseVersion()
129
+    {
130
+        return $this->courseVersion;
131
+    }
132
+
133
+    /**
134
+     * Set the value of courseVersion
135
+     *
136
+     * @param  int  $courseVersion
137
+     *
138
+     * @return  self
139
+     */
140
+    public function setCourseVersion(int $courseVersion)
141
+    {
142
+        $this->courseVersion = $courseVersion;
143
+
144
+        return $this;
145
+    }
146
+
147
+    /**
148
+     * Get the value of registration
149
+     *
150
+     * @return  Registration
151
+     */
152
+    public function getRegistration()
153
+    {
154
+        return $this->registration;
155
+    }
156
+
157
+    /**
158
+     * Set the value of registration
159
+     *
160
+     * @param  Registration  $registration
161
+     *
162
+     * @return  self
163
+     */
164
+    public function setRegistration(Registration $registration)
165
+    {
166
+        $this->registration = $registration;
167
+
168
+        return $this;
169
+    }
170
+
171
+    /**
172
+     * Add Scorm2004Track entity to collection (one to many).
173
+     *
174
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
175
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\RegistrationAttempt
176
+     */
177
+    public function addScorm2004Track(Scorm2004Track $scorm2004Track)
178
+    {
179
+        $this->scorm2004Tracks[] = $scorm2004Track;
180
+
181
+        return $this;
182
+    }
183
+
184
+    /**
185
+     * Remove Scorm2004Track entity from collection (one to many).
186
+     *
187
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
188
+     * @return \Logipro\SCORMBundle\Entity\ScormEngine\RegistrationAttempt
189
+     */
190
+    public function removeScorm2004Track(Scorm2004Track $scorm2004Track)
191
+    {
192
+        $this->scorm2004Tracks->removeElement($scorm2004Track);
193
+
194
+        return $this;
195
+    }
196
+
197
+    /**
198
+     * Get Scorm2004Track entity collection (one to many).
199
+     *
200
+     * @return \Doctrine\Common\Collections\Collection
201
+     */
202
+    public function getScorm2004Tracks()
203
+    {
204
+        return $this->scorm2004Tracks;
205
+    }
206
+
207
+    /**
208
+     * renvoi le DOM de cette tentative de registration
209
+     *
210
+     * @return DOMSCORM
211
+     */
212
+    public function getDOM() : DOMSCORM
213
+    {
214
+        return $this->getRegistration()->getCourse()->getDOM($this->getCourseVersion());
215
+    }
216
+}

+ 503
- 0
Entity/Scorm2004/Scorm2004AttemptProgressInformation.php View File

@@ -0,0 +1,503 @@
1
+<?php
2
+
3
+/**
4
+ * Auto generated by MySQL Workbench Schema Exporter.
5
+ * Version 3.0.3 (doctrine2-annotation) on 2019-03-29 09:07:35.
6
+ * Goto https://github.com/johmue/mysql-workbench-schema-exporter for more
7
+ * information.
8
+ */
9
+
10
+namespace Logipro\SCORMBundle\Entity\Scorm2004;
11
+
12
+use Doctrine\ORM\Mapping as ORM;
13
+use Doctrine\Common\Collections\ArrayCollection;
14
+
15
+/**
16
+ * Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
17
+ *
18
+ * @ORM\Entity(repositoryClass="Scorm2004AttemptProgressInformationRepository")
19
+ * @ORM\Table(name="sen_scorm2004_attempt_progress_information", indexes={@ORM\Index(name="FK_track", columns={"track_fk"}), @ORM\Index(name="FK_item", columns={"item_fk"})}, uniqueConstraints={@ORM\UniqueConstraint(name="attempt_id_UNIQUE", columns={"attempt_id"})})
20
+ */
21
+class Scorm2004AttemptProgressInformation
22
+{
23
+    /**
24
+     * @ORM\Id
25
+     * @ORM\Column(type="integer")
26
+     * @ORM\GeneratedValue(strategy="AUTO")
27
+     */
28
+    protected $attempt_id;
29
+
30
+    /**
31
+     * @ORM\Column(type="boolean")
32
+     */
33
+    protected $progress_status;
34
+
35
+    /**
36
+     * @ORM\Column(type="boolean")
37
+     */
38
+    protected $completion_status;
39
+
40
+    /**
41
+     * @ORM\Column(type="boolean")
42
+     */
43
+    protected $completion_amount_status;
44
+
45
+    /**
46
+     * @ORM\Column(type="decimal", precision=2, scale=1)
47
+     */
48
+    protected $completion_amount;
49
+
50
+    /**
51
+     * @ORM\Column(type="datetime")
52
+     */
53
+    protected $date_creation;
54
+
55
+    /**
56
+     * @ORM\Column(type="decimal", precision=10, scale=2)
57
+     */
58
+    protected $experienced_duration;
59
+
60
+    /**
61
+     * @ORM\Column(type="decimal", precision=10, scale=2)
62
+     */
63
+    protected $total_time;
64
+
65
+    /**
66
+     * @ORM\Column(type="decimal", precision=10, scale=2)
67
+     */
68
+    protected $absolute_duration;
69
+
70
+    /**
71
+     * @ORM\Column(type="boolean")
72
+     */
73
+    protected $satisfied_status;
74
+
75
+    /**
76
+     * @ORM\Column(type="boolean")
77
+     */
78
+    protected $measure_status;
79
+
80
+    /**
81
+     * @ORM\Column(type="text")
82
+     */
83
+    protected $suspend_data;
84
+   
85
+    /**
86
+     * lien vers l'item concerné
87
+     *
88
+     * @var [text]
89
+     */
90
+    protected $item_identifier;
91
+
92
+    /**
93
+     * @ORM\OneToMany(targetEntity="Scorm2004Interaction", mappedBy="scorm2004AttemptProgressInformation")
94
+     * @ORM\JoinColumn(name="attempt_id", referencedColumnName="attempt_fk", nullable=false)
95
+     */
96
+    protected $scorm2004Interactions;
97
+
98
+    /**
99
+     * @ORM\OneToMany(targetEntity="Scorm2004ObjectiveProgressInformation", mappedBy="scorm2004AttemptProgressInformation")
100
+     * @ORM\JoinColumn(name="attempt_id", referencedColumnName="attempt_fk", nullable=false)
101
+     */
102
+    protected $scorm2004ObjectiveProgressInformations;
103
+
104
+    /**
105
+     * @ORM\ManyToOne(targetEntity="Scorm2004Track", inversedBy="scorm2004AttemptProgressInformations")
106
+     * @ORM\JoinColumn(name="track_fk", referencedColumnName="track_id", nullable=false)
107
+     */
108
+    protected $scorm2004Track;
109
+
110
+    public function __construct()
111
+    {
112
+        $this->scorm2004Interactions = new ArrayCollection();
113
+        $this->scorm2004ObjectiveProgressInformations = new ArrayCollection();
114
+    }
115
+
116
+    /**
117
+     * Get the value of attempt_id.
118
+     *
119
+     * @return integer
120
+     */
121
+    public function getAttemptId()
122
+    {
123
+        return $this->attempt_id;
124
+    }
125
+
126
+    /**
127
+     * Set the value of progress_status.
128
+     *
129
+     * @param boolean $progress_status
130
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
131
+     */
132
+    public function setProgressStatus($progress_status)
133
+    {
134
+        $this->progress_status = $progress_status;
135
+
136
+        return $this;
137
+    }
138
+
139
+    /**
140
+     * Get the value of progress_status.
141
+     *
142
+     * @return boolean
143
+     */
144
+    public function getProgressStatus()
145
+    {
146
+        return $this->progress_status;
147
+    }
148
+
149
+    /**
150
+     * Set the value of completion_status.
151
+     *
152
+     * @param boolean $completion_status
153
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
154
+     */
155
+    public function setCompletionStatus($completion_status)
156
+    {
157
+        $this->completion_status = $completion_status;
158
+
159
+        return $this;
160
+    }
161
+
162
+    /**
163
+     * Get the value of completion_status.
164
+     *
165
+     * @return boolean
166
+     */
167
+    public function getCompletionStatus()
168
+    {
169
+        return $this->completion_status;
170
+    }
171
+
172
+    /**
173
+     * Set the value of completion_amount_status.
174
+     *
175
+     * @param boolean $completion_amount_status
176
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
177
+     */
178
+    public function setCompletionAmountStatus($completion_amount_status)
179
+    {
180
+        $this->completion_amount_status = $completion_amount_status;
181
+
182
+        return $this;
183
+    }
184
+
185
+    /**
186
+     * Get the value of completion_amount_status.
187
+     *
188
+     * @return boolean
189
+     */
190
+    public function getCompletionAmountStatus()
191
+    {
192
+        return $this->completion_amount_status;
193
+    }
194
+
195
+    /**
196
+     * Set the value of completion_amount.
197
+     *
198
+     * @param float $completion_amount
199
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
200
+     */
201
+    public function setCompletionAmount($completion_amount)
202
+    {
203
+        $this->completion_amount = $completion_amount;
204
+
205
+        return $this;
206
+    }
207
+
208
+    /**
209
+     * Get the value of completion_amount.
210
+     *
211
+     * @return float
212
+     */
213
+    public function getCompletionAmount()
214
+    {
215
+        return $this->completion_amount;
216
+    }
217
+
218
+    /**
219
+     * Set the value of date_creation.
220
+     *
221
+     * @param \DateTime $date_creation
222
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
223
+     */
224
+    public function setDateCreation(\DateTime $date_creation)
225
+    {
226
+        $this->date_creation = $date_creation;
227
+
228
+        return $this;
229
+    }
230
+
231
+    /**
232
+     * Get the value of date_creation.
233
+     *
234
+     * @return \DateTime
235
+     */
236
+    public function getDateCreation()
237
+    {
238
+        return $this->date_creation;
239
+    }
240
+
241
+    /**
242
+     * Set the value of experienced_duration.
243
+     *
244
+     * @param float $experienced_duration
245
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
246
+     */
247
+    public function setExperiencedDuration($experienced_duration)
248
+    {
249
+        $this->experienced_duration = $experienced_duration;
250
+
251
+        return $this;
252
+    }
253
+
254
+    /**
255
+     * Get the value of experienced_duration.
256
+     *
257
+     * @return float
258
+     */
259
+    public function getExperiencedDuration()
260
+    {
261
+        return $this->experienced_duration;
262
+    }
263
+
264
+    /**
265
+     * Set the value of total_time.
266
+     *
267
+     * @param float $total_time
268
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
269
+     */
270
+    public function setTotalTime($total_time)
271
+    {
272
+        $this->total_time = $total_time;
273
+
274
+        return $this;
275
+    }
276
+
277
+    /**
278
+     * Get the value of total_time.
279
+     *
280
+     * @return float
281
+     */
282
+    public function getTotalTime()
283
+    {
284
+        return $this->total_time;
285
+    }
286
+
287
+    /**
288
+     * Set the value of absolute_duration.
289
+     *
290
+     * @param float $absolute_duration
291
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
292
+     */
293
+    public function setAbsoluteDuration($absolute_duration)
294
+    {
295
+        $this->absolute_duration = $absolute_duration;
296
+
297
+        return $this;
298
+    }
299
+
300
+    /**
301
+     * Get the value of absolute_duration.
302
+     *
303
+     * @return float
304
+     */
305
+    public function getAbsoluteDuration()
306
+    {
307
+        return $this->absolute_duration;
308
+    }
309
+
310
+    /**
311
+     * Set the value of satisfied_status.
312
+     *
313
+     * @param boolean $satisfied_status
314
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
315
+     */
316
+    public function setSatisfiedStatus($satisfied_status)
317
+    {
318
+        $this->satisfied_status = $satisfied_status;
319
+
320
+        return $this;
321
+    }
322
+
323
+    /**
324
+     * Get the value of satisfied_status.
325
+     *
326
+     * @return boolean
327
+     */
328
+    public function getSatisfiedStatus()
329
+    {
330
+        return $this->satisfied_status;
331
+    }
332
+
333
+    /**
334
+     * Set the value of measure_status.
335
+     *
336
+     * @param boolean $measure_status
337
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
338
+     */
339
+    public function setMeasureStatus($measure_status)
340
+    {
341
+        $this->measure_status = $measure_status;
342
+
343
+        return $this;
344
+    }
345
+
346
+    /**
347
+     * Get the value of measure_status.
348
+     *
349
+     * @return boolean
350
+     */
351
+    public function getMeasureStatus()
352
+    {
353
+        return $this->measure_status;
354
+    }
355
+
356
+    /**
357
+     * Set the value of suspend_data.
358
+     *
359
+     * @param string $suspend_data
360
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
361
+     */
362
+    public function setSuspendData($suspend_data)
363
+    {
364
+        $this->suspend_data = $suspend_data;
365
+
366
+        return $this;
367
+    }
368
+
369
+    /**
370
+     * Get the value of suspend_data.
371
+     *
372
+     * @return string
373
+     */
374
+    public function getSuspendData()
375
+    {
376
+        return $this->suspend_data;
377
+    }
378
+
379
+    /**
380
+     * Set the value of item_identifier.
381
+     *
382
+     * @param string $item_identifier
383
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
384
+     */
385
+    public function setItemIdentifier($item_identifier)
386
+    {
387
+        $this->item_identifier = $item_identifier;
388
+
389
+        return $this;
390
+    }
391
+
392
+    /**
393
+     * Get the value of item_identifier.
394
+     *
395
+     * @return string
396
+     */
397
+    public function getItemIdentifier()
398
+    {
399
+        return $this->item_identifier;
400
+    }
401
+
402
+    /**
403
+     * Add Scorm2004Interaction entity to collection (one to many).
404
+     *
405
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction $scorm2004Interaction
406
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
407
+     */
408
+    public function addScorm2004Interaction(Scorm2004Interaction $scorm2004Interaction)
409
+    {
410
+        $this->scorm2004Interactions[] = $scorm2004Interaction;
411
+
412
+        return $this;
413
+    }
414
+
415
+    /**
416
+     * Remove Scorm2004Interaction entity from collection (one to many).
417
+     *
418
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction $scorm2004Interaction
419
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
420
+     */
421
+    public function removeScorm2004Interaction(Scorm2004Interaction $scorm2004Interaction)
422
+    {
423
+        $this->scorm2004Interactions->removeElement($scorm2004Interaction);
424
+
425
+        return $this;
426
+    }
427
+
428
+    /**
429
+     * Get Scorm2004Interaction entity collection (one to many).
430
+     *
431
+     * @return \Doctrine\Common\Collections\Collection
432
+     */
433
+    public function getScorm2004Interactions()
434
+    {
435
+        return $this->scorm2004Interactions;
436
+    }
437
+
438
+    /**
439
+     * Add Scorm2004ObjectiveProgressInformation entity to collection (one to many).
440
+     *
441
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation
442
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
443
+     */
444
+    public function addScorm2004ObjectiveProgressInformation(Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation)
445
+    {
446
+        $this->scorm2004ObjectiveProgressInformations[] = $scorm2004ObjectiveProgressInformation;
447
+
448
+        return $this;
449
+    }
450
+
451
+    /**
452
+     * Remove Scorm2004ObjectiveProgressInformation entity from collection (one to many).
453
+     *
454
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation
455
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
456
+     */
457
+    public function removeScorm2004ObjectiveProgressInformation(Scorm2004ObjectiveProgressInformation $scorm2004ObjectiveProgressInformation)
458
+    {
459
+        $this->scorm2004ObjectiveProgressInformations->removeElement($scorm2004ObjectiveProgressInformation);
460
+
461
+        return $this;
462
+    }
463
+
464
+    /**
465
+     * Get Scorm2004ObjectiveProgressInformation entity collection (one to many).
466
+     *
467
+     * @return \Doctrine\Common\Collections\Collection
468
+     */
469
+    public function getScorm2004ObjectiveProgressInformations()
470
+    {
471
+        return $this->scorm2004ObjectiveProgressInformations;
472
+    }
473
+
474
+    /**
475
+     * Set Scorm2004Track entity (many to one).
476
+     *
477
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
478
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
479
+     */
480
+    public function setScorm2004Track(Scorm2004Track $scorm2004Track = null)
481
+    {
482
+        $this->scorm2004Track = $scorm2004Track;
483
+
484
+        return $this;
485
+    }
486
+
487
+    /**
488
+     * Get Scorm2004Track entity (many to one).
489
+     *
490
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track
491
+     */
492
+    public function getScorm2004Track()
493
+    {
494
+        return $this->scorm2004Track;
495
+    }
496
+
497
+
498
+    public function __sleep()
499
+    {
500
+        return array('attempt_id', 'track_fk', 'progress_status', 'completion_status', 'completion_amount_status', 'completion_amount', 'date_creation', 'experienced_duration',
501
+            'total_time', 'absolute_duration', 'satisfied_status', 'measure_status', 'suspend_data', 'item_identifier');
502
+    }
503
+}

+ 180
- 0
Entity/Scorm2004/Scorm2004Comment.php View File

@@ -0,0 +1,180 @@
1
+<?php
2
+
3
+/**
4
+ * Auto generated by MySQL Workbench Schema Exporter.
5
+ * Version 3.0.3 (doctrine2-annotation) on 2019-03-29 09:07:35.
6
+ * Goto https://github.com/johmue/mysql-workbench-schema-exporter for more
7
+ * information.
8
+ */
9
+
10
+namespace Logipro\SCORMBundle\Entity\Scorm2004;
11
+
12
+use Doctrine\ORM\Mapping as ORM;
13
+use Logipro\SCORMBundle\Entity\Learner;
14
+
15
+/**
16
+ * Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
17
+ *
18
+ * @ORM\Entity(repositoryClass="Scorm2004CommentRepository")
19
+ * @ORM\Table(name="sen_scorm2004_comment", indexes={@ORM\Index(name="fk_resource", columns={"resource_fk"})})
20
+ */
21
+class Scorm2004Comment
22
+{
23
+    /**
24
+     * @ORM\Id
25
+     * @ORM\Column(type="integer")
26
+     */
27
+    protected $comment_id;
28
+
29
+    /**
30
+     * @ORM\Column(name="`comment`", type="text")
31
+     */
32
+    protected $comment;
33
+
34
+    /**
35
+     * @ORM\Column(name="`timestamp`", type="time")
36
+     */
37
+    protected $timestamp;
38
+
39
+    /**
40
+     * @ORM\Column(name="`location`", type="text")
41
+     */
42
+    protected $location;
43
+    /**
44
+     * ressource à laquelle est liée le commentaire
45
+     *
46
+     * @var [text]
47
+     */
48
+    protected $resource_identifier;
49
+
50
+    /**
51
+     * @ORM\ManyToOne(targetEntity="Learner", inversedBy="scorm2004Comments")
52
+     * @ORM\JoinColumn(name="owner_fk", referencedColumnName="learner_id")
53
+     */
54
+    protected $learner;
55
+
56
+    public function __construct()
57
+    {
58
+    }
59
+
60
+    /**
61
+     * Set the value of comment_id.
62
+     *
63
+     * @param integer $comment_id
64
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
65
+     */
66
+    public function setCommentId($comment_id)
67
+    {
68
+        $this->comment_id = $comment_id;
69
+
70
+        return $this;
71
+    }
72
+
73
+    /**
74
+     * Get the value of comment_id.
75
+     *
76
+     * @return integer
77
+     */
78
+    public function getCommentId()
79
+    {
80
+        return $this->comment_id;
81
+    }
82
+
83
+    /**
84
+     * Set the value of comment.
85
+     *
86
+     * @param string $comment
87
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
88
+     */
89
+    public function setComment($comment)
90
+    {
91
+        $this->comment = $comment;
92
+
93
+        return $this;
94
+    }
95
+
96
+    /**
97
+     * Get the value of comment.
98
+     *
99
+     * @return string
100
+     */
101
+    public function getComment()
102
+    {
103
+        return $this->comment;
104
+    }
105
+
106
+    /**
107
+     * Set the value of timestamp.
108
+     *
109
+     * @param \DateTime $timestamp
110
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
111
+     */
112
+    public function setTimestamp(\DateTime $timestamp)
113
+    {
114
+        $this->timestamp = $timestamp;
115
+
116
+        return $this;
117
+    }
118
+
119
+    /**
120
+     * Get the value of timestamp.
121
+     *
122
+     * @return \DateTime
123
+     */
124
+    public function getTimestamp()
125
+    {
126
+        return $this->timestamp;
127
+    }
128
+
129
+    /**
130
+     * Set the value of location.
131
+     *
132
+     * @param string $location
133
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
134
+     */
135
+    public function setLocation($location)
136
+    {
137
+        $this->location = $location;
138
+
139
+        return $this;
140
+    }
141
+
142
+    /**
143
+     * Get the value of location.
144
+     *
145
+     * @return string
146
+     */
147
+    public function getLocation()
148
+    {
149
+        return $this->location;
150
+    }
151
+
152
+
153
+    /**
154
+     * Set Learner entity (many to one).
155
+     *
156
+     * @param \Logipro\SCORMBundle\Entity\Learner $learner
157
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Comment
158
+     */
159
+    public function setLearner(Learner $learner)
160
+    {
161
+        $this->Learner = $learner;
162
+
163
+        return $this;
164
+    }
165
+
166
+    /**
167
+     * Get Learner entity (many to one).
168
+     *
169
+     * @return \Logipro\SCORMBundle\Entity\Learner
170
+     */
171
+    public function getLearner()
172
+    {
173
+        return $this->learner;
174
+    }
175
+
176
+    public function __sleep()
177
+    {
178
+        return array('comment_id', 'owner_fk', 'comment', 'timestamp', 'location', 'resource_identifier');
179
+    }
180
+}

+ 429
- 0
Entity/Scorm2004/Scorm2004Interaction.php View File

@@ -0,0 +1,429 @@
1
+<?php
2
+
3
+/**
4
+ * Auto generated by MySQL Workbench Schema Exporter.
5
+ * Version 3.0.3 (doctrine2-annotation) on 2019-03-29 09:07:35.
6
+ * Goto https://github.com/johmue/mysql-workbench-schema-exporter for more
7
+ * information.
8
+ */
9
+
10
+namespace Logipro\SCORMBundle\Entity\Scorm2004;
11
+
12
+use Doctrine\ORM\Mapping as ORM;
13
+
14
+/**
15
+ * Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
16
+ *
17
+ * @ORM\Entity(repositoryClass="Scorm2004InteractionRepository")
18
+ * @ORM\Table(name="sen_scorm2004_interaction", indexes={@ORM\Index(name="FK_track", columns={"track_fk"}), @ORM\Index(name="FK_attempt", columns={"attempt_fk"}), @ORM\Index(name="FK_item", columns={"item_fk"}), @ORM\Index(name="INDEX_identifier", columns={"identifier"})}, uniqueConstraints={@ORM\UniqueConstraint(name="interaction_id_UNIQUE", columns={"interaction_id"})})
19
+ */
20
+class Scorm2004Interaction
21
+{
22
+    /**
23
+     * @ORM\Id
24
+     * @ORM\Column(type="integer")
25
+     * @ORM\GeneratedValue(strategy="AUTO")
26
+     */
27
+    protected $interaction_id;
28
+
29
+    /**
30
+     * @ORM\Column(type="datetime")
31
+     */
32
+    protected $date_creation;
33
+
34
+    /**
35
+     * @ORM\Column(type="string", length=255)
36
+     */
37
+    protected $identifier;
38
+
39
+    /**
40
+     * @ORM\Column(name="`type`", type="string", length=50)
41
+     */
42
+    protected $type;
43
+
44
+    /**
45
+     * @ORM\Column(type="float")
46
+     */
47
+    protected $weighting;
48
+
49
+    /**
50
+     * @ORM\Column(name="`result`", type="string", length=50)
51
+     */
52
+    protected $result;
53
+
54
+    /**
55
+     * @ORM\Column(type="text")
56
+     */
57
+    protected $description;
58
+
59
+    /**
60
+     * @ORM\Column(type="text")
61
+     */
62
+    protected $student_response;
63
+
64
+    /**
65
+     * @ORM\Column(type="text")
66
+     */
67
+    protected $correct_responses;
68
+
69
+    /**
70
+     * @ORM\Column(name="`time`", type="time")
71
+     */
72
+    protected $time;
73
+
74
+    /**
75
+     * @ORM\Column(type="time")
76
+     */
77
+    protected $latency;
78
+
79
+    /**
80
+     * item auquel est lié l'interaction
81
+     *
82
+     * @var [text]
83
+     */
84
+    protected $item_identifier;
85
+
86
+    /**
87
+     * @ORM\ManyToOne(targetEntity="Scorm2004Track", inversedBy="scorm2004Interactions")
88
+     * @ORM\JoinColumn(name="track_fk", referencedColumnName="track_id", nullable=false)
89
+     */
90
+    protected $scorm2004Track;
91
+
92
+    /**
93
+     * @ORM\ManyToOne(targetEntity="Scorm2004AttemptProgressInformation", inversedBy="scorm2004Interactions")
94
+     * @ORM\JoinColumn(name="attempt_fk", referencedColumnName="attempt_id", nullable=false)
95
+     */
96
+    protected $scorm2004AttemptProgressInformation;
97
+
98
+
99
+    public function __construct()
100
+    {
101
+    }
102
+
103
+    /**
104
+     * Set the value of interaction_id.
105
+     *
106
+     * @param integer $interaction_id
107
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
108
+     */
109
+    public function setInteractionId($interaction_id)
110
+    {
111
+        $this->interaction_id = $interaction_id;
112
+
113
+        return $this;
114
+    }
115
+
116
+    /**
117
+     * Get the value of interaction_id.
118
+     *
119
+     * @return integer
120
+     */
121
+    public function getInteractionId()
122
+    {
123
+        return $this->interaction_id;
124
+    }
125
+
126
+    /**
127
+     * Set the value of date_creation.
128
+     *
129
+     * @param \DateTime $date_creation
130
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
131
+     */
132
+    public function setDateCreation(\DateTime $date_creation)
133
+    {
134
+        $this->date_creation = $date_creation;
135
+
136
+        return $this;
137
+    }
138
+
139
+    /**
140
+     * Get the value of date_creation.
141
+     *
142
+     * @return \DateTime
143
+     */
144
+    public function getDateCreation()
145
+    {
146
+        return $this->date_creation;
147
+    }
148
+
149
+    /**
150
+     * Set the value of identifier.
151
+     *
152
+     * @param string $identifier
153
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
154
+     */
155
+    public function setIdentifier($identifier)
156
+    {
157
+        $this->identifier = $identifier;
158
+
159
+        return $this;
160
+    }
161
+
162
+    /**
163
+     * Get the value of identifier.
164
+     *
165
+     * @return string
166
+     */
167
+    public function getIdentifier()
168
+    {
169
+        return $this->identifier;
170
+    }
171
+
172
+    /**
173
+     * Set the value of type.
174
+     *
175
+     * @param string $type
176
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
177
+     */
178
+    public function setType($type)
179
+    {
180
+        $this->type = $type;
181
+
182
+        return $this;
183
+    }
184
+
185
+    /**
186
+     * Get the value of type.
187
+     *
188
+     * @return string
189
+     */
190
+    public function getType()
191
+    {
192
+        return $this->type;
193
+    }
194
+
195
+    /**
196
+     * Set the value of weighting.
197
+     *
198
+     * @param float $weighting
199
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
200
+     */
201
+    public function setWeighting($weighting)
202
+    {
203
+        $this->weighting = $weighting;
204
+
205
+        return $this;
206
+    }
207
+
208
+    /**
209
+     * Get the value of weighting.
210
+     *
211
+     * @return float
212
+     */
213
+    public function getWeighting()
214
+    {
215
+        return $this->weighting;
216
+    }
217
+
218
+    /**
219
+     * Set the value of result.
220
+     *
221
+     * @param string $result
222
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
223
+     */
224
+    public function setResult($result)
225
+    {
226
+        $this->result = $result;
227
+
228
+        return $this;
229
+    }
230
+
231
+    /**
232
+     * Get the value of result.
233
+     *
234
+     * @return string
235
+     */
236
+    public function getResult()
237
+    {
238
+        return $this->result;
239
+    }
240
+
241
+    /**
242
+     * Set the value of description.
243
+     *
244
+     * @param string $description
245
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
246
+     */
247
+    public function setDescription($description)
248
+    {
249
+        $this->description = $description;
250
+
251
+        return $this;
252
+    }
253
+
254
+    /**
255
+     * Get the value of description.
256
+     *
257
+     * @return string
258
+     */
259
+    public function getDescription()
260
+    {
261
+        return $this->description;
262
+    }
263
+
264
+    /**
265
+     * Set the value of student_response.
266
+     *
267
+     * @param string $student_response
268
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
269
+     */
270
+    public function setStudentResponse($student_response)
271
+    {
272
+        $this->student_response = $student_response;
273
+
274
+        return $this;
275
+    }
276
+
277
+    /**
278
+     * Get the value of student_response.
279
+     *
280
+     * @return string
281
+     */
282
+    public function getStudentResponse()
283
+    {
284
+        return $this->student_response;
285
+    }
286
+
287
+    /**
288
+     * Set the value of correct_responses.
289
+     *
290
+     * @param string $correct_responses
291
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
292
+     */
293
+    public function setCorrectResponses($correct_responses)
294
+    {
295
+        $this->correct_responses = $correct_responses;
296
+
297
+        return $this;
298
+    }
299
+
300
+    /**
301
+     * Get the value of correct_responses.
302
+     *
303
+     * @return string
304
+     */
305
+    public function getCorrectResponses()
306
+    {
307
+        return $this->correct_responses;
308
+    }
309
+
310
+    /**
311
+     * Set the value of time.
312
+     *
313
+     * @param \DateTime $time
314
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
315
+     */
316
+    public function setTime(\DateTime $time)
317
+    {
318
+        $this->time = $time;
319
+
320
+        return $this;
321
+    }
322
+
323
+    /**
324
+     * Get the value of time.
325
+     *
326
+     * @return \DateTime
327
+     */
328
+    public function getTime()
329
+    {
330
+        return $this->time;
331
+    }
332
+
333
+    /**
334
+     * Set the value of latency.
335
+     *
336
+     * @param \DateTime $latency
337
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
338
+     */
339
+    public function setLatency(\DateTime $latency)
340
+    {
341
+        $this->latency = $latency;
342
+
343
+        return $this;
344
+    }
345
+
346
+    /**
347
+     * Get the value of latency.
348
+     *
349
+     * @return \DateTime
350
+     */
351
+    public function getLatency()
352
+    {
353
+        return $this->latency;
354
+    }
355
+
356
+    /**
357
+     * Set Scorm2004Track entity (many to one).
358
+     *
359
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track $scorm2004Track
360
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
361
+     */
362
+    public function setScorm2004Track(Scorm2004Track $scorm2004Track = null)
363
+    {
364
+        $this->scorm2004Track = $scorm2004Track;
365
+
366
+        return $this;
367
+    }
368
+
369
+    /**
370
+     * Get Scorm2004Track entity (many to one).
371
+     *
372
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Track
373
+     */
374
+    public function getScorm2004Track()
375
+    {
376
+        return $this->scorm2004Track;
377
+    }
378
+
379
+    /**
380
+     * Set Scorm2004AttemptProgressInformation entity (many to one).
381
+     *
382
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation $scorm2004AttemptProgressInformation
383
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
384
+     */
385
+    public function setScorm2004AttemptProgressInformation(Scorm2004AttemptProgressInformation $scorm2004AttemptProgressInformation = null)
386
+    {
387
+        $this->scorm2004AttemptProgressInformation = $scorm2004AttemptProgressInformation;
388
+
389
+        return $this;
390
+    }
391
+
392
+    /**
393
+     * Get Scorm2004AttemptProgressInformation entity (many to one).
394
+     *
395
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004AttemptProgressInformation
396
+     */
397
+    public function getScorm2004AttemptProgressInformation()
398
+    {
399
+        return $this->scorm2004AttemptProgressInformation;
400
+    }
401
+
402
+    /**
403
+     * Set Scorm2004Item entity (many to one).
404
+     *
405
+     * @param \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Item $scorm2004Item
406
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Interaction
407
+     */
408
+    public function setScorm2004Item(Scorm2004Item $scorm2004Item = null)
409
+    {
410
+        $this->scorm2004Item = $scorm2004Item;
411
+
412
+        return $this;
413
+    }
414
+
415
+    /**
416
+     * Get Scorm2004Item entity (many to one).
417
+     *
418
+     * @return \Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004Item
419
+     */
420
+    public function getScorm2004Item()
421
+    {
422
+        return $this->scorm2004Item;
423
+    }
424
+
425
+    public function __sleep()
426
+    {
427
+        return array('interaction_id', 'track_fk', 'attempt_fk', 'date_creation', 'identifier', 'type', 'weighting', 'result', 'description', 'student_response', 'correct_responses', 'time', 'latency');
428
+    }
429
+}

+ 631
- 0
Entity/Scorm2004/Scorm2004MapTrackItem.php View File

@@ -0,0 +1,631 @@
1
+<?php
2
+
3
+/**
4
+ * Auto generated by MySQL Workbench Schema Exporter.
5
+ * Version 3.0.3 (doctrine2-annotation) on 2019-03-29 09:07:35.
6
+ * Goto https://github.com/johmue/mysql-workbench-schema-exporter for more
7
+ * information.
8
+ */
9
+
10
+namespace Logipro\SCORMBundle\Entity\Scorm2004;
11
+
12
+use Doctrine\ORM\Mapping as ORM;
13
+
14
+/**
15
+ * Logipro\SCORMBundle\Entity\Scorm2004\Scorm2004MapTrackItem
16
+ *
17
+ * @ORM\Entity(repositoryClass="Scorm2004MapTrackItemRepository")
18
+ * @ORM\Table(name="sen_scorm2004_map_track_item", indexes={@ORM\Index(name="FK_track", columns={"track_fk"}), @ORM\Index(name="FK_item", columns={"item_fk"})})
19
+ */
20
+class Scorm2004MapTrackItem
21
+{
22
+    /**
23
+     * @ORM\Id
24
+     * @ORM\Column(type="integer")
25
+     */
26
+    protected $track_fk;
27
+
28
+    /**
29
+     * @ORM\Id
30
+     * @ORM\Column(type="integer")
31
+     */
32
+    protected $item_fk;
33
+
34
+    /**
35
+     * @ORM\Column(type="integer")
36
+     */
37
+    protected $available_order;
38
+
39
+    /**
40
+     * @ORM\Column(type="boolean")
41
+     */
42
+    protected $progress_status;
43
+
44
+    /**
45
+     * @ORM\Column(type="decimal", precision=10, scale=7)
46
+     */
47
+    protected $absolute_duration;
48
+
49
+    /**
50
+     * @ORM\Column(type="decimal", precision=10, scale=7)
51
+     */
52
+    protected $experienced_duration;
53
+
54
+    /**
55
+     * @ORM\Column(type="integer")
56
+     */
57
+    protected $attempt_count;
58
+
59
+    /**
60
+     * @ORM\Column(type="decimal", precision=10, scale=7)
61
+     */
62
+    protected $score_scaled;
63
+
64
+    /**
65
+     * @ORM\Column(type="decimal", precision=10, scale=7)
66
+     */
67
+    protected $score_raw;
68
+
69
+    /**
70
+     * @ORM\Column(type="decimal", precision=10, scale=7)
71
+     */
72
+    protected $score_min;
73
+
74
+    /**
75
+     * @ORM\Column(type="decimal", precision=10, scale=7)
76
+     */
77
+    protected $score_max;
78
+
79
+    /**
80
+     * @ORM\Column(type="decimal", precision=10, scale=7)
81
+     */
82
+    protected $learner_preference_audio_level;
83
+
84
+    /**
85
+     * @ORM\Column(type="string", length=4000)
86
+     */
87
+    protected $learner_preference_language;
88
+
89
+    /**
90
+     * @ORM\Column(type="decimal", precision=10, scale=7)
91
+     */