X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=themes%2Frandom.php;h=ba094253335b1678a14ce879b541d0532a6f071a;hb=3838173ba5d9a2b2ce74f4ab9599e8e54725877c;hp=bd2a37297cd2c2eb20fd5d6d9b4faad74244fa9f;hpb=a4edbd9f5a12179aacea4b78d4ef08df4159f102;p=squirrelmail.git diff --git a/themes/random.php b/themes/random.php index bd2a3729..ba094253 100755 --- a/themes/random.php +++ b/themes/random.php @@ -2,25 +2,32 @@ /** * Name: Random Theme Every Login - * @author Tyler Akins * Date: December 24, 2001 * Comment: Guess what this does! * - * Copyright (c) 2000-2004 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * - * $Id$ + * @author Tyler Akins + * @copyright © 2000-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ * @package squirrelmail * @subpackage themes */ +/** Prevent direct script loading */ +if ((isset($_SERVER['SCRIPT_FILENAME']) && $_SERVER['SCRIPT_FILENAME'] == __FILE__) || + (isset($HTTP_SERVER_SERVER['SCRIPT_FILENAME']) && $HTTP_SERVER_SERVER['SCRIPT_FILENAME'] == __FILE__) ) { + die(); +} + +/** load required functions */ +include_once(SM_PATH . 'functions/global.php'); +include_once(SM_PATH . 'functions/strings.php'); + /** Initialize the random number generator */ sq_mt_randomize(); -require_once(SM_PATH . 'functions/global.php'); - global $theme; - + if (!sqsession_is_registered('random_theme_good_theme')) { $good_themes = array(); foreach ($theme as $data) { @@ -33,12 +40,14 @@ if (!sqsession_is_registered('random_theme_good_theme')) { } $which = mt_rand(0, count($good_themes)); $random_theme_good_theme = $good_themes[$which]; + // remove current sm_path from theme name + $path=preg_quote(SM_PATH,'/'); + $random_theme_good_theme=preg_replace("/^$path/",'',$random_theme_good_theme); + // store it in session sqsession_register($random_theme_good_theme, 'random_theme_good_theme'); } else { // get random theme stored in session sqgetGlobalVar('random_theme_good_theme',$random_theme_good_theme); } - -@include_once ($random_theme_good_theme); -?> +@include_once (SM_PATH . $random_theme_good_theme);