Adding versioning support
parent
45386f7825
commit
c996a7b5ea
|
@ -102,7 +102,7 @@ interface H5PFrameworkInterface {
|
||||||
* @param int $contentMainId
|
* @param int $contentMainId
|
||||||
* Any contentMainId defined by the framework, for instance to support revisioning
|
* Any contentMainId defined by the framework, for instance to support revisioning
|
||||||
*/
|
*/
|
||||||
public function saveContentData($contentId, $contentJson, $mainJsonData, $contentMainId = NULL);
|
public function saveContentData($contentId, $contentJson, $mainJsonData, $mainLibraryId, $contentMainId = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copies content data
|
* Copies content data
|
||||||
|
@ -164,7 +164,6 @@ class H5PValidator {
|
||||||
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
||||||
'majorVersion' => '/^[0-9]{1,5}$/',
|
'majorVersion' => '/^[0-9]{1,5}$/',
|
||||||
'minorVersion' => '/^[0-9]{1,5}$/',
|
'minorVersion' => '/^[0-9]{1,5}$/',
|
||||||
'defaultStyles' => 'boolean',
|
|
||||||
),
|
),
|
||||||
'mainLibrary' => '/^[$a-z_][0-9a-z_\.$]{1,254}$/i',
|
'mainLibrary' => '/^[$a-z_][0-9a-z_\.$]{1,254}$/i',
|
||||||
'embedTypes' => array('iframe', 'div'),
|
'embedTypes' => array('iframe', 'div'),
|
||||||
|
@ -179,7 +178,6 @@ class H5PValidator {
|
||||||
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
||||||
'majorVersion' => '/^[0-9]{1,5}$/',
|
'majorVersion' => '/^[0-9]{1,5}$/',
|
||||||
'minorVersion' => '/^[0-9]{1,5}$/',
|
'minorVersion' => '/^[0-9]{1,5}$/',
|
||||||
'defaultStyles' => 'boolean',
|
|
||||||
),
|
),
|
||||||
'externalResources' => array(
|
'externalResources' => array(
|
||||||
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
'machineName' => '/^[\w0-9\-\.]{1,255}$/i',
|
||||||
|
@ -700,14 +698,15 @@ class H5PStorage {
|
||||||
$current_path = $this->h5pF->getUploadedH5pFolderPath() . DIRECTORY_SEPARATOR . 'content';
|
$current_path = $this->h5pF->getUploadedH5pFolderPath() . DIRECTORY_SEPARATOR . 'content';
|
||||||
$destination_path = $this->h5pF->getH5pPath() . DIRECTORY_SEPARATOR . 'content' . DIRECTORY_SEPARATOR . $contentId;
|
$destination_path = $this->h5pF->getH5pPath() . DIRECTORY_SEPARATOR . 'content' . DIRECTORY_SEPARATOR . $contentId;
|
||||||
rename($current_path, $destination_path);
|
rename($current_path, $destination_path);
|
||||||
|
|
||||||
$contentJson = file_get_contents($destination_path . DIRECTORY_SEPARATOR . 'content.json');
|
|
||||||
$this->h5pF->saveContentData($contentId, $contentJson, $this->h5pC->mainJsonData, $contentMainId);
|
|
||||||
|
|
||||||
$librariesInUse = array();
|
$librariesInUse = array();
|
||||||
$this->getLibraryUsage($librariesInUse, $this->h5pC->mainJsonData);
|
$this->getLibraryUsage($librariesInUse, $this->h5pC->mainJsonData);
|
||||||
$this->h5pF->saveLibraryUsage($contentId, $librariesInUse);
|
$this->h5pF->saveLibraryUsage($contentId, $librariesInUse);
|
||||||
$this->h5pC->delTree($this->h5pF->getUploadedH5pFolderPath());
|
$this->h5pC->delTree($this->h5pF->getUploadedH5pFolderPath());
|
||||||
|
|
||||||
|
$contentJson = file_get_contents($destination_path . DIRECTORY_SEPARATOR . 'content.json');
|
||||||
|
$mainLibraryId = $librariesInUse[$this->h5pC->mainJsonData['mainLibrary']]['library']['libraryId'];
|
||||||
|
$this->h5pF->saveContentData($contentId, $contentJson, $this->h5pC->mainJsonData, $mainLibraryId, $contentMainId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function deletePackage($contentId) {
|
public function deletePackage($contentId) {
|
||||||
|
@ -735,7 +734,6 @@ class H5PStorage {
|
||||||
$librariesInUse[$preloadedDependency['machineName']] = array(
|
$librariesInUse[$preloadedDependency['machineName']] = array(
|
||||||
'library' => $library,
|
'library' => $library,
|
||||||
'preloaded' => $dynamic ? 0 : 1,
|
'preloaded' => $dynamic ? 0 : 1,
|
||||||
'default_styles' => isset($preloadedDependency['defaultStyles']) && $preloadedDependency['defaultStyles'] ? 1 : 0,
|
|
||||||
);
|
);
|
||||||
$this->getLibraryUsage($librariesInUse, $library, $dynamic);
|
$this->getLibraryUsage($librariesInUse, $library, $dynamic);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue