sTitle = _kt('External Resource Dependancy Status'); $this->sClass = 'ktError'; } function addIssue($resource, $status) { $this->resources[] = array( 'name'=>$resource, 'status'=>str_replace( array("\n",_kt('Administrator Guide')), array('
', sprintf("%s", _kt('Administrator Guide'))), $status)); } function checkResources() { $check = true; // check if we have a cached result if (isset($_SESSION['ExternalResourceStatus'])) { // we will only do the check every 5 minutes if (time() - $_SESSION['ExternalResourceStatus']['time'] < 5 * 60) { $check = false; $this->resources = $_SESSION['ExternalResourceStatus']['resources']; } } // we will only check if the result is not cached, or after 5 minutes if ($check) { $this->checkOpenOffice(); $this->checkLucene(); $_SESSION['ExternalResourceStatus']['time'] = time(); $_SESSION['ExternalResourceStatus']['resources'] = $this->resources; } return (count($this->resources) > 0); } function checkOpenOffice() { $diagnose = SearchHelper::checkOpenOfficeAvailablity(); if (!is_null($diagnose)) { $this->addIssue(_kt('Open Office Server'), $diagnose); } } function checkLucene() { $indexer = Indexer::get(); $diagnose = $indexer->diagnose(); if (!is_null($diagnose)) { $this->addIssue(_kt('Lucene Indexer'), $diagnose); } } function is_active($oUser) { if (!Permission::userIsSystemAdministrator()) { return false; } return $this->checkResources() > 0; } function render() { $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('ktcore/search2/external_resources'); $aTemplateData = array( 'context' => $this, 'resources' => $this->resources ); return $oTemplate->render($aTemplateData); } } ?>