mirror of
https://github.com/e107inc/e107.git
synced 2025-08-08 07:36:32 +02:00
Issue #5191 Static URL mapping.
This commit is contained in:
@@ -63,8 +63,10 @@ class e_parse
|
|||||||
|
|
||||||
protected $staticUrl;
|
protected $staticUrl;
|
||||||
|
|
||||||
|
protected $staticUrlMap = [];
|
||||||
|
|
||||||
/** @var array Stored relative paths - used by replaceConstants() */
|
/** @var array Stored relative paths - used by replaceConstants() */
|
||||||
private $relativePaths = array();
|
private $relativePaths = [];
|
||||||
|
|
||||||
|
|
||||||
// BBcode that contain preformatted code.
|
// BBcode that contain preformatted code.
|
||||||
@@ -2478,6 +2480,9 @@ class e_parse
|
|||||||
$ret = str_replace(e_MEDIA_ABS, $http . $base . e107::getFolder('media'), $ret);
|
$ret = str_replace(e_MEDIA_ABS, $http . $base . e107::getFolder('media'), $ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$key = ltrim(eHelper::dasherize($path), '/');
|
||||||
|
$this->staticUrlMap[$key] = $ret;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -2492,6 +2497,11 @@ class e_parse
|
|||||||
$this->staticUrl = $url;
|
$this->staticUrl = $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getStaticUrlMap()
|
||||||
|
{
|
||||||
|
return $this->staticUrlMap;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate an auto-sized Image URL.
|
* Generate an auto-sized Image URL.
|
||||||
*
|
*
|
||||||
|
@@ -1790,12 +1790,54 @@ EXPECTED;
|
|||||||
$static = !empty($val['static']) ? 'https://static.mydomain.com/' : null;
|
$static = !empty($val['static']) ? 'https://static.mydomain.com/' : null;
|
||||||
$this->tp->setStaticUrl($static);
|
$this->tp->setStaticUrl($static);
|
||||||
$actual = $this->tp->staticUrl($val['input']);
|
$actual = $this->tp->staticUrl($val['input']);
|
||||||
$this->assertSame($val['expected'], $actual);
|
self::assertSame($val['expected'], $actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->tp->setStaticUrl(null);
|
$this->tp->setStaticUrl(null);
|
||||||
|
|
||||||
|
// Test with Static Array
|
||||||
|
|
||||||
|
$static = [
|
||||||
|
'https://static.mydomain.com/',
|
||||||
|
'https://static2.mydomain.com/',
|
||||||
|
'https://static3.mydomain.com/',
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->tp->setStaticUrl($static);
|
||||||
|
$tests = [
|
||||||
|
1 => array(
|
||||||
|
'expected' => 'https://static.mydomain.com/e107_themes/bootstrap3/images/myimage1.jpg',
|
||||||
|
'input' => '{THEME}images/myimage1.jpg',
|
||||||
|
'static' => true,
|
||||||
|
),
|
||||||
|
2 => array(
|
||||||
|
'expected' => 'https://static2.mydomain.com/e107_themes/bootstrap3/images/myimage2.jpg',
|
||||||
|
'input' => '{THEME}images/myimage2.jpg',
|
||||||
|
'static' => true,
|
||||||
|
),
|
||||||
|
3 => array(
|
||||||
|
'expected' => 'https://static3.mydomain.com/e107_themes/bootstrap3/images/myimage3.jpg',
|
||||||
|
'input' => '{THEME}images/myimage3.jpg',
|
||||||
|
'static' => true,
|
||||||
|
),
|
||||||
|
4 => array(
|
||||||
|
'expected' => 'https://static.mydomain.com/e107_themes/bootstrap3/images/myimage4.jpg',
|
||||||
|
'input' => '{THEME}images/myimage4.jpg',
|
||||||
|
'static' => true,
|
||||||
|
),
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach($tests as $val)
|
||||||
|
{
|
||||||
|
$actual = $this->tp->staticUrl($val['input']);
|
||||||
|
self::assertSame($val['expected'], $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
$map = $this->tp->getStaticUrlMap();
|
||||||
|
self::assertStringContainsString('myimage2.jpg', $map['e107-themes/bootstrap3/images/myimage2.jpg'] );
|
||||||
|
|
||||||
|
$this->tp->setStaticUrl(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user