Actualización

This commit is contained in:
Xes
2025-04-10 12:36:07 +02:00
parent 1da7c3f3b9
commit 4aff98e77b
3147 changed files with 320647 additions and 0 deletions

View File

@@ -0,0 +1,255 @@
<?php
// For licensing terms, see /license.txt
namespace Chamilo\PluginBundle\Entity\H5pImport;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Class H5pImport.
*
* @ORM\Entity()
*
* @ORM\Table(name="plugin_h5p_import")
*/
class H5pImport
{
/**
* @var string
*
* @ORM\Column(name="path", type="text", nullable=false)
*/
protected $path;
/**
* @var string
*
* @ORM\Column(name="relative_path", type="text", nullable=false)
*/
protected $relativePath;
/**
* @var DateTime
*
* @Gedmo\Timestampable(on="create")
*
* @ORM\Column(name="created_at", type="datetime", nullable=false)
*/
protected $createdAt;
/**
* @var DateTime
*
* @Gedmo\Timestampable(on="update")
*
* @ORM\Column(name="modified_at", type="datetime", nullable=false)
*/
protected $modifiedAt;
/**
* @var int
*
* @ORM\Column(name="iid", type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue
*/
private $iid;
/**
* @var Course
*
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course")
*
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false)
*/
private $course;
/**
* @var Session|null
*
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Session")
*
* @ORM\JoinColumn(name="session_id", referencedColumnName="id")
*/
private $session;
/**
* @var string|null
*
* @ORM\Column(name="name", type="text", nullable=true)
*/
private $name;
/**
* @var string|null
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description;
/**
* @var Collection<int, H5pImportLibrary>
*
* @ORM\ManyToMany(targetEntity="H5pImportLibrary", mappedBy="h5pImports", cascade={"persist"})
*/
private $libraries;
/**
* @var H5pImportLibrary
*
* @ORM\ManyToOne(targetEntity="H5pImportLibrary")
*
* @ORM\JoinColumn(name="main_library_id", referencedColumnName="iid", onDelete="SET NULL")
*/
private $mainLibrary;
public function __construct()
{
$this->libraries = new ArrayCollection();
}
public function getIid(): int
{
return $this->iid;
}
public function setIid(int $iid): void
{
$this->iid = $iid;
}
public function getCourse(): Course
{
return $this->course;
}
public function setCourse(Course $course): H5pImport
{
$this->course = $course;
return $this;
}
public function getSession(): ?Session
{
return $this->session;
}
public function setSession(?Session $session): H5pImport
{
$this->session = $session;
return $this;
}
public function getName(): string
{
return $this->name;
}
public function setName(string $name): H5pImport
{
$this->name = $name;
return $this;
}
public function getPath(): string
{
return $this->path;
}
public function setPath(string $path): H5pImport
{
$this->path = $path;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): H5pImport
{
$this->description = $description;
return $this;
}
public function getRelativePath(): string
{
return $this->relativePath;
}
public function setRelativePath(string $relativePath): H5pImport
{
$this->relativePath = $relativePath;
return $this;
}
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
public function setCreatedAt(DateTime $createdAt): H5pImport
{
$this->createdAt = $createdAt;
return $this;
}
public function getModifiedAt(): DateTime
{
return $this->modifiedAt;
}
public function setModifiedAt(DateTime $modifiedAt): void
{
$this->modifiedAt = $modifiedAt;
}
public function addLibraries(H5pImportLibrary $library): self
{
$library->addH5pImport($this);
$this->libraries[] = $library;
return $this;
}
public function removeLibraries(H5pImportLibrary $library): self
{
$this->libraries->removeElement($library);
return $this;
}
public function getLibraries(): Collection
{
return $this->libraries;
}
public function setMainLibrary(H5pImportLibrary $library): self
{
$this->mainLibrary = $library;
return $this;
}
public function getMainLibrary(): ?H5pImportLibrary
{
return $this->mainLibrary;
}
}

View File

@@ -0,0 +1,383 @@
<?php
// For licensing terms, see /license.txt
namespace Chamilo\PluginBundle\Entity\H5pImport;
use Chamilo\CoreBundle\Entity\Course;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Class H5pImportLibrary.
*
* @ORM\Entity()
*
* @ORM\Table(name="plugin_h5p_import_library")
*/
class H5pImportLibrary extends EntityRepository
{
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="create")
*
* @ORM\Column(name="created_at", type="datetime", nullable=false)
*/
protected $createdAt;
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="update")
*
* @ORM\Column(name="modified_at", type="datetime", nullable=false)
*/
protected $modifiedAt;
/**
* @var int
*
* @ORM\Column(name="iid", type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue
*/
private $iid;
/**
* @ORM\Column(name="title", type="string", nullable=true)
*/
private $title;
/**
* @ORM\Column(name="machine_name", type="string")
*/
private $machineName;
/**
* @ORM\Column(name="major_version", type="integer")
*/
private $majorVersion;
/**
* @ORM\Column(name="minor_version", type="integer")
*/
private $minorVersion;
/**
* @ORM\Column(name="patch_version", type="integer")
*/
private $patchVersion;
/**
* @ORM\Column(name="runnable", type="integer", nullable=true)
*/
private $runnable;
/**
* @ORM\Column(name="embed_types", type="array", nullable=true)
*/
private $embedTypes;
/**
* @ORM\Column(name="preloaded_js" , type="array", nullable=true)
*/
private $preloadedJs;
/**
* @ORM\Column(name="preloaded_css", type="array", nullable=true)
*/
private $preloadedCss;
/**
* @ORM\Column(name="library_path", type="string", length=255)
*/
private $libraryPath;
/**
* @var Collection<int, H5pImport>
*
* @ORM\ManyToMany(targetEntity="H5pImport", inversedBy="libraries")
*
* @ORM\JoinTable(
* name="plugin_h5p_import_rel_libraries",
* joinColumns={@ORM\JoinColumn(name="h5p_import_library_id", referencedColumnName="iid", onDelete="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="h5p_import_id", referencedColumnName="iid", onDelete="CASCADE")}
* )
*/
private $h5pImports;
/**
* @var Course
*
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course")
*
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false)
*/
private $course;
public function __construct()
{
$this->h5pImports = new ArrayCollection();
}
public function getIid(): int
{
return $this->iid;
}
public function setIid(int $iid): H5pImportLibrary
{
$this->iid = $iid;
return $this;
}
public function getMachineName(): string
{
return $this->machineName;
}
public function setMachineName(string $machineName): H5pImportLibrary
{
$this->machineName = $machineName;
return $this;
}
public function getTitle(): string
{
return $this->title;
}
public function setTitle(string $title): H5pImportLibrary
{
$this->title = $title;
return $this;
}
public function getMajorVersion(): int
{
return $this->majorVersion;
}
public function setMajorVersion(int $majorVersion): H5pImportLibrary
{
$this->majorVersion = $majorVersion;
return $this;
}
public function getMinorVersion(): int
{
return $this->minorVersion;
}
public function setMinorVersion(int $minorVersion): H5pImportLibrary
{
$this->minorVersion = $minorVersion;
return $this;
}
public function getPatchVersion(): int
{
return $this->patchVersion;
}
public function setPatchVersion(int $patchVersion): H5pImportLibrary
{
$this->patchVersion = $patchVersion;
return $this;
}
public function getRunnable(): int
{
return $this->runnable;
}
public function setRunnable(?int $runnable): H5pImportLibrary
{
$this->runnable = $runnable;
return $this;
}
/**
* @return array
*/
public function getPreloadedJs(): ?array
{
return $this->preloadedJs;
}
public function setPreloadedJs(?array $preloadedJs): H5pImportLibrary
{
$this->preloadedJs = $preloadedJs;
return $this;
}
/**
* @return array
*/
public function getPreloadedCss(): ?array
{
return $this->preloadedCss;
}
public function setPreloadedCss(?array $preloadedCss): H5pImportLibrary
{
$this->preloadedCss = $preloadedCss;
return $this;
}
public function getEmbedTypes(): ?array
{
return $this->embedTypes;
}
public function setEmbedTypes(?array $embedTypes): H5pImportLibrary
{
$this->embedTypes = $embedTypes;
return $this;
}
public function getLibraryPath(): string
{
return $this->libraryPath;
}
public function setLibraryPath(string $libraryPath): H5pImportLibrary
{
$this->libraryPath = $libraryPath;
return $this;
}
public function addH5pImport(H5pImport $h5pImport): self
{
if (!$this->h5pImports->contains($h5pImport)) {
$this->h5pImports[] = $h5pImport;
}
return $this;
}
public function removeH5pImport(H5pImport $h5pImport): self
{
$this->h5pImports->removeElement($h5pImport);
return $this;
}
public function getH5pImports(): Collection
{
return $this->h5pImports;
}
public function getCourse(): Course
{
return $this->course;
}
public function setCourse(Course $course): self
{
$this->course = $course;
return $this;
}
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
public function setCreatedAt(DateTime $createdAt): H5pImportLibrary
{
$this->createdAt = $createdAt;
return $this;
}
public function getModifiedAt(): DateTime
{
return $this->modifiedAt;
}
public function setModifiedAt(DateTime $modifiedAt): H5pImportLibrary
{
$this->modifiedAt = $modifiedAt;
return $this;
}
public function getLibraryByMachineNameAndVersions(string $machineName, int $majorVersion, int $minorVersion)
{
if (
$this->machineName === $machineName
&& $this->majorVersion === $majorVersion
&& $this->minorVersion === $minorVersion
) {
return $this;
}
return false;
}
/**
* Get the preloaded JS array of the imported library formatted as a comma-separated string.
*
* @return string the preloaded JS array of the imported library formatted as a comma-separated string
*/
public function getPreloadedJsFormatted(): string
{
$formattedJs = [];
foreach ($this->preloadedJs as $value) {
if (is_string($value->path)) {
$formattedJs[] = $value->path;
}
}
return implode(',', $formattedJs);
}
/**
* Get the preloaded CSS array of the imported library formatted as a comma-separated string.
*
* @return string the preloaded CSS array of the imported library formatted as a comma-separated string
*/
public function getPreloadedCssFormatted(): string
{
$formattedJCss = [];
foreach ($this->preloadedCss as $value) {
if (is_string($value->path)) {
$formattedJCss[] = $value->path;
}
}
return implode(',', $formattedJCss);
}
/**
* Get the embed types array formatted as a comma-separated string.
*
* @return string the embed types array formatted as a comma-separated string
*/
public function getEmbedTypesFormatted(): string
{
return implode(',', $this->getEmbedTypes());
}
}

View File

@@ -0,0 +1,267 @@
<?php
namespace Chamilo\PluginBundle\Entity\H5pImport;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CourseBundle\Entity\CLpItemView;
use Chamilo\UserBundle\Entity\User;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Class H5pImportResults.
*
* @ORM\Entity()
*
* @ORM\Table(name="plugin_h5p_import_results")
*/
class H5pImportResults
{
/**
* @var int
*
* @ORM\Column(name="start_time", type="integer", nullable=false)
*/
protected $startTime;
/**
* @var int
*
* @ORM\Column(name="total_time", type="integer", nullable=false)
*/
protected $totalTime;
/**
* @var int
*
* @ORM\Column(name="iid", type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue
*/
private $iid;
/**
* @var int
*
* @ORM\Column(name="score", type="integer")
*/
private $score;
/**
* @var int
*
* @ORM\Column(name="max_score", type="integer")
*/
private $maxScore;
/**
* @var Course
*
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course")
*
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
private $course;
/**
* @var Session|null
*
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Session")
*
* @ORM\JoinColumn(name="session_id", referencedColumnName="id")
*/
private $session;
/**
* @var H5pImport
*
* @ORM\ManyToOne(targetEntity="Chamilo\PluginBundle\Entity\H5pImport\H5pImport")
*
* @ORM\JoinColumn(name="plugin_h5p_import_id", referencedColumnName="iid", nullable=false, onDelete="CASCADE")
*/
private $h5pImport;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User")
*
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
private $user;
/**
* @var CLpItemView
*
* @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CLpItemView")
*
* @ORM\JoinColumn(name="c_lp_item_view_id", referencedColumnName="iid", nullable=true, onDelete="CASCADE")
*/
private $cLpItemView;
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="create")
*
* @ORM\Column(name="created_at", type="datetime", nullable=false)
*/
private $createdAt;
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="update")
*
* @ORM\Column(name="modified_at", type="datetime", nullable=false)
*/
private $modifiedAt;
public function getIid(): int
{
return $this->iid;
}
public function setIid(int $iid): H5pImportResults
{
$this->iid = $iid;
return $this;
}
public function getScore(): int
{
return $this->score;
}
public function setScore(int $score): H5pImportResults
{
$this->score = $score;
return $this;
}
public function getMaxScore(): int
{
return $this->maxScore;
}
public function setMaxScore(int $maxScore): H5pImportResults
{
$this->maxScore = $maxScore;
return $this;
}
public function getCourse(): Course
{
return $this->course;
}
public function setCourse(Course $course): H5pImportResults
{
$this->course = $course;
return $this;
}
public function getSession(): ?Session
{
return $this->session;
}
public function setSession(?Session $session): H5pImportResults
{
$this->session = $session;
return $this;
}
public function getH5pImport(): H5pImport
{
return $this->h5pImport;
}
public function setH5pImport(H5pImport $h5pImport): H5pImportResults
{
$this->h5pImport = $h5pImport;
return $this;
}
public function getUser(): User
{
return $this->user;
}
public function setUser(User $user): H5pImportResults
{
$this->user = $user;
return $this;
}
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
public function getCLpItemView(): CLpItemView
{
return $this->cLpItemView;
}
public function setCLpItemView(CLpItemView $cLpItemView): H5pImportResults
{
$this->cLpItemView = $cLpItemView;
return $this;
}
public function getStartTime(): int
{
return $this->startTime;
}
public function setStartTime(int $startTime): H5pImportResults
{
$this->startTime = $startTime;
return $this;
}
public function getTotalTime(): int
{
return $this->totalTime;
}
public function setTotalTime(int $totalTime): H5pImportResults
{
$this->totalTime = $totalTime;
return $this;
}
public function setCreatedAt(DateTime $createdAt): H5pImportResults
{
$this->createdAt = $createdAt;
return $this;
}
public function getModifiedAt(): DateTime
{
return $this->modifiedAt;
}
public function setModifiedAt(DateTime $modifiedAt): H5pImportResults
{
$this->modifiedAt = $modifiedAt;
return $this;
}
}