sTitle = _kt('Indexing Status'); $this->sClass = 'ktError'; } function is_active($oUser) { if (!Permission::userIsSystemAdministrator($oUser)) { return false; } if (isset($_SESSION['IndexingStatus'])) { $this->indexerName = $_SESSION['IndexingStatus']['indexerName']; $this->indexerDiagnosis = $_SESSION['IndexingStatus']['indexerDiagnosis']; $this->extractorDiagnosis = $_SESSION['IndexingStatus']['extractorDiagnosis']; } else { $indexer = Indexer::get(); $this->indexerName = $indexer->getDisplayName(); $this->indexerDiagnosis = $indexer->diagnose(); $this->extractorDiagnosis = array(); $extractorDiagnosis = $indexer->diagnoseExtractors(); $result = array(); foreach($extractorDiagnosis as $class=>$diagnosis) { $name=$diagnosis['name']; $diag = $diagnosis['diagnosis']; $result[$diag][] = $name; } foreach($result as $problem=>$indexers) { if (empty($problem)) continue; $this->extractorDiagnosis[] = array('problem'=>$problem, 'indexers'=>$indexers); } $this->indexerDiagnosis = str_replace( array("\n",_kt('Administrator Guide')), array('
', sprintf("%s", _kt('Administrator Guide'))), $this->indexerDiagnosis); $_SESSION['IndexingStatus']['indexerName'] = $this->indexerName; $_SESSION['IndexingStatus']['indexerDiagnosis'] = $this->indexerDiagnosis; $_SESSION['IndexingStatus']['extractorDiagnosis'] = $this->extractorDiagnosis; } return true; } function render() { $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('ktcore/search2/indexing_status'); $aTemplateData = array( 'context' => $this, 'indexerName' => $this->indexerName, 'indexerDiagnosis' => $this->indexerDiagnosis, 'extractorDiagnosis' => $this->extractorDiagnosis ); return $oTemplate->render($aTemplateData); } } ?>