16 import(
'lib.pkp.classes.search.SubmissionSearchIndex');
29 for ($i = 0, $count = count($keywords); $i < $count; $i++) {
30 if ($searchDao->insertObjectKeyword($objectId, $keywords[$i], $position) !==
null) {
45 $objectId = $searchDao->insertObject($monographId, $type, $assocId);
58 $file = $submissionFileDao->getLatestRevision($fileId);
65 if ($parser->open()) {
67 $objectId = $searchDao->insertObject($monographId, $type, $fileId);
70 while(($text = $parser->read()) !==
false) {
88 return $searchDao->deleteSubmissionKeywords($monographId, $type, $assocId);
96 $publication = $submission->getCurrentPublication();
100 foreach ($publication->getData(
'authors') as $author) {
101 $authorText = array_merge(
103 array_values((array) $author->getData(
'givenName')),
104 array_values((array) $author->getData(
'familyName')),
105 array_values(array_map(
'strip_tags', (array) $author->getData(
'affiliation'))),
106 array_values(array_map(
'strip_tags', (array) $author->getData(
'biography')))
111 import(
'classes.search.MonographSearch');
112 $submissionId = $submission->getId();
113 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_AUTHOR, $authorText);
114 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_TITLE, $publication->getData(
'title'));
115 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_ABSTRACT, $publication->getData(
'abstract'));
117 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_DISCIPLINE, (array) $publication->getData(
'disciplines'));
118 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_TYPE, (array) $publication->getData(
'type'));
119 $this->
updateTextIndex($submissionId, SUBMISSION_SEARCH_COVERAGE, (array) $publication->getData(
'coverage'));
130 import(
'lib.pkp.classes.submission.SubmissionFile');
131 import(
'classes.search.MonographSearch');
132 $files = $submissionFileDao->getLatestRevisions($monograph->getId(), SUBMISSION_FILE_PROOF);
134 foreach ($files as $file) {
135 if ($file->getFileId()) {
136 $this->
updateFileIndex($monograph->getId(), SUBMISSION_SEARCH_GALLEY_FILE, $file->getFileId());
146 $searchDao->deleteSubmissionKeywords($submission->getId(), SUBMISSION_SEARCH_GALLEY_FILE);
156 'MonographSearchIndex::monographChangesFinished'
167 if (
Config::getVar(
'debug',
'deprecation_warnings')) trigger_error(
'Deprecated call to monographChangesFinished. Use submissionChangesFinished instead.');
178 if ($log) echo
'Clearing index ... ';
181 $searchDao->update(
'DELETE FROM submission_search_object_keywords');
182 $searchDao->update(
'DELETE FROM submission_search_objects');
183 $searchDao->update(
'DELETE FROM submission_search_keyword_list');
184 $searchDao->setCacheDir(
Config::getVar(
'files',
'files_dir') .
'/_db');
185 $searchDao->_dataSource->CacheFlush();
186 if ($log) echo
"done\n";
192 $presses = $pressDao->getAll();
193 while ($press = $presses->next()) {
196 if ($log) echo
"Indexing \"", $press->getLocalizedName(),
"\" ... ";
198 $monographs = $submissionDao->getByContextId($press->getId());
199 while (!$monographs->eof()) {
200 $monograph = $monographs->next();
201 if ($monograph->getDatePublished()) {
209 if ($log) echo $numIndexed,
" monographs indexed\n";