diff --git a/plugins/housekeeper/DiskUsageDashlet.inc.php b/plugins/housekeeper/DiskUsageDashlet.inc.php index 1f74518..ca7f13c 100644 --- a/plugins/housekeeper/DiskUsageDashlet.inc.php +++ b/plugins/housekeeper/DiskUsageDashlet.inc.php @@ -6,32 +6,32 @@ * KnowledgeTree Open Source Edition * Document Management Made Simple * Copyright (C) 2004 - 2007 The Jam Warehouse Software (Pty) Limited - * + * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation. - * + * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * + * * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place, * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com. - * + * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. - * + * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by - * KnowledgeTree" logo and retain the original copyright notice. If the display of the + * KnowledgeTree" logo and retain the original copyright notice. If the display of the * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices - * must display the words "Powered by KnowledgeTree" and retain the original - * copyright notice. + * must display the words "Powered by KnowledgeTree" and retain the original + * copyright notice. * Contributor( s): ______________________________________ */ @@ -83,14 +83,26 @@ class DiskUsageDashlet extends KTBaseDashlet // we will only check if the result is not cached, or after 5 minutes if ($check) { - $result = ktutil::pexec($this->dfCmd); + $cmd = $this->dfCmd; + + if (OS_WINDOWS) + { + $cmd = str_replace( '/','\\',$cmd); + $result = `"$cmd" 2>&1`; + } + else + { + $result = shell_exec($cmd." 2>&1"); + } + + $result = explode("\n", $result); - $result = $result['out']; - unset($result[0]); + unset($result[0]); // gets rid of headings $usage=array(); foreach($result as $line) { + if (empty($line)) continue; preg_match('/(.*)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\%\s+(.*)/', $line, $matches); list($line, $filesystem, $size, $used, $avail, $usedp, $mount) = $matches; diff --git a/plugins/housekeeper/HouseKeeperPlugin.php b/plugins/housekeeper/HouseKeeperPlugin.php index 5e461f5..5e56272 100644 --- a/plugins/housekeeper/HouseKeeperPlugin.php +++ b/plugins/housekeeper/HouseKeeperPlugin.php @@ -77,8 +77,6 @@ class HouseKeeperPlugin extends KTPlugin 'canClean'=>true )); - if (!OS_WINDOWS) - { $this->folders[] = array( 'name'=>_kt('System Temporary Folder'), @@ -86,7 +84,6 @@ class HouseKeeperPlugin extends KTPlugin 'pattern'=>'(sess_.+)?(.+\.log$)?', 'canClean'=>true ); - } $this->folders[] = array( @@ -97,7 +94,7 @@ class HouseKeeperPlugin extends KTPlugin ); $this->folders[] = array( - 'name'=>_kt('KnowledgeTree Lucene Indexes'), + 'name'=>_kt('KnowledgeTree Document Index'), 'folder'=>$luceneDir, 'pattern'=>'', 'canClean'=>false diff --git a/plugins/housekeeper/templates/DiskUsage.smarty b/plugins/housekeeper/templates/DiskUsage.smarty index 353d040..cd28575 100644 --- a/plugins/housekeeper/templates/DiskUsage.smarty +++ b/plugins/housekeeper/templates/DiskUsage.smarty @@ -1,6 +1,6 @@ - + diff --git a/plugins/ktcore/scheduler/schedulerUtil.php b/plugins/ktcore/scheduler/schedulerUtil.php index 1676445..5f7d66c 100644 --- a/plugins/ktcore/scheduler/schedulerUtil.php +++ b/plugins/ktcore/scheduler/schedulerUtil.php @@ -1,36 +1,36 @@ . - * + * * You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place, * Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com. - * + * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. - * + * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by - * KnowledgeTree" logo and retain the original copyright notice. If the display of the + * KnowledgeTree" logo and retain the original copyright notice. If the display of the * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices - * must display the words "Powered by KnowledgeTree" and retain the original - * copyright notice. + * must display the words "Powered by KnowledgeTree" and retain the original + * copyright notice. * Contributor( s): ______________________________________ * */ @@ -41,7 +41,7 @@ require_once('schedulerEntity.php'); class schedulerUtil extends KTUtil { - + /** * Create a task * Parameters must be passed as an associative array => array('param1' => 'value1') @@ -50,75 +50,74 @@ class schedulerUtil extends KTUtil // Path to scripts $ktPath = '/var/tasks/'; $path = KT_DIR.$ktPath; - + if(!is_dir($path)){ mkdir($path, '0755'); } - + // Create script file $sName = str_replace(' ', '_', $sTask); $sName = str_replace('', "'", $sName); $sName = str_replace('', "&", $sName); $sFileName = $sName.'_'.mt_rand(1, 999).'.php'; - + while(file_exists($path.$sFileName)){ $sFileName = $sTask.'_'.mt_rand(1, 9999).'.php'; } - + $fp = fopen($path.$sFileName, 'w'); fwrite($fp, $sScript); fclose($fp); - + // Register task in the schedule schedulerUtil::registerTask($sTask, $ktPath.$sFileName, $sParams, $sFreq, $iStartTime); } - + /** * Method to register a task in the schedule */ function registerTask($sTask, $sUrl, $aParams, $sFreq, $iStartTime = NULL) { // Run task on next iteration if no start time given $iStartTime = (!empty($iStartTime)) ? strtotime($iStartTime) : time(); - + // Calculate the next run time - get frequency $iNextTime = schedulerUtil::calculateRunTime($sFreq, $iStartTime); - + // Convert parameter array to a string => param=value|param2=value2|param3=value3 $sParams = schedulerUtil::convertParams($aParams); - + // Convert run times to date time format for DB storage $dNextTime = date('Y-m-d H:i:s', $iNextTime); $dStartTime = date('Y-m-d H:i:s', $iStartTime); - + // Insert task into DB / task list $aTask = array(); $aTask['task'] = $sTask; $aTask['script_url'] = $sUrl; $aTask['script_params'] = $sParams; - $aTask['is_background'] = '0'; $aTask['is_complete'] = '0'; $aTask['frequency'] = $sFreq; $aTask['run_time'] = $dNextTime; $aTask['previous_run_time'] = $dStartTime; $aTask['run_duration'] = '0'; - + $oEntity = schedulerEntity::createFromArray($aTask); if (PEAR::isError($oEntity)){ return _kt('Scheduler object can\'t be created'); } - + return $iNextTime; } - + /** * Method to register a background task to be run immediately */ function registerBackgroundTask($sTask, $sUrl, $aParams) { - + // Convert parameter array to a string => param=value|param2=value2|param3=value3 $sParams = schedulerUtil::convertParams($aParams); - + // Insert task into DB / task list $aTask = array(); $aTask['task'] = $sTask; @@ -128,14 +127,14 @@ class schedulerUtil extends KTUtil $aTask['is_complete'] = '0'; $aTask['run_time'] = date('Y-m-d H:i:s'); $aTask['run_duration'] = '0'; - + $oEntity = schedulerEntity::createFromArray($aTask); if (PEAR::isError($oEntity)){ return _kt('Scheduler object can\'t be created'); - } + } return 'TRUE'; } - + /** * Convert parameter array to a string */ @@ -150,15 +149,15 @@ class schedulerUtil extends KTUtil }else{ $sParams = $aParams; } - + return $sParams; } - + /** * Calculate the next run time based on the frequency of iteration and the given time */ function calculateRunTime($sFreq, $iTime) { - + switch($sFreq){ case 'monthly': $iDays = date('t', $iTime); @@ -191,105 +190,105 @@ class schedulerUtil extends KTUtil } $iNextTime = $iTime + $iDiff; return $iNextTime; - } - + } + /** * Update the frequency of a task */ function updateTask($id, $sFreq) { $oScheduler = schedulerEntity::get($id); - + if (PEAR::isError($oScheduler)){ return _kt('Object can\'t be created'); } - - // Recalculate the next run time, use the previous run time as the start time. + + // Recalculate the next run time, use the previous run time as the start time. $iPrevious = $oScheduler->getPrevious(); $iNextTime = schedulerUtil::calculateRunTime($sFreq, $iPrevious); - + $oScheduler->setFrequency($sFreq); $oScheduler->setRunTime($iNextTime); $oScheduler->update(); } - + /** * Update the run time of a task */ function updateRunTime($id, $iNextTime) { $oScheduler = schedulerEntity::get($id); - + if (PEAR::isError($oScheduler)){ return _kt('Object can\'t be created'); } - + $oScheduler->setRunTime($iNextTime); $oScheduler->update(); } - + /** * Check the last run time of the scheduler */ function checkLastRunTime() { $now = date('Y-m-d H:i:s'); $sLastRunTime = ''; $sNextRunTime = ''; - + // Get the last time the scheduler was run $aList = schedulerEntity::getLastRunTime($now); - + if(PEAR::isError($aList)){ return _kt('Tasks can\'t be retrieved'); } - + if(!empty($aList)){ $sLastRunTime = $aList[0]->getPrevious(TRUE); } - + // Get the next date when it should be / have been executed $aList2 = schedulerEntity::getNextRunTime(''); - + if(PEAR::isError($aList2)){ return _kt('Tasks can\'t be retrieved'); } - + if(!empty($aList2)){ $sNextRunTime = $aList2[0]->getRunTime(); } - + return array('lastruntime' => $sLastRunTime, 'nextruntime' => $sNextRunTime); } - + /** * Delete task by name */ function deleteByName($sName) { // Get task by name $oTask = schedulerEntity::getByTaskName($sName); - + if(PEAR::isError($oTask)){ return $oTask; } - + // Delete return $oTask->delete(); } - + /** * Get all completed tasks and delete */ function cleanUpTasks() { // Get list of completed from database $aList = schedulerEntity::getTaskList('1'); - + if (PEAR::isError($aList)){ return _kt('List of tasks can\'t be retrieved.'); } - + if(!empty($aList)){ // start the background process $bg = new background(); $bg->checkConnection(); $bg->keepConnectionAlive(); - + foreach($aList as $oScheduler){ $oScheduler->delete(); } diff --git a/search2/indexing/indexerCore.inc.php b/search2/indexing/indexerCore.inc.php index 02cffa9..6f76776 100644 --- a/search2/indexing/indexerCore.inc.php +++ b/search2/indexing/indexerCore.inc.php @@ -489,7 +489,7 @@ abstract class Indexer $content = preg_replace($src, $tgt, $content); } while ($content != $orig); - return file_put_contents($filename, $content); + return file_put_contents($filename, $content) !== false; } /**
{i18n}Disk Mount{/i18n}{i18n}Mount{/i18n} {i18n}Size{/i18n} {i18n}Used{/i18n} {i18n}Available{/i18n}