aboutsummaryrefslogtreecommitdiff
path: root/lib/dokuwiki/bin/indexer.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dokuwiki/bin/indexer.php')
-rwxr-xr-xlib/dokuwiki/bin/indexer.php172
1 files changed, 0 insertions, 172 deletions
diff --git a/lib/dokuwiki/bin/indexer.php b/lib/dokuwiki/bin/indexer.php
deleted file mode 100755
index 55f3608d5..000000000
--- a/lib/dokuwiki/bin/indexer.php
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/php
-<?php
-if ('cli' != php_sapi_name()) die();
-
-ini_set('memory_limit','128M');
-if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
-require_once(DOKU_INC.'inc/init.php');
-require_once(DOKU_INC.'inc/common.php');
-require_once(DOKU_INC.'inc/pageutils.php');
-require_once(DOKU_INC.'inc/search.php');
-require_once(DOKU_INC.'inc/indexer.php');
-require_once(DOKU_INC.'inc/auth.php');
-require_once(DOKU_INC.'inc/cliopts.php');
-session_write_close();
-
-// Version tag used to force rebuild on upgrade
-// Need to keep in sync with lib/exe/indexer.php
-if(!defined('INDEXER_VERSION')) define('INDEXER_VERSION', 2);
-
-// handle options
-$short_opts = 'hcuq';
-$long_opts = array('help', 'clear', 'update', 'quiet');
-$OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts);
-if ( $OPTS->isError() ) {
- fwrite( STDERR, $OPTS->getMessage() . "\n");
- _usage();
- exit(1);
-}
-$CLEAR = false;
-$QUIET = false;
-foreach ($OPTS->options as $key => $val) {
- switch ($key) {
- case 'h':
- case 'help':
- _usage();
- exit;
- case 'c':
- case 'clear':
- $CLEAR = true;
- break;
- case 'q':
- case 'quiet':
- $QUIET = true;
- break;
- }
-}
-
-#------------------------------------------------------------------------------
-# Action
-
-if($CLEAR) _clearindex();
-_update();
-
-
-
-#------------------------------------------------------------------------------
-
-function _usage() {
- print "Usage: indexer.php <options>
-
- Updates the searchindex by indexing all new or changed pages
- when the -c option is given the index is cleared first.
-
- OPTIONS
- -h, --help show this help and exit
- -c, --clear clear the index before updating
- -q, --quiet don't produce any output
-";
-}
-
-function _update(){
- global $conf;
-
- // upgrade to version 2
- if (!@file_exists($conf['indexdir'].'/pageword.idx')){
- _lock();
- idx_upgradePageWords();
- _unlock();
- }
-
- $data = array();
- _quietecho("Searching pages... ");
- search($data,$conf['datadir'],'search_allpages',array('skipacl' => true));
- _quietecho(count($data)." pages found.\n");
-
- foreach($data as $val){
- _index($val['id']);
- }
-}
-
-function _index($id){
- global $CLEAR;
-
- // if not cleared only update changed and new files
- if(!$CLEAR){
- $idxtag = metaFN($id,'.indexed');
- if(@file_exists($idxtag)){
- if(io_readFile($idxtag) >= INDEXER_VERSION){
- $last = @filemtime(metaFN($id,'.indexed'));
- if($last > @filemtime(wikiFN($id))) return;
- }
- }
- }
-
- _lock();
- _quietecho("$id... ");
- idx_addPage($id);
- io_saveFile(metaFN($id,'.indexed'),INDEXER_VERSION);
- _quietecho("done.\n");
- _unlock();
-}
-
-/**
- * lock the indexer system
- */
-function _lock(){
- global $conf;
- $lock = $conf['lockdir'].'/_indexer.lock';
- $said = false;
- while(!@mkdir($lock, $conf['dmode'])){
- if(time()-@filemtime($lock) > 60*5){
- // looks like a stale lock - remove it
- @rmdir($lock);
- }else{
- if($said){
- _quietecho(".");
- }else{
- _quietecho("Waiting for lockfile (max. 5 min)");
- $said = true;
- }
- sleep(15);
- }
- }
- if($conf['dperm']) chmod($lock, $conf['dperm']);
- if($said) _quietecho("\n");
-}
-
-/**
- * unlock the indexer sytem
- */
-function _unlock(){
- global $conf;
- $lock = $conf['lockdir'].'/_indexer.lock';
- @rmdir($lock);
-}
-
-/**
- * Clear all index files
- */
-function _clearindex(){
- global $conf;
- _lock();
- _quietecho("Clearing index... ");
- io_saveFile($conf['indexdir'].'/page.idx','');
- $dir = @opendir($conf['indexdir']);
- if($dir!==false){
- while(($f = readdir($dir)) !== false){
- if(substr($f,-4)=='.idx' &&
- (substr($f,0,1)=='i' || substr($f,0,1)=='w'))
- @unlink($conf['indexdir']."/$f");
- }
- }
- _quietecho("done.\n");
- _unlock();
-}
-
-function _quietecho($msg) {
- global $QUIET;
- if(!$QUIET) echo $msg;
-}
-
-//Setup VIM: ex: et ts=2 enc=utf-8 :