Merge branch 'master' of github.com:h5p/h5p-php-library
commit
568637a718
|
@ -96,6 +96,7 @@ class H5PDevelopment {
|
|||
foreach ($this->libraries as $library) {
|
||||
$this->h5pF->deleteLibraryDependencies($library['libraryId']);
|
||||
// This isn't optimal, but without it we would get duplicate warnings.
|
||||
// TODO: You might get PDOExceptions if two or more requests does this at the same time!!
|
||||
$types = array('preloaded', 'dynamic', 'editor');
|
||||
foreach ($types as $type) {
|
||||
if (isset($library[$type . 'Dependencies'])) {
|
||||
|
|
|
@ -494,15 +494,14 @@ class H5PValidator {
|
|||
}
|
||||
|
||||
$libraryH5PData = $this->getLibraryData($file, $filePath, $tmpDir);
|
||||
|
||||
/* library's directory name and machineName in library.json must match */
|
||||
if($libraryH5PData['machineName'] !== $file) {
|
||||
$this->h5pF->setErrorMessage($this->h5pF->t('Library directory name must match machineName in library.json. (Directory: %directoryName , machineName: %machineName)', array('%directoryName' => $file, '%machineName' => $libraryH5PData['machineName'])));
|
||||
$valid = FALSE;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($libraryH5PData) {
|
||||
if ($libraryH5PData !== FALSE) {
|
||||
// Library's directory name and machineName in library.json must match
|
||||
if ($libraryH5PData['machineName'] !== $file) {
|
||||
$this->h5pF->setErrorMessage($this->h5pF->t('Library directory name must match machineName in library.json. (Directory: %directoryName , machineName: %machineName)', array('%directoryName' => $file, '%machineName' => $libraryH5PData['machineName'])));
|
||||
$valid = FALSE;
|
||||
continue;
|
||||
}
|
||||
$libraries[$libraryH5PData['machineName']] = $libraryH5PData;
|
||||
}
|
||||
else {
|
||||
|
@ -1397,7 +1396,7 @@ class H5PCore {
|
|||
$files['scripts'][] = $dependency['path'] . '/' . trim(is_array($file) ? $file['path'] : $file);
|
||||
}
|
||||
}
|
||||
if ($dependency['dropCss'] !== '1' && !empty($dependency['preloadedCss']) && $dependency['preloadedCss'][0] !== '') {
|
||||
if ((!isset($dependency['dropCss']) || $dependency['dropCss'] !== '1') && !empty($dependency['preloadedCss']) && $dependency['preloadedCss'][0] !== '') {
|
||||
foreach ($dependency['preloadedCss'] as $file) {
|
||||
$files['styles'][] = $dependency['path'] . '/' . trim(is_array($file) ? $file['path'] : $file);
|
||||
}
|
||||
|
@ -1478,11 +1477,17 @@ class H5PCore {
|
|||
}
|
||||
|
||||
$dependencyLibrary = $this->loadLibrary($dependency['machineName'], $dependency['majorVersion'], $dependency['minorVersion']);
|
||||
$dependencies[$dependencyKey] = array(
|
||||
'library' => $dependencyLibrary,
|
||||
'type' => $type
|
||||
);
|
||||
$this->findLibraryDependencies($dependencies, $dependencyLibrary, $type === 'editor');
|
||||
if ($dependencyLibrary) {
|
||||
$dependencies[$dependencyKey] = array(
|
||||
'library' => $dependencyLibrary,
|
||||
'type' => $type
|
||||
);
|
||||
$this->findLibraryDependencies($dependencies, $dependencyLibrary, $type === 'editor');
|
||||
}
|
||||
else {
|
||||
// This site is missing a dependency!
|
||||
$this->h5pF->setErrorMessage($this->h5pF->t('Missing dependency @dep required by @lib.', array('@dep' => H5PCore::libraryToString($dependency), '@lib' => H5PCore::libraryToString($library))));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,6 +40,9 @@ H5P.init = function () {
|
|||
var $container = H5P.jQuery('<div class="h5p-container"></div>').appendTo($element);
|
||||
var contentId = $element.data('content-id');
|
||||
var contentData = H5PIntegration.getContentData(contentId);
|
||||
if (contentData === undefined) {
|
||||
return H5P.error('No data for content id ' + contentId + '. Perhaps the library is gone?');
|
||||
}
|
||||
var library = {
|
||||
library: contentData.library,
|
||||
params: H5P.jQuery.parseJSON(contentData.jsonContent)
|
||||
|
|
Loading…
Reference in New Issue