--- a/includes/pageprocess.php Mon Sep 24 23:59:42 2007 -0400
+++ b/includes/pageprocess.php Thu Sep 27 15:55:37 2007 -0400
@@ -2,7 +2,7 @@
/*
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between
- * Version 1.0.2 (Coblynau)
+ * Version 1.0.1 (Loch Ness)
* pageprocess.php - intelligent retrieval of pages
* Copyright (C) 2006-2007 Dan Fuhry
*
@@ -212,7 +212,7 @@
return false;
}
}
- else if ( $this->namespace == 'User' && strpos($this->page_id, '/') === false )
+ else if ( $this->namespace == 'User' )
{
$this->_handle_userpage();
}
@@ -371,8 +371,6 @@
global $db, $session, $paths, $template, $plugins; // Common objects
$text = $this->fetch_text();
- $text = preg_replace('/([\s]*)__NOBREADCRUMBS__([\s]*)/', '', $text);
- $text = preg_replace('/([\s]*)__NOTOC__([\s]*)/', '', $text);
$redir_enabled = false;
if ( preg_match('/^#redirect \[\[([^\]]+?)\]\]/i', $text, $match ) )
@@ -420,7 +418,6 @@
$template->tpl_strings['PAGE_NAME'] = htmlspecialchars( $this->title );
$this->header();
- $this->do_breadcrumbs();
if ( $_errormsg )
{
@@ -634,8 +631,6 @@
));
$target_username = preg_replace('/^' . preg_quote($paths->nslist['User']) . '/', '', $target_username);
- $target_username = explode('/', $target_username);
- $target_username = $target_username[0];
if ( ( $page_name == str_replace('_', ' ', $this->page_id) || $page_name == $paths->nslist['User'] . str_replace('_', ' ', $this->page_id) ) || !$this->page_exists )
{
@@ -709,13 +704,6 @@
echo '<tr><td class="row3">Real name: ' . $userdata['real_name'] . '</td></tr>';
}
- // Administer user button
-
- if ( $session->user_level >= USER_LEVEL_ADMIN )
- {
- echo '<tr><td class="row1"><a href="' . makeUrlNS('Special', 'Administration', 'module=' . $paths->nslist['Admin'] . 'UserManager&src=get&user=' . urlencode($target_username), true) . '" onclick="ajaxAdminUser(\'' . addslashes($target_username) . '\'); return false;">Administer user</a></td></tr>';
- }
-
// Comments
echo '<tr><th class="subhead">' . htmlspecialchars($target_username) . '\'s latest comments</th></tr>';
@@ -942,7 +930,6 @@
function _handle_redirect($page_id, $namespace)
{
- global $db, $session, $paths, $template, $plugins; // Common objects
$arr_pid = array($this->page_id, $this->namespace);
if ( $namespace == 'Special' || $namespace == 'Admin' )
{
@@ -952,7 +939,7 @@
{
return 'This page infinitely redirects with another page (or another series of pages), and the infinite redirect was trapped.';
}
- $page_id_key = $paths->nslist[ $namespace ] . sanitize_page_id($page_id);
+ $page_id_key = $paths->nslist[ $namespace ] . $page_id;
if ( !isset($paths->pages[$page_id_key]) )
{
return 'This page redirects to another page that doesn\'t exist.';
@@ -976,39 +963,14 @@
{
global $db, $session, $paths, $template, $plugins; // Common objects
- // Log it for crying out loud
- $q = $db->sql_query('INSERT INTO '.table_prefix.'logs(log_type,action,time_id,date_string,author,edit_summary,page_text) VALUES(\'security\', \'illegal_page\', '.time().', \''.date('d M Y h:i a').'\', \''.$db->escape($session->username).'\', \''.$db->escape($_SERVER['REMOTE_ADDR']).'\', \'' . $db->escape(serialize(array($this->page_id, $this->namespace))) . '\')');
-
$ob = '';
- //$template->tpl_strings['PAGE_NAME'] = 'Access denied';
- $template->tpl_strings['PAGE_NAME'] = htmlspecialchars( $this->title );
+ $template->tpl_strings['PAGE_NAME'] = 'Access denied';
if ( $this->send_headers )
{
$ob .= $template->getHeader();
}
- if ( count($this->redirect_stack) > 0 )
- {
- $stack = array_reverse($this->redirect_stack);
- foreach ( $stack as $oldtarget )
- {
- $url = makeUrlNS($oldtarget[1], $oldtarget[0], 'redirect=no', true);
- $page_id_key = $paths->nslist[ $oldtarget[1] ] . $oldtarget[0];
- $page_data = $paths->pages[$page_id_key];
- $title = ( isset($page_data['name']) ) ? $page_data['name'] : $paths->nslist[$oldtarget[1]] . htmlspecialchars( str_replace('_', ' ', dirtify_page_id( $oldtarget[0] ) ) );
- $a = '<a href="' . $url . '">' . $title . '</a>';
-
- $url = makeUrlNS($this->namespace, $this->page_id, 'redirect=no', true);
- $page_id_key = $paths->nslist[ $this->namespace ] . $this->page_id;
- $page_data = $paths->pages[$page_id_key];
- $title = ( isset($page_data['name']) ) ? $page_data['name'] : $paths->nslist[$this->namespace] . htmlspecialchars( str_replace('_', ' ', dirtify_page_id( $this->page_id ) ) );
- $b = '<a href="' . $url . '">' . $title . '</a>';
-
- $ob .= '<small>(Redirected to ' . $b . ' from ' . $a . ')<br /></small>';
- }
- }
-
$ob .= '<div class="error-box"><b>Access to this page is denied.</b><br />This may be because you are not logged in or you have not met certain criteria for viewing this page.</div>';
if ( $this->send_headers )
@@ -1082,11 +1044,8 @@
{
global $db, $session, $paths, $template, $plugins; // Common objects
+ $this->header();
header('HTTP/1.1 404 Not Found');
-
- $this->header();
- $this->do_breadcrumbs();
-
if ( $userpage )
{
echo '<h3>There is no page with this title yet.</h3>
@@ -1116,10 +1075,6 @@
{
$r = $db->fetchrow();
echo '<p><b>This page was deleted on ' . $r['date_string'] . '.</b> The stated reason was:</p><blockquote>' . $r['edit_summary'] . '</blockquote><p>You can probably <a href="'.makeUrl($paths->page, 'do=rollback&id='.$r['time_id']).'" onclick="ajaxRollback(\''.$r['time_id'].'\'); return false;">roll back</a> the deletion.</p>';
- if ( $session->user_level >= USER_LEVEL_ADMIN )
- {
- echo '<p>Additional admin options: <a href="' . makeUrl($paths->page, 'do=detag', true) . '" title="Remove any tags on this page">detag page</a></p>';
- }
}
$db->free_result();
}
@@ -1130,58 +1085,6 @@
}
/**
- * Echoes out breadcrumb data, if appropriate.
- * @access private
- */
-
- function do_breadcrumbs()
- {
- global $db, $session, $paths, $template, $plugins; // Common objects
- if ( strpos($this->text_cache, '__NOBREADCRUMBS__') !== false )
- return false;
- $breadcrumb_data = explode('/', $this->page_id);
- if ( count($breadcrumb_data) > 1 )
- {
- echo '<!-- Start breadcrumbs -->
- <div class="breadcrumbs">
- ';
- foreach ( $breadcrumb_data as $i => $higherpage )
- {
- $higherpage = $paths->nslist[$this->namespace] . sanitize_page_id(implode('/', array_slice($breadcrumb_data, 0, ($i+1))));
- if ( ($i + 1) == count($breadcrumb_data) )
- {
- $title = get_page_title($higherpage, false);
- if ( !$this->page_exists )
- {
- $title = explode('/', $title);
- $title = array_reverse($title);
- $title = $title[0];
- }
- echo htmlspecialchars($title);
- break;
- }
- else if ( isPage($higherpage) )
- {
- $title = get_page_title($higherpage, false);
- echo '<a href="' . makeUrl($higherpage, false, true) . '">' . htmlspecialchars($title) . '</a>';
- }
- else
- {
- $title = get_page_title($higherpage, false);
- $title = explode('/', $title);
- $title = array_reverse($title);
- $title = $title[0];
- echo '<a href="' . makeUrl($higherpage, false, true) . '" class="wikilink-nonexistent">' . htmlspecialchars($title) . '</a>';
- }
- echo ' » ';
- }
- echo '</div>
- <!-- End breadcrumbs -->
- ';
- }
- }
-
- /**
* PHP 4 constructor.
* @see PageProcessor::__construct()
*/