directory cleanup
This cleans up the directory structure as discussed on the mailning list. Users should delete their previous _cache directories to recover diskspace. darcs-hash:20050626100913-9977f-83c0fdc32047db2090fc52a843ffae50cbf12248.gz
This commit is contained in:
parent
d477fdcf1c
commit
98407a7ab8
|
@ -13,10 +13,7 @@ $conf['umask'] = 0111; //set the umask for new files
|
||||||
$conf['dmask'] = 0000; //directory mask accordingly
|
$conf['dmask'] = 0000; //directory mask accordingly
|
||||||
$conf['lang'] = 'en'; //your language
|
$conf['lang'] = 'en'; //your language
|
||||||
$conf['basedir'] = ''; //absolute dir from serveroot - blank for autodetection
|
$conf['basedir'] = ''; //absolute dir from serveroot - blank for autodetection
|
||||||
$conf['datadir'] = './data/pages'; //where to store the data
|
$conf['savedir'] = './data'; //where to store all the files
|
||||||
$conf['olddir'] = './data/attic'; //where to store old revisions
|
|
||||||
$conf['mediadir'] = './data/media'; //where to store media files
|
|
||||||
$conf['changelog'] = './data/changes.log'; //change log
|
|
||||||
|
|
||||||
/* Display Options */
|
/* Display Options */
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
order allow,deny
|
|
||||||
deny from all
|
|
|
@ -148,7 +148,7 @@ function auth_browseruid(){
|
||||||
* Creates a random key to encrypt the password in cookies
|
* Creates a random key to encrypt the password in cookies
|
||||||
*
|
*
|
||||||
* This function tries to read the password for encrypting
|
* This function tries to read the password for encrypting
|
||||||
* cookies from $conf['datadir'].'/_cache/_htcookiesalt'
|
* cookies from $conf['metadir'].'/_htcookiesalt'
|
||||||
* if no such file is found a random key is created and
|
* if no such file is found a random key is created and
|
||||||
* and stored in this file.
|
* and stored in this file.
|
||||||
*
|
*
|
||||||
|
@ -158,7 +158,7 @@ function auth_browseruid(){
|
||||||
*/
|
*/
|
||||||
function auth_cookiesalt(){
|
function auth_cookiesalt(){
|
||||||
global $conf;
|
global $conf;
|
||||||
$file = $conf['datadir'].'/_cache/_htcookiesalt';
|
$file = $conf['metadir'].'/_htcookiesalt';
|
||||||
$salt = io_readFile($file);
|
$salt = io_readFile($file);
|
||||||
if(empty($salt)){
|
if(empty($salt)){
|
||||||
$salt = uniqid(rand(),true);
|
$salt = uniqid(rand(),true);
|
||||||
|
|
|
@ -593,7 +593,7 @@ function saveWikiText($id,$text,$summary){
|
||||||
|
|
||||||
//purge cache on add by updating the purgefile
|
//purge cache on add by updating the purgefile
|
||||||
if($conf['purgeonadd'] && (!$old || $del)){
|
if($conf['purgeonadd'] && (!$old || $del)){
|
||||||
io_saveFile($conf['datadir'].'/_cache/purgefile',time());
|
io_saveFile($conf['cachedir'].'/purgefile',time());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,6 +809,12 @@ function check(){
|
||||||
msg('Mediadir is not writable',-1);
|
msg('Mediadir is not writable',-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(is_writable($conf['cachedir'])){
|
||||||
|
msg('Cachedir is writable',1);
|
||||||
|
}else{
|
||||||
|
msg('Cachedir is not writable',-1);
|
||||||
|
}
|
||||||
|
|
||||||
if(is_writable(DOKU_INC.'conf/users.auth.php')){
|
if(is_writable(DOKU_INC.'conf/users.auth.php')){
|
||||||
msg('conf/users.auth.php is writable',1);
|
msg('conf/users.auth.php is writable',1);
|
||||||
}else{
|
}else{
|
||||||
|
|
40
inc/init.php
40
inc/init.php
|
@ -66,34 +66,46 @@
|
||||||
// remember original umask
|
// remember original umask
|
||||||
$conf['oldumask'] = umask();
|
$conf['oldumask'] = umask();
|
||||||
|
|
||||||
// make absolute mediaweb
|
|
||||||
if(!preg_match('#^(https?://|/)#i',$conf['mediaweb'])){
|
|
||||||
$conf['mediaweb'] = getBaseURL().$conf['mediaweb'];
|
|
||||||
}
|
|
||||||
|
|
||||||
// make real paths and check them
|
// make real paths and check them
|
||||||
$conf['datadir'] = init_path($conf['datadir']);
|
init_paths();
|
||||||
if(!$conf['datadir']) die('Wrong datadir! Check config!');
|
|
||||||
$conf['olddir'] = init_path($conf['olddir']);
|
|
||||||
if(!$conf['olddir']) die('Wrong olddir! Check config!');
|
|
||||||
$conf['mediadir'] = init_path($conf['mediadir']);
|
|
||||||
if(!$conf['mediadir']) die('Wrong mediadir! Check config!');
|
|
||||||
|
|
||||||
// automatic upgrade to script versions of certain files
|
// automatic upgrade to script versions of certain files
|
||||||
scriptify(DOKU_INC.'conf/users.auth');
|
scriptify(DOKU_INC.'conf/users.auth');
|
||||||
scriptify(DOKU_INC.'conf/acl.auth');
|
scriptify(DOKU_INC.'conf/acl.auth');
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks paths from config file
|
||||||
|
*/
|
||||||
|
function init_paths(){
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$paths = array('datadir' => 'pages',
|
||||||
|
'olddir' => 'attic',
|
||||||
|
'mediadir' => 'media',
|
||||||
|
'metadir' => 'meta',
|
||||||
|
'cachedir' => 'cache',
|
||||||
|
'lockdir' => 'locks',
|
||||||
|
'changelog' => 'changes.log');
|
||||||
|
|
||||||
|
foreach($paths as $c => $p){
|
||||||
|
|
||||||
|
if(!$conf[$c]) $conf[$c] = $conf['savedir'].'/'.$p;
|
||||||
|
$conf[$c] = init_path($conf[$c]);
|
||||||
|
if(!$conf[$c]) die("$c does not exist or isn't writable. Check config!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns absolute path
|
* returns absolute path
|
||||||
*
|
*
|
||||||
* This tries the given past first, then checks in DOKU_INC
|
* This tries the given path first, then checks in DOKU_INC
|
||||||
*/
|
*/
|
||||||
function init_path($path){
|
function init_path($path){
|
||||||
$p = realpath($path);
|
$p = realpath($path);
|
||||||
if(is_dir($p)) return $p;
|
if(@file_exists($p)) return $p;
|
||||||
$p = realpath(DOKU_INC.$path);
|
$p = realpath(DOKU_INC.$path);
|
||||||
if(is_dir($p)) return $p;
|
if(@file_exists($p)) return $p;
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
;; Object hu/
|
|
||||||
;; SEMANTICDB Tags save file
|
|
||||||
(semanticdb-project-database-file "hu/"
|
|
||||||
:tables (list
|
|
||||||
(semanticdb-table "lang.php"
|
|
||||||
:major-mode 'php-mode
|
|
||||||
:tags 'nil
|
|
||||||
:file "lang.php"
|
|
||||||
:pointmax 4377
|
|
||||||
)
|
|
||||||
)
|
|
||||||
:file "semantic.cache"
|
|
||||||
:semantic-tag-version "2.0beta3"
|
|
||||||
:semanticdb-version "2.0beta3"
|
|
||||||
)
|
|
|
@ -231,4 +231,23 @@ function resolve_pageid($ns,&$page,&$exists){
|
||||||
if(!empty($hash)) $page .= '#'.$hash;
|
if(!empty($hash)) $page .= '#'.$hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of a cachefile from given data
|
||||||
|
*
|
||||||
|
* The needed directory is created by this function!
|
||||||
|
*
|
||||||
|
* @author Andreas Gohr <andi@splitbrain.org>
|
||||||
|
*
|
||||||
|
* @param string $data This data is used to create a unique md5 name
|
||||||
|
* @param string $ext This is appended to the filename if given
|
||||||
|
* @return string The filename of the cachefile
|
||||||
|
*/
|
||||||
|
function getCacheName($data,$ext=''){
|
||||||
|
global $conf;
|
||||||
|
$md5 = md5($data);
|
||||||
|
$file = $conf['cachedir'].'/'.$md5{0}.'/'.$md5.$ext;
|
||||||
|
io_makeFileDir($file);
|
||||||
|
return $file;
|
||||||
|
}
|
||||||
|
|
||||||
//Setup VIM: ex: et ts=2 enc=utf-8 :
|
//Setup VIM: ex: et ts=2 enc=utf-8 :
|
||||||
|
|
|
@ -67,8 +67,7 @@ function p_locale_xhtml($id){
|
||||||
*/
|
*/
|
||||||
function p_cached_xhtml($file){
|
function p_cached_xhtml($file){
|
||||||
global $conf;
|
global $conf;
|
||||||
$cache = $conf['datadir'].'/_cache/xhtml/';
|
$cache = getCacheName($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.xhtml');
|
||||||
$cache .= md5($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT']);
|
|
||||||
$purge = $conf['datadir'].'/_cache/purgefile';
|
$purge = $conf['datadir'].'/_cache/purgefile';
|
||||||
|
|
||||||
// check if cache can be used
|
// check if cache can be used
|
||||||
|
@ -112,8 +111,7 @@ function p_cached_xhtml($file){
|
||||||
*/
|
*/
|
||||||
function p_cached_instructions($file,$cacheonly=false){
|
function p_cached_instructions($file,$cacheonly=false){
|
||||||
global $conf;
|
global $conf;
|
||||||
$cache = $conf['datadir'].'/_cache/instructions/';
|
$cache = getCacheName($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.i');
|
||||||
$cache .= md5($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT']);
|
|
||||||
|
|
||||||
// check if cache can be used
|
// check if cache can be used
|
||||||
$cachetime = @filemtime($cache); // 0 if not exists
|
$cachetime = @filemtime($cache); // 0 if not exists
|
||||||
|
|
|
@ -101,13 +101,12 @@
|
||||||
function get_resized($file, $ext, $w, $h=0){
|
function get_resized($file, $ext, $w, $h=0){
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$md5 = md5($file);
|
|
||||||
$info = getimagesize($file);
|
$info = getimagesize($file);
|
||||||
if(!$h) $h = round(($w * $info[1]) / $info[0]);
|
if(!$h) $h = round(($w * $info[1]) / $info[0]);
|
||||||
|
|
||||||
|
|
||||||
//cache
|
//cache
|
||||||
$local = $conf['mediadir'].'/_cache/'.$md5.'.'.$w.'x'.$h.'.'.$ext;
|
$local = getCacheName($file,'.media.'.$w.'x'.$h.'.'.$ext);
|
||||||
$mtime = @filemtime($local); // 0 if not exists
|
$mtime = @filemtime($local); // 0 if not exists
|
||||||
|
|
||||||
if( $mtime > filemtime($file) || resize_image($ext,$file,$info[0],$info[1],$local,$w,$h) ){
|
if( $mtime > filemtime($file) || resize_image($ext,$file,$info[0],$info[1],$local,$w,$h) ){
|
||||||
|
@ -144,9 +143,7 @@ function get_from_URL($url,$ext,$cache){
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$url = strtolower($url);
|
$url = strtolower($url);
|
||||||
$md5 = md5($url);
|
$local = getCacheName($url,".media.$ext");
|
||||||
|
|
||||||
$local = $conf['mediadir']."/_cache/$md5.$ext";
|
|
||||||
$mtime = @filemtime($local); // 0 if not exists
|
$mtime = @filemtime($local); // 0 if not exists
|
||||||
|
|
||||||
//decide if download needed:
|
//decide if download needed:
|
||||||
|
@ -204,7 +201,7 @@ function resize_image($ext,$from,$from_w,$from_h,$to,$to_w,$to_h){
|
||||||
}
|
}
|
||||||
|
|
||||||
// create cachedir
|
// create cachedir
|
||||||
io_makeFileDir($to);
|
//io_makeFileDir($to); // not needed anymore, should exist
|
||||||
|
|
||||||
//try resampling first
|
//try resampling first
|
||||||
if(function_exists("imagecopyresampled")){
|
if(function_exists("imagecopyresampled")){
|
||||||
|
|
Loading…
Reference in New Issue