Пример #1
0
 function store($input, RecommendationSet $recommendations)
 {
     if ($input instanceof Input\UserInput) {
         foreach ($recommendations as $rec) {
             $this->relation->add_relation('tiki.recommendation.obtained', 'user', $input->getUser(), $rec->getType(), $rec->getId());
             $this->events->trigger('tiki.save', ['type' => $rec->getType(), 'object' => $rec->getId()]);
             $this->events->trigger('tiki.recommendation.incoming', ['type' => 'user', 'object' => $input->getUser(), 'item_type' => $rec->getType(), 'item_id' => $rec->getId(), 'engine_id' => $recommendations->getEngine()]);
             // We only want to recommend one item per run
             break;
         }
     }
 }
Пример #2
0
 function testBatchIgnoresDebugInformation()
 {
     $engineSet = new EngineSet();
     $engineSet->register('test-a', new Engine\FakeEngine([new Debug\SourceDocument('wiki page', 'Content A'), ['type' => 'wiki page', 'object' => 'Content B']]));
     $this->inputs = [new U('a')];
     $batch = new BatchProcessor($this, $engineSet);
     $batch->process();
     $expect = new RecommendationSet('test-a');
     $expect->add(new Recommendation('wiki page', 'Content B'));
     $this->assertEquals([new U('a'), $expect], $this->storeCalls[0]);
 }