Re-added "Remove empty params." to master.

This reverts commit 31ee0bd51a.
semantics-font
Frode Petterson 2015-04-22 10:44:16 +02:00
parent 31ee0bd51a
commit 9a37a99574
1 changed files with 18 additions and 4 deletions

View File

@ -1268,7 +1268,7 @@ class H5PStorage {
}
$content['params'] = file_get_contents($current_path . DIRECTORY_SEPARATOR . 'content.json');
if (isset($options['disable'])) {
$content['disable'] = $options['disable'];
}
@ -2652,10 +2652,17 @@ class H5PContentValidator {
// Validate each element in list.
foreach ($list as $key => &$value) {
if (!is_int($key)) {
unset($list[$key]);
array_splice($list, $key, 1);
continue;
}
$this->$function($value, $field);
if ($value === NULL) {
array_splice($list, $key, 1);
}
}
if (count($list) === 0) {
$list = NULL;
}
}
@ -2765,6 +2772,9 @@ class H5PContentValidator {
if ($found) {
if ($function) {
$this->$function($value, $field);
if ($value === NULL) {
unset($group->$key);
}
}
else {
// We have a field type in semantics for which we don't have a
@ -2800,9 +2810,13 @@ class H5PContentValidator {
* Will recurse into validating the library's semantics too.
*/
public function validateLibrary(&$value, $semantics) {
if (!isset($value->library) || !in_array($value->library, $semantics->options)) {
if (!isset($value->library)) {
$value = NULL;
return;
}
if (!in_array($value->library, $semantics->options)) {
$this->h5pF->setErrorMessage($this->h5pF->t('Library used in content is not a valid library according to semantics'));
$value = new stdClass();
$value = NULL;
return;
}