use Sound;
use Articles;
use Cache;
+ use Search;
protected static $uaPrefixes = array('-moz-', '-webkit-', '-o-', '-ms-', '');
$this->log('SEO written');
$this->writeSounds();
$this->log('Sound written');
- $this->writeTexts();
- $this->log('Texts written');
+ $this->writeSearch();
+ $this->log('Search written');
$this->writeAccessibility();
$this->log('Accessibility written');
$this->writeExtras();
return Files::mkdir(protected_path('fluidbookpublication/cache/' . $path));
}
- public function writeTexts()
- {
- $cache = sha1($this->fluidbookSettings->highlightResults . '/--/' . $this->fluidbookSettings->searchWordSelectionAlgorithm . '///' . $this->fluidbookSettings->textExtraction . '|--|' . $this->fluidbookSettings->ignoreSearchSeparators . '|||' . $this->getFluidbook()->getCompositionUpdate() . '()()()' . FWSTK::lastUpdate());
- $cacheDir = Files::mkdir(protected_path('fluidbookpublication/index/' . $this->book_id . '/' . $cache . '/'));
- $indexFile = $cacheDir . '/search.index.js';
- $textFile = $cacheDir . '/search.texts.js';
- $hightlightsFile = $cacheDir . '/search.highlight.js';
-
- if (!file_exists($indexFile) || !file_exists($textFile)) {
- SearchIndex::makeTextsIndexes($this, $cacheDir, $index, $texts, true);
- file_put_contents($indexFile, 'var INDEX=' . $index . ';' . "\r");
- file_put_contents($textFile, 'var TEXTS=' . $texts . ";\r");
- }
- if ($this->fluidbookSettings->highlightResults && !file_exists($hightlightsFile)) {
- file_put_contents($hightlightsFile, 'var HIGHLIGHTS=' . json_encode(SearchIndex::makeHighlightIndex($this)) . ";\r");
- }
- $this->vdir->copy($cacheDir . '/search.index.js', 'data/search.index.js');
- if ($this->fluidbookSettings->highlightResults) {
- $this->vdir->copy($cacheDir . '/search.highlight.js', 'data/search.highlight.js');
- }
- if ($this->fluidbookSettings->searchWordSelectionAlgorithm == 'expression') {
- $this->vdir->copy($cacheDir . '/search.texts.js', 'data/search.texts.js');
- }
- }
protected function _SVGCleanAsset($a)
{
--- /dev/null
+<?php
+
+namespace App\Fluidbook\Compiler;
+
+use App\Fluidbook\SearchIndex;
+use Cubist\PDF\CommandLine\FWSTK;
+use Cubist\Util\Files\Files;
+
+trait Search
+{
+ public function writeSearch()
+ {
+ $cache = sha1($this->fluidbookSettings->highlightResults . '/--/' . $this->fluidbookSettings->searchWordSelectionAlgorithm . '///' . $this->fluidbookSettings->textExtraction . '|--|' . $this->fluidbookSettings->ignoreSearchSeparators . '|||' . $this->getFluidbook()->getCompositionUpdate() . '()()()' . FWSTK::lastUpdate());
+ $cacheDir = Files::mkdir(protected_path('fluidbookpublication/index/' . $this->book_id . '/' . $cache . '/'));
+ $indexFile = $cacheDir . '/search.index.js';
+ $textFile = $cacheDir . '/search.texts.js';
+ $hightlightsFile = $cacheDir . '/search.highlight.js';
+
+ if (!file_exists($indexFile) || !file_exists($textFile)) {
+ SearchIndex::makeTextsIndexes($this, $cacheDir, $index, $texts, true);
+ file_put_contents($indexFile, 'var INDEX=' . $index . ';' . "\r");
+ file_put_contents($textFile, 'var TEXTS=' . $texts . ";\r");
+ }
+ if ($this->fluidbookSettings->highlightResults && !file_exists($hightlightsFile)) {
+ file_put_contents($hightlightsFile, 'var HIGHLIGHTS=' . json_encode(SearchIndex::makeHighlightIndex($this)) . ";\r");
+ }
+ $this->vdir->copy($cacheDir . '/search.index.js', 'data/search.index.js');
+ if ($this->fluidbookSettings->highlightResults) {
+ $this->vdir->copy($cacheDir . '/search.highlight.js', 'data/search.highlight.js');
+ }
+ if ($this->fluidbookSettings->search_mode==='robust' || $this->fluidbookSettings->searchWordSelectionAlgorithm == 'expression') {
+ $this->vdir->copy($cacheDir . '/search.texts.js', 'data/search.texts.js');
+ }
+ }
+}