コード例 #1
0
ファイル: RecordMonitor.php プロジェクト: hnadler/ext-solr
 /**
  * Retrieves the name of the  Indexing Queue Configuration for a record
  *
  * @param string $recordTable Table to read from
  * @param int $recordUid Id of the record
  * @return string Name of indexing configuration
  */
 protected function getIndexingConfigurationName($recordTable, $recordUid)
 {
     $name = $recordTable;
     $indexingConfigurations = $this->solrConfiguration->getEnabledIndexQueueConfigurationNames();
     foreach ($indexingConfigurations as $indexingConfigurationName) {
         if (!$this->solrConfiguration->getIndexQueueConfigurationIsEnabled($indexingConfigurationName)) {
             // ignore disabled indexing configurations
             continue;
         }
         $tableToIndex = $this->solrConfiguration->getIndexQueueTableNameOrFallbackToConfigurationName($indexingConfigurationName);
         if ($tableToIndex === $recordTable) {
             $recordWhereClause = $this->solrConfiguration->getIndexQueueAdditionalWhereClauseByConfigurationName($indexingConfigurationName);
             $record = BackendUtility::getRecord($recordTable, $recordUid, '*', $recordWhereClause);
             if (!empty($record)) {
                 // we found a record which matches the conditions
                 $name = $indexingConfigurationName;
                 // FIXME currently returns after the first configuration match
                 break;
             }
         }
     }
     return $name;
 }
コード例 #2
0
 /**
  * @test
  */
 public function canGetAdditionalWhereClause()
 {
     $fakeConfigurationArray['plugin.']['tx_solr.'] = array('index.' => array('queue.' => array('pages' => 1, 'pages.' => array(), 'custom.' => array('additionalWhereClause' => '1=1'))));
     $configuration = new TypoScriptConfiguration($fakeConfigurationArray);
     $this->assertEquals('', $configuration->getIndexQueueAdditionalWhereClauseByConfigurationName('pages'));
     $this->assertEquals(' AND 1=1', $configuration->getIndexQueueAdditionalWhereClauseByConfigurationName('custom'));
     $this->assertEquals('', $configuration->getIndexQueueAdditionalWhereClauseByConfigurationName('notconfigured'));
 }