diff --git a/config/config-path b/config/config-path index 4bfe59e..8a110b2 100644 --- a/config/config-path +++ b/config/config-path @@ -1 +1 @@ -config/config.ini +config/config-brad.ini diff --git a/config/config.ini b/config/config.ini index 9afd773..192577d 100644 --- a/config/config.ini +++ b/config/config.ini @@ -149,6 +149,7 @@ varDirectory = ${fileSystemRoot}/var logDirectory = ${varDirectory}/log documentRoot = ${varDirectory}/Documents uiDirectory = ${fileSystemRoot}/presentation/lookAndFeel/knowledgeTree +tmpDirectory = ${varDirectory}/tmp ; urls graphicsUrl = ${rootUrl}/graphics diff --git a/config/dmsDefaults.php b/config/dmsDefaults.php index fb55333..ba0a92e 100644 --- a/config/dmsDefaults.php +++ b/config/dmsDefaults.php @@ -403,6 +403,8 @@ class KTInit { $oKTConfig->setdefaultns("KnowledgeTree", "pathInfoSupport", false); $oKTConfig->setdefaultns("storage", "manager", 'KTOnDiskHashedStorageManager'); $oKTConfig->setdefaultns("config", "useDatabaseConfiguration", false); + + $oKTConfig->setdefaultns("urls", "tmpDirectory", '${varDirectory}/tmp'); $oKTConfig->setdefaultns("tweaks", "browseToUnitFolder", false); $oKTConfig->setdefaultns("tweaks", "genericMetaDataRequired", true); @@ -426,7 +428,8 @@ class KTInit { $oKTConfig->setdefaultns("cache", "proxyCacheDirectory", '${varDirectory}/proxies'); $oKTConfig->setdefaultns("cache", "proxyCacheEnabled", 'true'); - $this->readConfig(); + $res = $this->readConfig(); + if (PEAR::isError($res)) { return $res; } $oKTConfig =& KTConfig::getSingleton(); @touch($cache_file); @@ -445,10 +448,17 @@ class KTInit { $oKTConfig =& KTConfig::getSingleton(); $sConfigFile = trim(file_get_contents(KT_DIR . "/config/config-path")); if (KTUtil::isAbsolutePath($sConfigFile)) { - $oKTConfig->loadFile($sConfigFile); + $res = $oKTConfig->loadFile($sConfigFile); } else { - $oKTConfig->loadFile(sprintf("%s/%s", KT_DIR, $sConfigFile)); + $res = $oKTConfig->loadFile(sprintf("%s/%s", KT_DIR, $sConfigFile)); } + + if (PEAR::isError($res)) { + $this->handleInitError($res); + // returns only in checkup + return $res; + } + foreach (array_keys($oKTConfig->flat) as $k) { $v = $oKTConfig->get($k); if ($v === "default") { @@ -480,7 +490,10 @@ class KTInit { $this->handleInitError(PEAR::raiseError('Test infrastructure not configured')); exit(0); } - $oKTConfig->loadFile($sConfigFile); + $res = $oKTConfig->loadFile($sConfigFile); + if (PEAR::isError($res)) { + return $res; + } } // }}} } @@ -503,10 +516,10 @@ require_once(KT_LIB_DIR . '/ktentity.inc'); require_once(KT_LIB_DIR . "/config/config.inc.php"); -$KTInit->initConfig(); - $KTInit->setupI18n(); +$KTInit->initConfig(); + if ($GLOBALS['kt_test']) { $KTInit->initTesting(); } diff --git a/lib/config/config.inc.php b/lib/config/config.inc.php index 7ed5bf7..b415502 100644 --- a/lib/config/config.inc.php +++ b/lib/config/config.inc.php @@ -72,6 +72,11 @@ class KTConfig { function loadFile($filename, $bDefault = false) { $c = new Config; $root =& $c->parseConfig($filename, "IniCommented"); + + if (PEAR::isError($root)) { + return $root; + } + $this->aFileRoot[$filename] =& $root; $conf =& $root->toArray(); diff --git a/lib/documentmanagement/documentutil.inc.php b/lib/documentmanagement/documentutil.inc.php index 3a51ca2..8ffbd8b 100644 --- a/lib/documentmanagement/documentutil.inc.php +++ b/lib/documentmanagement/documentutil.inc.php @@ -544,7 +544,11 @@ class KTDocumentUtil { } $bCanMove = KTUtil::arrayGet($aOptions, 'move'); $oStorage =& KTStorageManagerUtil::getSingleton(); - $sFilename = tempnam('/tmp', 'kt_storecontents'); + + $oKTConfig =& KTConfig::getSingleton(); + $sBasedir = $oKTConfig->get("urls/tmpDirectory"); + + $sFilename = tempnam($sBasedir, 'kt_storecontents'); $oOutputFile = new KTFSFileLike($sFilename); $res = KTFileLikeUtil::copy_contents($oContents, $oOutputFile); $sType = KTMime::getMimeTypeFromFile($sFilename); diff --git a/lib/import/zipimportstorage.inc.php b/lib/import/zipimportstorage.inc.php index 084f736..0850b78 100644 --- a/lib/import/zipimportstorage.inc.php +++ b/lib/import/zipimportstorage.inc.php @@ -33,7 +33,10 @@ class KTZipImportStorage extends KTFSImportStorage { } function init() { - $sTmpPath = tempnam('/tmp', 'zipimportstorage'); + $oKTConfig =& KTConfig::getSingleton(); + $sBasedir = $oKTConfig->get("urls/tmpDirectory"); + + $sTmpPath = tempnam($sBasedir, 'zipimportstorage'); if ($sTmpPath === false) { return PEAR::raiseError("Could not create temporary directory for zip storage"); } diff --git a/plugins/ktstandard/KTBulkExportPlugin.php b/plugins/ktstandard/KTBulkExportPlugin.php index fda6ba7..674dde1 100644 --- a/plugins/ktstandard/KTBulkExportPlugin.php +++ b/plugins/ktstandard/KTBulkExportPlugin.php @@ -66,6 +66,7 @@ class KTBulkExportAction extends KTFolderAction { $this->startTransaction(); $oKTConfig =& KTConfig::getSingleton(); + $sBasedir = $oKTConfig->get("urls/tmpDirectory"); $bNoisy = $oKTConfig->get("tweaks/noisyBulkOperations"); if (empty($aDocumentIds)) { @@ -79,7 +80,7 @@ class KTBulkExportAction extends KTFolderAction { $this->oPage->template = "kt3/minimal_page"; $this->handleOutput(""); - $sTmpPath = tempnam('/tmp', 'kt_export'); + $sTmpPath = tempnam($sBasedir, 'kt_export'); unlink($sTmpPath); mkdir($sTmpPath, 0700); $this->sTmpPath = $sTmpPath; diff --git a/plugins/ktstandard/contents/BaseIndexer.php b/plugins/ktstandard/contents/BaseIndexer.php index dd43482..fd6eff5 100644 --- a/plugins/ktstandard/contents/BaseIndexer.php +++ b/plugins/ktstandard/contents/BaseIndexer.php @@ -87,9 +87,13 @@ class KTBaseIndexerTrigger { if ($this->command != null) { $tempstub = $this->command; } - $myfilename = tempnam("/tmp", 'kt.' . $tempstub); + + $oKTConfig =& KTConfig::getSingleton(); + $sBasedir = $oKTConfig->get("urls/tmpDirectory"); + + $myfilename = tempnam($sBasedir, 'kt.' . $tempstub); if (OS_WINDOWS) { - $intermediate = tempnam("/tmp", 'kt.' . $tempstub); + $intermediate = tempnam($sBasedir, 'kt.' . $tempstub); if (!@copy($sFile, $intermediate)) { return ; }