MDL-68068 core_h5p: Replace $_SESSION by $SESSION
[moodle.git] / h5p / h5plib / v124 / joubel / core / readme_moodle.txt
1 H5P PHP library
2 ---------------
4 Downloaded last release from: https://github.com/h5p/h5p-php-library/releases
6 Import procedure:
8 - Copy all the files from the folder repository in this directory.
10 Removed:
11  * composer.json
12  * .gitignore
14 Added:
15  * readme_moodle.txt
17 Downloaded version: 1.24 release
19 Changes:
20 1. In order to allow the dependency path to be overridden by child H5PCore classes, a couple of minor changes have been added to the
21 h5p.classes.php file:
22     - Into the getDependenciesFiles method, the line 2435:
23         $dependency['path'] = 'libraries/' . H5PCore::libraryToString($dependency, TRUE);
25       has been changed to:
26         $dependency['path'] = $this->getDependencyPath($dependency);
28      - The method getDependencyPath has been added (line 2455). It might be rewritten by child classes.
29 A PR has been sent to the H5P library with these changes:
30 https://github.com/h5p/h5p-php-library/compare/master...andrewnicols:libraryPathSubclass
31 Hopefully, when upgrading, these patch won't be needed because it will be included in the H5P library by default.
34 2. As the mbstring extension is optional in Moodle, the following changes have been hardcoded to the library:
35 2.1. Comment the following methods in h5p.classes.php file where the extension_loaded('mbstring') is called:
36     * isValidPackage
37     * checkSetupErrorMessage
38     * validateText
39     * validateContentFiles
41 2.2. Change all the mb_uses straight to the core_text() alternatives. Version 1.24 has 3 ocurrences in h5p.classes.php
42 and 1 ocurrence in h5p-metadata.class.php.
44 3. Another PR has been sent to H5P library (https://github.com/h5p/h5p-php-library/pull/69) to fix some php74 minor problems. The same fix is being applied locally by MDL-67077. Once we import a new version, if it includes de fix, this won't be needed to reapply and can be removed.
46 4. Replace the $_SESSION references to $SESSION. That implies that the information is saved to backends, so only the Moodle one should be used by core (core should be free from $_SESSION and always use $SESSION).
47 h5p.classes.php file:
48   - Into hashToken method:
49     Declare the global $SESSION.
50     Change all the $_SESSION by $SESSION.
51 A script for testing this part can be found in MDL-68068
53 The point 2 from above won't be needed once the mbstring extension becomes mandatory in Moodle. A request has been
54 sent to MDL-65809.