public function writeTexts()
{
- $cache = sha1($this->book->parametres->highlightResults . '/--/' . $this->book->parametres->searchWordSelectionAlgorithm . '///' . $this->book->parametres->textExtraction . '|--|' . $this->book->parametres->ignoreSearchSeparators . '|||' . $this->book->composition_update . '()()()' . filemtime(WS_TOOLS . '/fwstk/out/artifacts/fwstk_jar/fwstk.jar'));
- $cacheDir = wsBook::getDir($this->book_id, 'index') . 'cache/';
+ $cacheKey = sha1($this->book->parametres->highlightResults . '/--/' . $this->book->parametres->searchWordSelectionAlgorithm . '///' . $this->book->parametres->textExtraction . '|--|' . $this->book->parametres->ignoreSearchSeparators . '|||' . $this->book->composition_update . '()()()' . filemtime(WS_TOOLS . '/fwstk/out/artifacts/fwstk_jar/fwstk.jar'));
+ $cacheDir = wsBook::getDir($this->book_id, 'index') . 'cache/' . $cacheKey . '/';
if (!file_exists($cacheDir)) {
mkdir($cacheDir, 0777, true);
-
$this->daoBook->makeTextsIndexes($this->book, $this->pages, $index, $textes, true);
file_put_contents($cacheDir . '/search.index.js', 'var INDEX=' . $index . ';' . "\r");
- if ($this->book->parametres->highlightResults) {
- file_put_contents($cacheDir . '/search.highlight.js', 'var HIGHLIGHTS=' . json_encode($this->daoBook->makeHighlightIndex($this->book, $this->pages)) . ";\r");
- }
- if ($this->book->parametres->searchWordSelectionAlgorithm == 'expression') {
- file_put_contents($cacheDir . '/search.texts.js', 'var TEXTS=' . $textes . ";\r");
- }
}
+ if ($this->book->parametres->highlightResults && !file_exists($cacheDir . '/search.highlight.js')) {
+ file_put_contents($cacheDir . '/search.highlight.js', 'var HIGHLIGHTS=' . json_encode($this->daoBook->makeHighlightIndex($this->book, $this->pages)) . ";\r");
+ }
+ if ($this->book->parametres->searchWordSelectionAlgorithm == 'expression' && !file_exists($cacheDir . '/search.texts.js')) {
+ file_put_contents($cacheDir . '/search.texts.js', 'var TEXTS=' . $textes . ";\r");
+ }
+
+
$this->vdir->copy($cacheDir . '/search.index.js', 'data/search.index.js');
if ($this->book->parametres->highlightResults) {
$this->vdir->copy($cacheDir . '/search.highlight.js', 'data/search.highlight.js');