From 2f1d4a94ebb4e5c412ea4332751e2a6104c7f26b Mon Sep 17 00:00:00 2001 From: Gabriel Birke Date: Thu, 30 Dec 2010 17:24:38 +0100 Subject: Modified config and lang files for new option --- lib/plugins/config/lang/de/lang.php | 1 + lib/plugins/config/lang/en/lang.php | 1 + lib/plugins/config/settings/config.class.php | 2 +- lib/plugins/config/settings/config.metadata.php | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index aa763da03..9a8ca3b30 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -48,6 +48,7 @@ $lang['dmode'] = 'Rechte für neue Verzeichnisse'; $lang['lang'] = 'Sprache'; $lang['basedir'] = 'Installationsverzeichnis'; $lang['baseurl'] = 'Installationspfad (URL)'; +$lang['cookiedir'] = 'Cookiepfad. Frei lassen, um den gleichen Pfad wie "baseurl" zu benutzen.'; $lang['savedir'] = 'Speicherverzeichnis'; $lang['start'] = 'Startseitenname'; $lang['title'] = 'Titel des Wikis'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index a944d6bd7..9003337df 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -58,6 +58,7 @@ $lang['lang'] = 'Interface language'; $lang['basedir'] = 'Server path (eg. /dokuwiki/). Leave blank for autodetection.'; $lang['baseurl'] = 'Server URL (eg. http://www.yourserver.com). Leave blank for autodetection.'; $lang['savedir'] = 'Directory for saving data'; +$lang['cookiedir'] = 'Cookie path. Leave blank for using baseurl.'; $lang['start'] = 'Start page name'; $lang['title'] = 'Wiki title'; $lang['template'] = 'Template'; diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 01f15a54e..b38f79906 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -341,7 +341,7 @@ if (!class_exists('setting')) { var $_input = NULL; // only used by those classes which error check var $_cautionList = array( - 'basedir' => 'danger', 'baseurl' => 'danger', 'savedir' => 'danger', 'useacl' => 'danger', 'authtype' => 'danger', 'superuser' => 'danger', 'userewrite' => 'danger', + 'basedir' => 'danger', 'baseurl' => 'danger', 'savedir' => 'danger', 'cookiedir' => 'danger', 'useacl' => 'danger', 'authtype' => 'danger', 'superuser' => 'danger', 'userewrite' => 'danger', 'start' => 'warning', 'camelcase' => 'warning', 'deaccent' => 'warning', 'sepchar' => 'warning', 'compression' => 'warning', 'xsendfile' => 'warning', 'renderer_xhtml' => 'warning', 'fnencode' => 'warning', 'allowdebug' => 'security', 'htmlok' => 'security', 'phpok' => 'security', 'iexssprotect' => 'security', 'xmlrpc' => 'security', 'fullpath' => 'security' ); diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index c2c3a2d0c..c64fded81 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -95,6 +95,7 @@ $meta['license'] = array('license'); $meta['savedir'] = array('savedir'); $meta['basedir'] = array('string'); $meta['baseurl'] = array('string'); +$meta['cookiedir'] = array('string'); $meta['dmode'] = array('numeric','_pattern' => '/0[0-7]{3,4}/'); // only accept octal representation $meta['fmode'] = array('numeric','_pattern' => '/0[0-7]{3,4}/'); // only accept octal representation $meta['allowdebug'] = array('onoff'); -- cgit v1.2.3 From 73ab87de7441c9c0eac123c1c44c2cf1ffdbe189 Mon Sep 17 00:00:00 2001 From: Gabriel Birke Date: Sun, 2 Jan 2011 21:00:02 +0100 Subject: If cookiedir is configured, use it. If $conf['cookiedir'] is set, use this setting instead of DOKU_REL. --- inc/auth.php | 10 ++++++---- inc/init.php | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/inc/auth.php b/inc/auth.php index fd2a9c66d..834b63ec3 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -335,10 +335,11 @@ function auth_logoff($keepbc=false){ unset($_SERVER['REMOTE_USER']); $USERINFO=null; //FIXME + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; if (version_compare(PHP_VERSION, '5.2.0', '>')) { - setcookie(DOKU_COOKIE,'',time()-600000,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + setcookie(DOKU_COOKIE,'',time()-600000,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - setcookie(DOKU_COOKIE,'',time()-600000,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + setcookie(DOKU_COOKIE,'',time()-600000,$cookieDir,'',($conf['securecookie'] && is_ssl())); } if($auth) $auth->logOff(); @@ -1085,11 +1086,12 @@ function auth_setCookie($user,$pass,$sticky) { // set cookie $cookie = base64_encode($user).'|'.((int) $sticky).'|'.base64_encode($pass); + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; $time = $sticky ? (time()+60*60*24*365) : 0; //one year if (version_compare(PHP_VERSION, '5.2.0', '>')) { - setcookie(DOKU_COOKIE,$cookie,$time,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + setcookie(DOKU_COOKIE,$cookie,$time,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - setcookie(DOKU_COOKIE,$cookie,$time,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + setcookie(DOKU_COOKIE,$cookie,$time,$cookieDir,'',($conf['securecookie'] && is_ssl())); } // set session $_SESSION[DOKU_COOKIE]['auth']['user'] = $user; diff --git a/inc/init.php b/inc/init.php index ed4409729..faf5f54e1 100644 --- a/inc/init.php +++ b/inc/init.php @@ -148,10 +148,11 @@ if ($conf['gzip_output'] && // init session if (!headers_sent() && !defined('NOSESSION')){ session_name("DokuWiki"); + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; if (version_compare(PHP_VERSION, '5.2.0', '>')) { - session_set_cookie_params(0,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + session_set_cookie_params(0,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - session_set_cookie_params(0,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + session_set_cookie_params(0,$cookieDir,'',($conf['securecookie'] && is_ssl())); } session_start(); -- cgit v1.2.3