diff --git a/h5p-default-storage.class.php b/h5p-default-storage.class.php index 5b8ffeb..9f11f1c 100644 --- a/h5p-default-storage.class.php +++ b/h5p-default-storage.class.php @@ -247,6 +247,16 @@ class H5PDefaultStorage implements \H5PFileStorage { } } + /** + * Read file content of given file and then return it. + * + * @param string $file_path + * @return string + */ + public function getContent($file_path) { + return file_get_contents($this->path . $file_path); + } + /** * Recursive function for copying directories. * diff --git a/h5p-file-storage.interface.php b/h5p-file-storage.interface.php index dfaa67a..b75625e 100644 --- a/h5p-file-storage.interface.php +++ b/h5p-file-storage.interface.php @@ -117,4 +117,12 @@ interface H5PFileStorage { * The hash keys of removed files */ public function deleteCachedAssets($keys); + + /** + * Read file content of given file and then return it. + * + * @param string $file_path + * @return string contents + */ + public function getContent($file_path); } diff --git a/h5p.classes.php b/h5p.classes.php index f9655a3..93c4213 100644 --- a/h5p.classes.php +++ b/h5p.classes.php @@ -2470,7 +2470,7 @@ class H5PCore { // Determine remote/visitor origin if ($type === 'network' || ($type === 'local' && !preg_match('/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i', $_SERVER['REMOTE_ADDR']))) { - if (filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE)) { + if (isset($_SERVER['REMOTE_ADDR']) && filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE)) { // Internet $this->h5pF->setOption('site_type', 'internet'); }