Bug 20489 Configure illegal file characters https://bugzilla.wikimedia.org/show_bug...
[mediawiki.git] / js2 / mwEmbed / php / jsAutoloadLocalClasses.php
blobeffd1e97594af4ef8129731b5fa4f7ee8194db07
1 <?php
2 if ( !defined( 'MEDIAWIKI' ) ) die( 1 );
4 global $wgJSAutoloadLocalClasses, $wgMwEmbedDirectory;
6 //load classes from mv_embed.js::
8 //read the file:
9 if( is_file( $wgMwEmbedDirectory . 'mv_embed.js' )){
11 $str = @file_get_contents( $wgMwEmbedDirectory . 'mv_embed.js');
13 $str = preg_replace_callback(
14 '/lcPaths\s*\(\s*{(.*)}\s*\)\s*/siU',
15 'jsClassPathLoader',
16 $str
19 function jsClassPathLoader($jvar){
20 global $wgJSAutoloadLocalClasses,$wgMwEmbedDirectory;
21 if( !isset( $jvar[1] ) )
22 return false;
23 $jClassSet = json_decode( '{' . $jvar[1] . '}', true );
24 foreach( $jClassSet as $jClass => $jPath ){
25 //strip $ from jsclass (as they are striped on url request param input)
26 $jClass = str_replace('$', '', $jClass);
27 $wgJSAutoloadLocalClasses[$jClass] = $wgMwEmbedDirectory . $jPath;