Fix SUID.
[platal.git] / classes / plglobals.php
index 686afd5..c830bad 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -27,6 +27,11 @@ define('DEBUG_BT', 1);
 define('DEBUG_VALID', 2);
 define('DEBUG_SMARTY', 4);
 
+/* First allowed value for user-defined DEBUG_* flags.
+ * Set to 256 to keep rooms for future core flags (5 flags available).
+ */
+define('DEBUG_USERBASE', 256);
+
 /** PlGlobals provides functions to read a set of configuration files and gives
  * access to this configurations.
  *
@@ -64,6 +69,20 @@ class PlGlobals
                                // 'r'  => read/only
                                // ''   => site down
 
+    /** Catch-all mode for emails.
+     * If set to a valid email address, all emails from plat/al are sent to
+     * that email address, instead of their normal destination (From:, To:,
+     * and CC: headers are not actually modified).
+     * Note: only valid if restricted_platal is set to true.
+     */
+    public $email_catchall = false;
+
+    /** Tell smarty to check the timestamps of the templates to decide
+     * whether recompile the template or not. If this option is false and
+     * debug mode is not activate, templates won't be recompile if they changed.
+     */
+    public $smarty_autocompile = false;
+
     /** BaseURL of the site.
      * This is read from the HTTP headers if available but you MUST give a
      * default value for this field in you configuration file (because, this
@@ -92,6 +111,13 @@ class PlGlobals
     public $cookie_ns = 'ORG';
     public $cookie_path = '/';
 
+    /** Cache duration for static and dynamic cacheable content generated by
+     * plat/al. Defaults to a week for static content, and an hour for dynamic
+     * content.
+     */
+    public $static_cache_duration = 604800;
+    public $dynamic_cache_duration = 3600;
+
     /** You must give a list of file to load.
      * The filenames given are relatives to the config path of your plat/al installation.
      */
@@ -171,10 +197,10 @@ class PlGlobals
     /** Change dynamic config file
      * @param conf array of keys and values to add or replace
      * @param category name of category to change
-     * 
+     *
      * Opens the dynamic conf file and set values from conf in specified
      * category. Updates config vars too.
-     */ 
+     */
     public function changeDynamicConfig($conf, $category = 'Core')
     {
         $dynamicfile = $this->spoolroot.'/spool/conf/platal.dynamic.conf';
@@ -217,7 +243,7 @@ class PlGlobals
                     if (isset($conflower[strtolower($k)])) {
                         $array[$same][$k] = $v;
                     }
-                } 
+                }
             }
         }
         // writes the file over