1
0
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:
Nils Adermann
2006-08-08 19:02:44 +00:00
parent 2ed25800c5
commit c69a6f7acd
5 changed files with 136 additions and 43 deletions

View File

@@ -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'];
}