Skip to content
Browse files

MDL-27120 Add global cache to backup_xml_transformer::register_link_e…

…ncoders()
  • Loading branch information...
1 parent 01ab87f commit 588605efa6c4e82f7a28fab55bfda642534486e3 @ashleyholman ashleyholman committed with rajeshtaneja Apr 7, 2011
Showing with 12 additions and 1 deletion.
  1. +12 −1 backup/moodle2/backup_xml_transformer.class.php
View
13 backup/moodle2/backup_xml_transformer.class.php
@@ -32,6 +32,12 @@
*
* TODO: Finish phpdocs
*/
+
+// cache for storing link encoders, so that we don't need to call
+// register_link_encoders each time backup_xml_transformer is constructed
+global $LINKS_ENCODERS_CACHE;
+$LINKS_ENCODERS_CACHE = array();
+
class backup_xml_transformer extends xml_contenttransformer {
private $absolute_links_encoders; // array of static methods to be called in order to
@@ -41,13 +47,18 @@ class backup_xml_transformer extends xml_contenttransformer {
private $unicoderegexp; // to know if the site supports unicode regexp
public function __construct($courseid) {
+ global $LINKS_ENCODERS_CACHE;
+
$this->absolute_links_encoders = array();
$this->courseid = $courseid;
// Check if we support unicode modifiers in regular expressions
$this->unicoderegexp = @preg_match('/\pL/u', 'a'); // This will fail silently, returning false,
// if regexp libraries don't support unicode
// Register all the available content link encoders
- $this->absolute_links_encoders = $this->register_link_encoders();
+ if (!empty($LINKS_ENCODERS_CACHE)) {
+ $LINKS_ENCODERS_CACHE = $this->register_link_encoders();
+ }
+ $this->absolute_links_encoders = $LINKS_ENCODERS_CACHE;
}
public function process($content) {

0 comments on commit 588605e

Please sign in to comment.
Something went wrong with that request. Please try again.