javascript MDL-22920 Added support for CSS images within the new module code and added missing requirement

This commit is contained in:
Sam Hemelryk
2010-07-02 05:39:59 +00:00
parent 5cbbcc1ae6
commit 3b17690ca4
2 changed files with 20 additions and 3 deletions
+11 -2
View File
@@ -60,9 +60,16 @@ foreach ($parts as $part) {
//debug($bits);
$version = array_shift($bits);
if ($version == 'moodle') {
require_once($CFG->libdir.'/moodlelib.php');
$frankenstyle = array_shift($bits);
$filename = array_pop($bits);
$dir = get_component_directory($frankenstyle);
$contentfile = $dir.'/yui/'.join('/', $bits);
if ($mimetype == 'text/css') {
$bits[] = 'assets';
$bits[] = 'skins';
$bits[] = 'sam';
}
$contentfile = $dir.'/yui/'.join('/', $bits).'/'.$filename;
} else {
if ($version != $CFG->yui3version and $version != $CFG->yui2version and $version != 'gallery') {
$content .= "\n// Wrong yui version $part!\n";
@@ -77,7 +84,9 @@ foreach ($parts as $part) {
$filecontent = file_get_contents($contentfile);
if ($mimetype === 'text/css') {
if ($version == 'gallery') {
if ($version == 'moodle') {
$filecontent = preg_replace('/([a-z_-]+)\.(png|gif)/', 'yui_image.php?file='.$version.'/'.$frankenstyle.'/'.array_shift($bits).'/$1.$2', $filecontent);
} else if ($version == 'gallery') {
// search for all images in gallery module CSS and serve them through the yui_image.php script
$filecontent = preg_replace('/([a-z_-]+)\.(png|gif)/', 'yui_image.php?file='.$version.'/'.$bits[0].'/'.$bits[1].'/$1.$2', $filecontent);
} else {
+9 -1
View File
@@ -33,7 +33,15 @@ $path = min_optional_param('file', '', 'SAFEPATH');
$parts = explode('/', $path);
$version = array_shift($parts);
if ($version =='gallery' && count($parts)==3) {
if ($version == 'moodle' && count($parts) >= 3) {
require_once($CFG->libdir.'/moodlelib.php');
$frankenstyle = array_shift($parts);
$module = array_shift($parts);
$image = array_pop($parts);
$subdir = join('/', $parts);
$dir = get_component_directory($frankenstyle);
$imagepath = $dir.'/yui/'.$module.'/assets/skins/sam/'.$image;
} else if ($version == 'gallery' && count($parts)==3) {
list($module, $version, $image) = $parts;
$imagepath = "$CFG->dirroot/lib/yui/gallery/$module/$version/assets/skins/sam/$image";
} else if (count($parts) == 1 && ($version == $CFG->yui3version || $version == $CFG->yui2version)) {