Add schemas for validating json

namespaces
Svein-Tore Griff With 2012-11-24 01:09:25 +01:00
parent adcf4288a9
commit 692993b00f
1 changed files with 34 additions and 1 deletions

View File

@ -10,6 +10,38 @@ interface h5pFramework {
class h5p { class h5p {
public $h5pF; public $h5pF;
// Schemas used to validate the h5p files
private $h5pRequired = array(
'title' => '^.{1,255}$',
'mainVersion' => '^[0-9]{1,5}$',
'language' => '^[a-z]{1,5}$',
'machineName' => '^[a-z0-9\-]{1,255}$',
'preloadedDependencies' => array(
'machineName' => '^[a-z0-9\-]{1,255}$',
'minimumVersion' => '^[0-9]{1,5}$',
),
'init' => '^[$A-Z_][0-9A-Z_\.$]{1,254}$',
'embedTypes' => array('iframe', 'div'),
);
private $h5pOptional = array(
'contentType' => '^.{1,255}$',
'utilization' => '^.{1,}$',
'subVersion' => '^[0-9]{1,5}$',
'author' => '^.{1,255}$',
'lisence' => '^(iframe|div)$',
'dynamicDependencies' => array(
'machineName' => '^[a-z0-9\-]{1,255}$',
'minimumVersion' => '^[0-9]{1,5}$',
),
'preloadedJs' => '^(\\[a-z_\-\s0-9\.]+)+\.(?i)(js)$',
'preloadedCss' => '^(\\[a-z_\-\s0-9\.]+)+\.(?i)(js)$',
'w' => '^[0-9]{1,4}$',
'h' => '^[0-9]{1,4}$',
'metaKeywords' => '^.{1,}$',
'metaDescription' => '^.{1,}$',
);
public function __construct($h5pFramework) { public function __construct($h5pFramework) {
$this->h5pF = $h5pFramework; $this->h5pF = $h5pFramework;
@ -78,7 +110,8 @@ class h5p {
$this->rRmdir($file_path); $this->rRmdir($file_path);
continue; continue;
} }
// We have decoded the json! Check for required properties
} }
if ($content->type != H5P_CONTENT && $content->type != H5P_LIBRARY) { if ($content->type != H5P_CONTENT && $content->type != H5P_LIBRARY) {