Ok, (not that anyone is following this thread

)
Here is the latest that I have, (the whole smarty.php):
Code:
<?
/*****************************************************************************\
+-----------------------------------------------------------------------------+
| X-Cart |
| Copyright (c) 2001-2003 Ruslan R. Fazliev <rrf@rrf.ru> |
| All rights reserved. |
+-----------------------------------------------------------------------------+
| PLEASE READ THE FULL TEXT OF SOFTWARE LICENSE AGREEMENT IN THE "COPYRIGHT" |
| FILE PROVIDED WITH THIS DISTRIBUTION. THE AGREEMENT TEXT IS ALSO AVAILABLE |
| AT THE FOLLOWING URL: http://www.x-cart.com/license.php |
| |
| THIS AGREEMENT EXPRESSES THE TERMS AND CONDITIONS ON WHICH YOU MAY USE |
| THIS SOFTWARE PROGRAM AND ASSOCIATED DOCUMENTATION THAT RUSLAN R. |
| FAZLIEV (hereinafter referred to as "THE AUTHOR") IS FURNISHING OR MAKING |
| AVAILABLE TO YOU WITH THIS AGREEMENT (COLLECTIVELY, THE "SOFTWARE"). |
| PLEASE REVIEW THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT |
| CAREFULLY BEFORE INSTALLING OR USING THE SOFTWARE. BY INSTALLING, |
| COPYING OR OTHERWISE USING THE SOFTWARE, YOU AND YOUR COMPANY |
| (COLLECTIVELY, "YOU") ARE ACCEPTING AND AGREEING TO THE TERMS OF THIS |
| LICENSE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY THIS |
| AGREEMENT, DO NOT INSTALL OR USE THE SOFTWARE. VARIOUS COPYRIGHTS AND |
| OTHER INTELLECTUAL PROPERTY RIGHTS PROTECT THE SOFTWARE. THIS |
| AGREEMENT IS A LICENSE AGREEMENT THAT GIVES YOU LIMITED RIGHTS TO USE |
| THE SOFTWARE AND NOT AN AGREEMENT FOR SALE OR FOR TRANSFER OF TITLE.|
| THE AUTHOR RETAINS ALL RIGHTS NOT EXPRESSLY GRANTED BY THIS AGREEMENT. |
| |
| The Initial Developer of the Original Code is Ruslan R. Fazliev |
| Portions created by Ruslan R. Fazliev are Copyright (C) 2001-2003 |
| Ruslan R. Fazliev. All Rights Reserved. |
+-----------------------------------------------------------------------------+
\*****************************************************************************/
#
# $Id: smarty.php, Modified $
#
umask(0);
#
# If we are in subdir of X-Cart dir, then include with '../'
# else include with './'
#
if (!@include("../Smarty-2.5.0/Smarty.class.php"))
@include("./Smarty-2.5.0/Smarty.class.php");
#
# Get absolute path
#
define('BASEDIR', realpath(dirname(__FILE__)));
#
# Smarty object for processing html templates
#
$smarty = new Smarty;
if( $HTTP_GET_VARS['skin']){
// Setting the fake cookie so we can do some if's later
$_COOKIE['skin'] = $HTTP_GET_VARS['skin'];
//Setting the real cookie, expires 1 year from now
setcookie('skin', $HTTP_GET_VARS['skin'], time() + 31536000);
} else {
// Setting the fake cookie so we can do some if's later
$_COOKIE['skin'] = $HTTP_COOKIE_VARS['skin'];
//Updating the real cookie to expire 1 year form now
setcookie('skin', $HTTP_COOKIE_VARS['skin'], time() + 31536000);
}
// Set some directories based on cookie, or lack of cookie
if( $_COOKIE['skin'] == 2){
$smarty->template_dir = BASEDIR.DIRECTORY_SEPARATOR."skin2";
$smarty->compile_dir = BASEDIR.DIRECTORY_SEPARATOR."templates2_c";
$smarty->config_dir = BASEDIR.DIRECTORY_SEPARATOR."skin2";
$smarty->cache_dir = BASEDIR.DIRECTORY_SEPARATOR."cache2";
$smarty->secure_dir = BASEDIR.DIRECTORY_SEPARATOR."skin2";
$smarty->debug_tpl="file:debug_templates.tpl";
$smarty->assign("ImagesDir","../skin2/images");
$smarty->assign("SkinDir","../skin2");
} else {
//Default Template in case cookie is not set
$smarty->template_dir = BASEDIR.DIRECTORY_SEPARATOR."skin1";
$smarty->compile_dir = BASEDIR.DIRECTORY_SEPARATOR."templates_c";
$smarty->config_dir = BASEDIR.DIRECTORY_SEPARATOR."skin1";
$smarty->cache_dir = BASEDIR.DIRECTORY_SEPARATOR."cache";
$smarty->secure_dir = BASEDIR.DIRECTORY_SEPARATOR."skin1";
$smarty->debug_tpl="file:debug_templates.tpl";
$smarty->assign("ImagesDir","../skin1/images");
$smarty->assign("SkinDir","../skin1");
}
if( !is_dir($smarty->compile_dir) && !file_exists($smarty->compile_dir) )
@mkdir($smarty->compile_dir);
if( !is_writable($smarty->compile_dir) || !is_dir($smarty->compile_dir) ){
echo "Can't write template cache in the directory: ".$smarty->compile_dir.".
Please check if it exists, and have writable permissions.";
exit;
}
$file_temp_dir=$smarty->compile_dir;
#
# Smarty object for processing mail templates
#
$mail_smarty = $smarty;
#
# WARNING :
# Please ensure that you have no whitespaces / empty lines below this message.
# Adding a whitespace or an empty line below this line will cause a PHP error.
#
?>
I copied the default skin1 directory to a new skin2 directory.
If you add ?skin=# to the end of the URL the change is immediate, unlike my last post. You don't need ?skin=# except to change skins. The cookie stays between sessions. Still reading up on cookies, security wise.
The admin section is a little funny.
When you are in the admin section you can change skins after you login. After changing skins you can edit the skin, yadda, yadda. When you log out it goes back to skin1, I assume the cookie gets deleted when you logout, that way you are forced to re-enter your username and password.
So still looking at that as well.
Any help? Comment? Foreseeable problems?