Changeset - 7d2e141f1b01
[Not reviewed]
default
0 2 0
Nathan Brink (binki) - 12 years ago 2013-10-30 01:45:08
ohnobinki@ohnopublishing.net
Fix Cache-Control to actually limit autocomplete caching to 10 minutes instead of 3 hours, reported by Jason VanHorn <jev35@calvin.edu>.
2 files changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
auto.php
Show inline comments
 
@@ -32,38 +32,36 @@
 
 */
 

	
 
require_once('inc/school.inc');
 
require_once('inc/class.page.php');
 
require_once('inc/class.course.inc');
 

	
 
/*
 
 * Set the Expires and Cache-Control headers -- only if we're getting
 
 * a request which does not rely on the contents of $_SESSION.
 
 */
 
if (!empty($_GET['school']) && !empty($_GET['semester']))
 
  {
 
    header('Expires: ' . gmdate(DATE_RFC1123, time() + 600));
 
    header('Cache-Control: max-age=600, public');
 
    $cache_limiter = 'public';
 
  }
 
else
 
  {
 
    /*
 
     * Tell the caches that the user's cookies affect the cacheability
 
     * since the user did not specify the current semester/school.
 
     */
 
    header('Vary: Cookie');
 
    $cache_limiter = 'private';
 
  }
 
page::session_start($cache_limiter);
 
page::session_start($cache_limiter, 10);
 

	
 
if (isset($_REQUEST['txt'])) {
 
  header('Content-Type: text/plain; encoding=utf-8');
 
}
 
else {
 
  header('Content-Type: application/json; encoding=utf-8');
 
}
 

	
 
if (!isset($_REQUEST['term'])) {
 
  clean_empty_exit();
 
}
 

	
inc/class.page.php
Show inline comments
 
@@ -642,31 +642,33 @@ class page
 
  /**
 
   * \brief
 
   *   Start the PHP session by calling session_start().
 
   *
 
   * Used to make sure that different areas of our code don't call
 
   * session_start() multiple times and to make it easier to ensure
 
   * that session_start() is called at least before it's needed.
 
   *
 
   * \param $cache_limiter
 
   *   Specify the sort of session-related cache limitation is used,
 
   *   see session_cache_limiter().
 
   */
 
  public static function session_start($cache_limiter = 'nocache')
 
  public static function session_start($cache_limiter = 'nocache', $cache_expire = NULL)
 
  {
 
    static $session_started = FALSE;
 

	
 
    if (!$session_started)
 
      {
 
	session_cache_limiter($cache_limiter);
 
	if ($cache_expire !== NULL)
 
	  session_cache_expire($cache_expire);
 
	session_name('slate_permutate');
 
	session_start();
 
	$session_started = TRUE;
 
      }
 
  }
 

	
 
  /**
 
   * \brief
 
   *   Perform a redirect.
 
   *
 
   * By consolidating all redirects here, we're hopefully able to do
 
   * it in a somewhat compliant and portablish way ;-).
0 comments (0 inline, 0 general)