Add clarifying docs
[squirrelmail.git] / themes / random.php
index b6af679bf9a66ff8e32a76fc5581b1fd6cdbb3cf..2064b78d0701d4d3363645a2f5327ac22a559f3b 100755 (executable)
@@ -1,24 +1,32 @@
 <?php
 
 /**
- * random.php
- *    Name:    Random Theme Every Login
- *    Author:  Tyler Akins
- *    Date:    December 24, 2001
- *    Comment: Guess what this does!
+ * Name:    Random Theme Every Login
+ * Date:    December 24, 2001
+ * Comment: Guess what this does!
  *
- * Copyright (c) 2000-2003 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
- * $Id$
+ * @author Tyler Akins
+ * @copyright &copy; 2000-2007 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__) {
+    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, $random_theme_good_themes;
-   
+global $theme;
+
 if (!sqsession_is_registered('random_theme_good_theme')) {
     $good_themes = array();
     foreach ($theme as $data) {
@@ -31,9 +39,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);