punbb/admin/reindex.php
author Dan
Sat, 05 Apr 2008 23:56:45 -0400
changeset 6 5e1f1e916419
permissions -rw-r--r--
Big upgrade to 1.3 beta. Basic things are working.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     1
<?php
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     2
/***********************************************************************
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     3
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     4
  Copyright (C) 2002-2008  PunBB.org
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     5
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     6
  This file is part of PunBB.
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     7
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     8
  PunBB is free software; you can redistribute it and/or modify it
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
     9
  under the terms of the GNU General Public License as published
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    10
  by the Free Software Foundation; either version 2 of the License,
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    11
  or (at your option) any later version.
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    12
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    13
  PunBB is distributed in the hope that it will be useful, but
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    14
  WITHOUT ANY WARRANTY; without even the implied warranty of
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    15
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    16
  GNU General Public License for more details.
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    17
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    18
  You should have received a copy of the GNU General Public License
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    19
  along with this program; if not, write to the Free Software
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    20
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    21
  MA  02111-1307  USA
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    22
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    23
************************************************************************/
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    24
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    25
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    26
if (!defined('PUN_ROOT'))
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    27
	define('PUN_ROOT', '../');
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    28
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    29
// Tell common.php that we don't want output buffering
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    30
define('PUN_DISABLE_BUFFERING', 1);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    31
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    32
require PUN_ROOT.'include/common.php';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    33
require PUN_ROOT.'include/common_admin.php';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    34
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    35
// import globals (I really hope this isn't dangerous)
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    36
foreach ( $GLOBALS as $key => $_ )
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    37
{
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    38
  $$key =& $GLOBALS[$key];
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    39
}
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    40
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    41
($hook = get_hook('ari_start')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    42
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    43
if ($session->user_level < USER_LEVEL_ADMIN)
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    44
	message($lang_common['No permission']);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    45
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    46
// The reindexer isn't used for MySQL
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    47
if ($db_type == 'mysql' || $db_type == 'mysqli')
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    48
	message($lang_common['Bad request']);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    49
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    50
// Load the admin.php language file
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    51
require PUN_ROOT.'lang/'.$pun_user['language'].'/admin.php';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    52
$GLOBALS['lang_admin'] = $lang_admin;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    53
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    54
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    55
if (isset($_GET['i_per_page']) && isset($_GET['i_start_at']))
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    56
{
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    57
	$per_page = intval($_GET['i_per_page']);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    58
	$start_at = intval($_GET['i_start_at']);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    59
	if ($per_page < 1 || $start_at < 1)
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    60
		message($lang_common['Bad request']);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    61
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    62
	($hook = get_hook('ari_cycle_start')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    63
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    64
	@set_time_limit(0);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    65
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    66
	// If this is the first cycle of posts we empty the search index before we proceed
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    67
	if (isset($_GET['i_empty_index']))
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    68
	{
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    69
		$query = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    70
			'DELETE'	=> 'search_matches'
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    71
		);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    72
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    73
		($hook = get_hook('ari_qr_empty_search_matches')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    74
		$pun_db->query_build($query) or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    75
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    76
		$query = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    77
			'DELETE'	=> 'search_words'
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    78
		);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    79
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    80
		($hook = get_hook('ari_qr_empty_search_words')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    81
		$pun_db->query_build($query) or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    82
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    83
		// Reset the sequence for the search words (not needed for SQLite)
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    84
		if ($db_type == 'pgsql')
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    85
			$result = $pun_db->query('SELECT setval(\''.$pun_db->prefix.'search_words_id_seq\', 1, false)') or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    86
	}
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    87
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    88
?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    89
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    90
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    91
<html lang="<?php $lang_common['lang_identifier'] ?>" dir="<?php echo $lang_common['lang_direction'] ?>">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    92
<head>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    93
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    94
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    95
<title><?php echo htmlspecialchars($pun_config['o_board_title']) ?> - Rebuilding search index …</title>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    96
<style type="text/css">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    97
body {
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    98
	font: 68.75% Verdana, Arial, Helvetica, sans-serif;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
    99
	color: #333333;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   100
	background-color: #FFFFFF
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   101
}
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   102
</style>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   103
</head>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   104
<body>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   105
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   106
<p><?php echo $lang_admin['Rebuilding index'] ?></p>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   107
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   108
<?php
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   109
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   110
	require PUN_ROOT.'include/search_idx.php';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   111
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   112
	// Fetch posts to process
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   113
	$query = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   114
		'SELECT'	=> 'p.id, p.message, t.id, t.subject, t.first_post_id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   115
		'FROM'		=> 'posts AS p',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   116
		'JOINS'		=> array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   117
			array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   118
				'INNER JOIN'	=> 'topics AS t',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   119
				'ON'			=> 't.id=p.topic_id'
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   120
			)
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   121
		),
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   122
		'WHERE'		=> 'p.id>='.$start_at,
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   123
		'ORDER BY'	=> 'p.id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   124
		'LIMIT'		=> $per_page
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   125
	);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   126
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   127
	($hook = get_hook('ari_qr_fetch_posts')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   128
	$result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   129
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   130
	$post_id = 0;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   131
	echo '<p>';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   132
	while ($cur_post = $pun_db->fetch_row($result))
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   133
	{
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   134
		printf($lang_admin['Processing post'], $cur_post[0], $cur_post[2]).'<br />'."\n";
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   135
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   136
		if ($cur_post[0] == $cur_post[4])	// This is the "topic post" so we have to index the subject as well
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   137
			update_search_index('post', $cur_post[0], $cur_post[1], $cur_post[3]);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   138
		else
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   139
			update_search_index('post', $cur_post[0], $cur_post[1]);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   140
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   141
		$post_id = $cur_post[0];
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   142
	}
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   143
	echo '</p>';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   144
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   145
	// Check if there is more work to do
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   146
	$query = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   147
		'SELECT'	=> 'p.id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   148
		'FROM'		=> 'posts AS p',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   149
		'WHERE'		=> 'p.id>'.$post_id,
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   150
		'ORDER BY'	=> 'p.id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   151
		'LIMIT'		=> '1'
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   152
	);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   153
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   154
	($hook = get_hook('ari_qr_find_next_post')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   155
	$result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   156
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   157
	$query_str = ($pun_db->num_rows($result)) ? '?i_per_page='.$per_page.'&i_start_at='.$pun_db->result($result) : '';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   158
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   159
	($hook = get_hook('ari_cycle_end')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   160
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   161
	$pun_db->end_transaction();
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   162
	$pun_db->close();
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   163
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   164
	exit('<script type="text/javascript">window.location="'.pun_link($pun_url['admin_reindex']).$query_str.'"</script><br />'.$lang_admin['Javascript redirect'].' <a href="'.pun_link($pun_url['admin_reindex']).$query_str.'">'.$lang_admin['Click to continue'].'</a>.');
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   165
}
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   166
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   167
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   168
// Get the first post ID from the db
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   169
$query = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   170
	'SELECT'	=> 'p.id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   171
	'FROM'		=> 'posts AS p',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   172
	'ORDER BY'	=> 'p.id',
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   173
	'LIMIT'		=> '1'
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   174
);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   175
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   176
($hook = get_hook('ari_qr_find_lowest_post_id')) ? eval($hook) : null;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   177
$result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   178
if ($pun_db->num_rows($result))
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   179
	$first_id = $pun_db->result($result);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   180
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   181
// Setup form
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   182
$pun_page['set_count'] = $pun_page['fld_count'] = 0;
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   183
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   184
// Setup breadcrumbs
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   185
$pun_page['crumbs'] = array(
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   186
	array($pun_config['o_board_title'], pun_link($pun_url['index'])),
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   187
	array($lang_admin['Forum administration'], pun_link($pun_url['admin_index'])),
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   188
	$lang_admin['Rebuild index']
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   189
);
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   190
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   191
define('PUN_PAGE_SECTION', 'management');
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   192
define('PUN_PAGE', 'admin-reindex');
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   193
require PUN_ROOT.'header.php';
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   194
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   195
?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   196
<div id="pun-main" class="main sectioned admin">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   197
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   198
<?php echo generate_admin_menu(); ?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   199
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   200
	<div class="main-head">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   201
		<h1><span>{ <?php echo end($pun_page['crumbs']) ?> }</span></h1>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   202
	</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   203
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   204
	<div class="main-content frm">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   205
		<div class="frm-head">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   206
			<h2><span><?php echo $lang_admin['Reindex heading'] ?></span></h2>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   207
		</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   208
		<div class="frm-info">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   209
			<p><?php echo $lang_admin['Reindex info'] ?></p>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   210
		</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   211
		<form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo pun_link($pun_url['admin_reindex']) ?>">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   212
			<div class="hidden">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   213
				<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(pun_link($pun_url['admin_reindex'])) ?>" />
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   214
			</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   215
<?php ($hook = get_hook('ari_pre_rebuild_fieldset')) ? eval($hook) : null; ?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   216
			<fieldset class="frm-set set<?php echo ++$pun_page['set_count'] ?>">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   217
				<legend class="frm-legend"><span><?php echo $lang_admin['Rebuild index legend'] ?></span></legend>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   218
<?php ($hook = get_hook('ari_pre_per_page')) ? eval($hook) : null; ?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   219
				<div class="frm-fld text">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   220
					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   221
						<span class="fld-label"><?php echo $lang_admin['Posts per cycle'] ?></span><br />
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   222
						<span class="fld-input"><input type="text" id="fld<?php echo $pun_page['fld_count'] ?>" name="i_per_page" size="7" maxlength="7" value="100" /></span>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   223
						<span class="fld-help"><?php echo $lang_admin['Posts per cycle info'] ?></span>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   224
					</label>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   225
				</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   226
				<div class="frm-fld text">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   227
					<label for="fld<?php echo ++$pun_page['fld_count'] ?>">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   228
						<span class="fld-label"><?php echo $lang_admin['Starting post'] ?></span><br />
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   229
						<span class="fld-input"><input type="text" id="fld<?php echo $pun_page['fld_count'] ?>" name="i_start_at" size="7" maxlength="7" value="<?php echo (isset($first_id)) ? $first_id : 0 ?>" /></span>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   230
						<span class="fld-help"><?php echo $lang_admin['Starting post info'] ?></span>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   231
					</label>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   232
				</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   233
				<div class="radbox checkbox">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   234
					<label for="fld<?php echo ++$pun_page['fld_count'] ?>"><span class="fld-label"><?php echo $lang_admin['Empty index'] ?></span><br /><input type="checkbox" id="fld<?php echo $pun_page['fld_count'] ?>" name="i_empty_index" value="1" checked="checked" /> <?php echo $lang_admin['Empty index info'] ?></label>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   235
				</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   236
<?php ($hook = get_hook('ari_rebuild_end')) ? eval($hook) : null; ?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   237
			</fieldset>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   238
<?php ($hook = get_hook('ari_pre_infobox')) ? eval($hook) : null; ?>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   239
			<div class="frm-info">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   240
				<p class="important"><?php echo $lang_admin['Reindex warning'] ?></p>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   241
				<p class="warn"><?php echo $lang_admin['Empty index warning'] ?></p>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   242
			</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   243
			<div class="frm-buttons">
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   244
				<span class="submit"><input type="submit" name="rebuild_index" value="<?php echo $lang_admin['Rebuild index'] ?>" /></span>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   245
			</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   246
		</form>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   247
	</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   248
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   249
</div>
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   250
<?php
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   251
5e1f1e916419 Big upgrade to 1.3 beta. Basic things are working.
Dan
parents:
diff changeset
   252
require PUN_ROOT.'footer.php';