[How To] Modify prosilver's header

For support and discussion related to templates, themes, and imagesets in phpBB 3.0.
Anti-Spam Guide
Locked
User avatar
prototech
Former Team Member
Posts: 5406
Joined: Mon Mar 19, 2007 2:04 pm
Location: Southern California

Re: [How To] Modify prosilver's header

Post by prototech »

guyskankrye wrote:They were upload here...
Change

Code: Select all

   .headerbar {
       background-color: #12A3EB;
       background-image: url("{T_THEME_PATH}/images/site_header_random_{RANDOM_HEADER}.png");
       color: #FFFFFF;
    }
To:

Code: Select all

   .headerbar {
       background-color: #12A3EB;
       background-image: url("{T_THEME_PATH}/images/header_random_{RANDOM_HEADER}.png");
       color: #FFFFFF;
    }
Remove the following from style.php

Code: Select all

'RANDOM_HEADER'      => mt_rand(1, NUMBER-OF-IMAGES),
*Christian* wrote:I've just encountered a problem....
Can you provide a link to your board?
morteg wrote:if i rename bg_header.gif with name of my logo for example bg_logo.gif , the logo don't show up in header
Change

Code: Select all

.headerbar {
   background-color: #12A3EB;
   background-image: url("{T_THEME_PATH}/images/bg_header.gif");
   color: #FFFFFF;
}
To:

Code: Select all

.headerbar {
   background-color: #12A3EB;
   background-image: url("{T_THEME_PATH}/images/bg_logo.gif");
   color: #FFFFFF;
}
Need help with MOD/style installations or other phpBB problems? Contact me for a quote.

User avatar
*Christian*
I've Been Banned!
Posts: 884
Joined: Sat Nov 03, 2007 1:35 pm
Location: Location, Location.

Re: [How To] Modify prosilver's header

Post by *Christian* »

prototech wrote:
*Christian* wrote:I've just encountered a problem....
Can you provide a link to your board?
http://topgear.real-host.uni.cc
Proud owner of Bertie 3.0
:: No support via PM or IM ::

morteg
Registered User
Posts: 10
Joined: Fri Jan 04, 2008 11:50 am

Re: [How To] Modify prosilver's header

Post by morteg »

http://sega.ludost.net/boards/

the board is in bulgarian lang, y need to change lang to british english then the style to prosilver2 , that i modify for testing...

Code: Select all

.headerbar {
	background-color: #12A3EB;
	background-image: url("{T_THEME_PATH}/images/bg_logo.gif");
	color: #FFFFFF;
}
no changes.., maybe is someting other thing.. ( is realy hard to modify php3 styles)

User avatar
prototech
Former Team Member
Posts: 5406
Joined: Mon Mar 19, 2007 2:04 pm
Location: Southern California

Re: [How To] Modify prosilver's header

Post by prototech »

Refresh your theme.
Need help with MOD/style installations or other phpBB problems? Contact me for a quote.

User avatar
*Christian*
I've Been Banned!
Posts: 884
Joined: Sat Nov 03, 2007 1:35 pm
Location: Location, Location.

Re: [How To] Modify prosilver's header

Post by *Christian* »

Have done - Several times :? - Also perged cache
Proud owner of Bertie 3.0
:: No support via PM or IM ::

morteg
Registered User
Posts: 10
Joined: Fri Jan 04, 2008 11:50 am

Re: [How To] Modify prosilver's header

Post by morteg »

i refresh like a thousand times the board ;), and refresh cache ot imageset, themes and tamplates 15-20 times, but nothing chages...

do y think, the prosilver and prosilver2 ( this is copy of pro with changes of conf to be pro2) may complicated each other?

User avatar
prototech
Former Team Member
Posts: 5406
Joined: Mon Mar 19, 2007 2:04 pm
Location: Southern California

Re: [How To] Modify prosilver's header

Post by prototech »

I see that both of you made the changes, but I don't understand why refreshing the theme isn't working.
Let's see... try this, go to the ACP => Server Configuration => Load Settings and change "Recompile stale style components" to yes. Also clear your browser's cache.
morteg wrote:do y think, the prosilver and prosilver2 ( this is copy of pro with changes of conf to be pro2) may complicated each other?
They shouldn't if you edited the cfg files correctly when duplicating prosilver.
Need help with MOD/style installations or other phpBB problems? Contact me for a quote.

morteg
Registered User
Posts: 10
Joined: Fri Jan 04, 2008 11:50 am

Re: [How To] Modify prosilver's header

Post by morteg »

no changes, i will add new style of pro2, with right conf, get from colourconv.. site then try changes again and report it how is it..

User avatar
*Christian*
I've Been Banned!
Posts: 884
Joined: Sat Nov 03, 2007 1:35 pm
Location: Location, Location.

Re: [How To] Modify prosilver's header

Post by *Christian* »

Still no image. I'm going to replace the three files with fresh ones, and re-do it.
:roll:
Proud owner of Bertie 3.0
:: No support via PM or IM ::

guyskankrye
Registered User
Posts: 74
Joined: Tue Nov 30, 2004 6:45 pm

Re: [How To] Modify prosilver's header

Post by guyskankrye »

prototech wrote:
guyskankrye wrote:They were upload here...
Change

Code: Select all

   .headerbar {
       background-color: #12A3EB;
       background-image: url("{T_THEME_PATH}/images/site_header_random_{RANDOM_HEADER}.png");
       color: #FFFFFF;
    }
To:

Code: Select all

   .headerbar {
       background-color: #12A3EB;
       background-image: url("{T_THEME_PATH}/images/header_random_{RANDOM_HEADER}.png");
       color: #FFFFFF;
    }
Remove the following from style.php

Code: Select all

'RANDOM_HEADER'      => mt_rand(1, NUMBER-OF-IMAGES),
Do I really need to remove that from the styles? I still want a random header and after removing that it's not?

guyskankrye
Registered User
Posts: 74
Joined: Tue Nov 30, 2004 6:45 pm

Re: [How To] Modify prosilver's header

Post by guyskankrye »

I removed it and I still only have a blue header. Here's the styles.php code:

Code: Select all

<?php
/**
*
* @package phpBB3
* @version $Id: style.php,v 1.51 2007/08/19 15:58:31 acydburn Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'config.' . $phpEx);

if (version_compare(PHP_VERSION, '6.0.0-dev', '<'))
{
	set_magic_quotes_runtime(0);
}

// Load Extensions
if (!empty($load_extensions))
{
	$load_extensions = explode(',', $load_extensions);

	foreach ($load_extensions as $extension)
	{
		@dl(trim($extension));
	}
}


$sid = (isset($_GET['sid']) && !is_array($_GET['sid'])) ? htmlspecialchars($_GET['sid']) : '';
$id = (isset($_GET['id'])) ? intval($_GET['id']) : 0;

if (strspn($sid, 'abcdefABCDEF0123456789') !== strlen($sid))
{
	$sid = '';
}

// This is a simple script to grab and output the requested CSS data stored in the DB
// We include a session_id check to try and limit 3rd party linking ... unless they
// happen to have a current session it will output nothing. We will also cache the
// resulting CSS data for five minutes ... anything to reduce the load on the SQL
// server a little
if ($id)
{
	if (empty($acm_type) || empty($dbms))
	{
		die('Hacking attempt');
	}

	// Include files
	require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
	require($phpbb_root_path . 'includes/cache.' . $phpEx);
	require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
	require($phpbb_root_path . 'includes/constants.' . $phpEx);

	$db = new $sql_db();
	$cache = new cache();

	// Connect to DB
	if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false))
	{
		exit;
	}
	unset($dbpasswd);

	$config = $cache->obtain_config();
	$user = false;

	if ($sid)
	{
		$sql = 'SELECT u.user_id, u.user_lang
			FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
			WHERE s.session_id = '" . $db->sql_escape($sid) . "'
				AND s.session_user_id = u.user_id";
		$result = $db->sql_query($sql);
		$user = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
	}

	$recompile = $config['load_tplcompile'];
	if (!$user)
	{
		$id			= $config['default_style'];
		$recompile	= false;
		$user		= array('user_id' => ANONYMOUS);
	}

	$sql = 'SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path
		FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i
		WHERE s.style_id = ' . $id . '
			AND t.template_id = s.template_id
			AND c.theme_id = s.theme_id
			AND i.imageset_id = s.imageset_id';
	$result = $db->sql_query($sql, 300);
	$theme = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);

	if (!$theme)
	{
		exit;
	}

	if ($user['user_id'] == ANONYMOUS)
	{
		$user['user_lang'] = $config['default_lang'];
	}

	$user_image_lang = (file_exists($phpbb_root_path . 'styles/' . $theme['imageset_path'] . '/imageset/' . $user['user_lang'])) ? $user['user_lang'] : $config['default_lang'];

	$sql = 'SELECT *
		FROM ' . STYLES_IMAGESET_DATA_TABLE . '
		WHERE imageset_id = ' . $theme['imageset_id'] . "
		AND image_lang IN ('" . $db->sql_escape($user_image_lang) . "', '')";
	$result = $db->sql_query($sql, 3600);

	$img_array = array();
	while ($row = $db->sql_fetchrow($result))
	{
		$img_array[$row['image_name']] = $row;
	}
	$db->sql_freeresult($result);

	// gzip_compression
	if ($config['gzip_compress'])
	{
		// IE6 is not able to compress the style (do not ask us why!)
		$browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? strtolower(htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT'])) : '';

		if ($browser && strpos($browser, 'msie 6.0') === false && @extension_loaded('zlib') && !headers_sent())
		{
			ob_start('ob_gzhandler');
		}
	}

	// Expire time of seven days if not recached
	$expire_time = 7*86400;
	$recache = false;

	// Re-cache stylesheet data if necessary
	if ($recompile || empty($theme['theme_data']))
	{
		$recache = (empty($theme['theme_data'])) ? true : false;
		$update_time = time();

		// We test for stylesheet.css because it is faster and most likely the only file changed on common themes
		if (!$recache && $theme['theme_mtime'] < @filemtime("{$phpbb_root_path}styles/" . $theme['theme_path'] . '/theme/stylesheet.css'))
		{
			$recache = true;
			$update_time = @filemtime("{$phpbb_root_path}styles/" . $theme['theme_path'] . '/theme/stylesheet.css');
		}
		else if (!$recache)
		{
			$last_change = $theme['theme_mtime'];
			$dir = @opendir("{$phpbb_root_path}styles/{$theme['theme_path']}/theme");

			if ($dir)
			{
				while (($entry = readdir($dir)) !== false)
				{
					if (substr(strrchr($entry, '.'), 1) == 'css' && $last_change < @filemtime("{$phpbb_root_path}styles/{$theme['theme_path']}/theme/{$entry}"))
					{
						$recache = true;
						break;
					}
				}
				closedir($dir);
			}
		}
	}

	if ($recache)
	{
		include_once($phpbb_root_path . 'includes/acp/acp_styles.' . $phpEx);

		$theme['theme_data'] = acp_styles::db_theme_data($theme);
		$theme['theme_mtime'] = $update_time;

		// Save CSS contents
		$sql_ary = array(
			'theme_mtime'	=> $theme['theme_mtime'],
			'theme_data'	=> $theme['theme_data']
		);

		$sql = 'UPDATE ' . STYLES_THEME_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
			WHERE theme_id = $id";
		$db->sql_query($sql);

		$cache->destroy('sql', STYLES_THEME_TABLE);
	}

	// Only set the expire time if the theme changed data is older than 30 minutes - to cope with changes from the ACP
	if ($recache || $theme['theme_mtime'] > (time() - 1800))
	{
		header('Expires: 0');
	}
	else
	{
		header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + $expire_time));
	}

	header('Content-type: text/css; charset=UTF-8');

	// Parse Theme Data
	$replace = array(
		'{T_THEME_PATH}'			=> "{$phpbb_root_path}styles/" . $theme['theme_path'] . '/theme',
		'{T_TEMPLATE_PATH}'			=> "{$phpbb_root_path}styles/" . $theme['template_path'] . '/template',
		'{T_IMAGESET_PATH}'			=> "{$phpbb_root_path}styles/" . $theme['imageset_path'] . '/imageset',
		'{T_IMAGESET_LANG_PATH}'	=> "{$phpbb_root_path}styles/" . $theme['imageset_path'] . '/imageset/' . $user_image_lang,
		'{T_STYLESHEET_NAME}'		=> $theme['theme_name'],
		    'RANDOM_HEADER'      => mt_rand(1, NUMBER-OF-IMAGES),
          '{S_USER_LANG}'            => $user['user_lang'],
          	);

	$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);
			$find[] = $matches[0][$i];

			if (!isset($img_array[$img]))
			{
				$replace[] = '';
				continue;
			}

			if (!isset($imgs[$img]))
			{
				$img_data = &$img_array[$img];
				$imgsrc = ($img_data['image_lang'] ? $img_data['image_lang'] . '/' : '') . $img_data['image_filename'];
				$imgs[$img] = array(
					'src'		=> $phpbb_root_path . 'styles/' . $theme['imageset_path'] . '/imageset/' . $imgsrc,
					'width'		=> $img_data['image_width'],
					'height'	=> $img_data['image_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;
			}
		}

		if (sizeof($find))
		{
			$theme['theme_data'] = str_replace($find, $replace, $theme['theme_data']);
		}
	}

	echo $theme['theme_data'];

	if (!empty($cache))
	{
		$cache->unload();
	}
	$db->sql_close();
}

exit;

?>

User avatar
prototech
Former Team Member
Posts: 5406
Joined: Mon Mar 19, 2007 2:04 pm
Location: Southern California

Re: [How To] Modify prosilver's header

Post by prototech »

guyskankrye wrote:Do I really need to remove that from the styles? I still want a random header and after removing that it's not?
Here's what that part currently looks like

Code: Select all

          'RANDOM_HEADER'      => mt_rand(1, NUMBER-OF-IMAGES),
          '{S_USER_LANG}'            => $user['user_lang'],
          '{RANDOM_HEADER}'      => mt_rand(1, 2)
The part that I told you to remove shouldn't be there. ;) So now it should look like this:

Code: Select all

          '{S_USER_LANG}'            => $user['user_lang'],
          '{RANDOM_HEADER}'      => mt_rand(1, 2)
Need help with MOD/style installations or other phpBB problems? Contact me for a quote.

User avatar
*Christian*
I've Been Banned!
Posts: 884
Joined: Sat Nov 03, 2007 1:35 pm
Location: Location, Location.

Re: [How To] Modify prosilver's header

Post by *Christian* »

Okay, it looks like the problem is with the theme "ProGrey" :: Download Link

Could you download it and take a look?
Proud owner of Bertie 3.0
:: No support via PM or IM ::

morteg
Registered User
Posts: 10
Joined: Fri Jan 04, 2008 11:50 am

Re: [How To] Modify prosilver's header

Post by morteg »

*Christian* try make new style from http://beta.colorizeit.com and made changes there


PS. the new style with same colors, but diff. name now work, header is showing up, and eror that was for bg_header in topic theme are gone ....


note: nobody never must made a copy of style and change name and conf of styles , yes it changes but will be in conflict with original style... for user who want to made same style with different things there, get it from colorizeit

PS. thanks prototech
Last edited by morteg on Sat Jan 05, 2008 2:01 pm, edited 3 times in total.

User avatar
prototech
Former Team Member
Posts: 5406
Joined: Mon Mar 19, 2007 2:04 pm
Location: Southern California

Re: [How To] Modify prosilver's header

Post by prototech »

*Christian* wrote:Okay, it looks like the problem is with the theme "ProGrey" :: Download Link

Could you download it and take a look?
I see the problem now... make the changes to silver.css

Code: Select all

.headerbar {
	background: #505C65 none repeat-x 0 0;
	color: #FFFFFF;
	margin-bottom: 4px;
	padding: 0 5px;
}
Need help with MOD/style installations or other phpBB problems? Contact me for a quote.

Locked

Return to “[3.0.x] Styles Support & Discussion”