HouseKeeperPlugin.php
2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
class HouseKeeperPlugin extends KTPlugin
{
var $autoRegister = true;
var $sNamespace = 'ktcore.housekeeper.plugin';
var $folders = array();
function HouseKeeperPlugin($sFilename = null)
{
parent::KTPlugin($sFilename);
$this->sFriendlyName = _kt('Housekeeper');
$config = KTConfig::getSingleton();
$tempDir = $config->get('urls/tmpDirectory');
$cacheDir = $config->get('cache/cacheDirectory');
$logDir = $config->get('urls/logDirectory');
$docsDir = $config->get('urls/documentRoot');
$luceneDir = $config->get('indexer/luceneDirectory');
$systemDir = OS_UNIX?'/tmp':'c:/windows/temp';
$this->folders = array(
array(
'name'=>_kt('Smarty Cache'),
'folder'=>$tempDir,
'pattern'=>'^%%.*',
'canClean'=>true
),
array(
'name'=>_kt('KnowledgeTree Cache'),
'folder'=>$cacheDir,
'pattern'=>'',
'canClean'=>true
),
array(
'name'=>_kt('KnowledgeTree Logs'),
'folder'=>$logDir,
'pattern'=>'.+\.txt$',
'canClean'=>true
),
array(
'name'=>_kt('System Temporary Folder'),
'folder'=>$systemDir,
'pattern'=>'(sess_.+)?(.+\.log$)?',
'canClean'=>true
),
array(
'name'=>_kt('KnowledgeTree Documents'),
'folder'=>$docsDir,
'pattern'=>'',
'canClean'=>false
),
array(
'name'=>_kt('KnowledgeTree Lucene Indexes'),
'folder'=>$luceneDir,
'pattern'=>'',
'canClean'=>false
),
);
}
function getDirectories()
{
return $this->folders;
}
function getDirectory($folder)
{
foreach($this->folders as $dir)
{
if ($dir['folder'] == $folder)
{
return $dir;
}
}
return null;
}
function setup()
{
$this->registerDashlet('DiskUsageDashlet', 'ktcore.diskusage.dashlet', 'DiskUsageDashlet.inc.php');
$this->registerDashlet('FolderUsageDashlet', 'ktcore.folderusage.dashlet', 'FolderUsageDashlet.inc.php');
$oTemplating =& KTTemplating::getSingleton();
$oTemplating->addLocation('housekeeper', '/plugins/housekeeper/templates');
}
}
$oPluginRegistry =& KTPluginRegistry::getSingleton();
$oPluginRegistry->registerPlugin('HouseKeeperPlugin', 'ktcore.housekeeper.plugin', __FILE__);
?>