mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
- fixed some problems with themes
- added support for {IMG_NAME_SRC}, {IMG_NAME_WIDTH} and {IMG_NAME_HEIGHT} - fulltext_native has to use group by in a few more quries git-svn-id: file:///svn/phpbb/trunk@6254 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -74,7 +74,7 @@ if ($id && $sid)
|
||||
|
||||
if ($user)
|
||||
{
|
||||
$sql = "SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.imageset_path, t.template_path
|
||||
$sql = "SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path
|
||||
FROM {$table_prefix}styles s, {$table_prefix}styles_template t, {$table_prefix}styles_theme c, {$table_prefix}styles_imageset i
|
||||
WHERE s.style_id = $id
|
||||
AND t.template_id = s.template_id
|
||||
@@ -110,6 +110,66 @@ if ($id && $sid)
|
||||
|
||||
$theme['theme_data'] = str_replace(array_keys($replace), array_values($replace), $theme['theme_data']);
|
||||
|
||||
$matches = array();
|
||||
preg_match_all('#\{IMG_([A-Za-z0-9_]*?)_(WIDTH|HEIGHT|SRC)\}#', $theme['theme_data'], $matches);
|
||||
|
||||
$imgs = $find = $replace = array();
|
||||
if (isset($matches[0]) && sizeof($matches[0]))
|
||||
{
|
||||
foreach ($matches[1] as $i => $img)
|
||||
{
|
||||
$img = strtolower($img);
|
||||
if (!isset($theme[$img]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($imgs[$img]))
|
||||
{
|
||||
// Do not include dimensions?
|
||||
if (strpos($theme[$img], '*') === false)
|
||||
{
|
||||
$imgsrc = trim($theme[$img]);
|
||||
$width = $height = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
list($imgsrc, $height, $width) = explode('*', $theme[$img]);
|
||||
}
|
||||
|
||||
$imgs[$img] = array(
|
||||
'src' => $phpbb_root_path . 'styles/' . $theme['imageset_path'] . '/imageset/' . str_replace('{LANG}', $user['user_lang'], $imgsrc),
|
||||
'width' => $width,
|
||||
'height' => $height,
|
||||
);
|
||||
}
|
||||
|
||||
switch ($matches[2][$i])
|
||||
{
|
||||
case 'SRC':
|
||||
$replace = $imgs[$img]['src'];
|
||||
break;
|
||||
|
||||
case 'WIDTH':
|
||||
$replace = $imgs[$img]['width'];
|
||||
break;
|
||||
|
||||
case 'HEIGHT':
|
||||
$replace = $imgs[$img]['height'];
|
||||
break;
|
||||
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
$find = $matches[0][$i];
|
||||
}
|
||||
|
||||
if (sizeof($find))
|
||||
{
|
||||
$theme['theme_data'] = str_replace($find, $replace, $theme['theme_data']);
|
||||
}
|
||||
}
|
||||
|
||||
echo $theme['theme_data'];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user