author | Dan |
Wed, 08 Jul 2009 18:50:17 -0400 | |
changeset 1039 | 4226cedb3bc4 |
parent 1016 | 6d32d80b2192 |
child 1074 | 1a4f13626f76 |
permissions | -rw-r--r-- |
0 | 1 |
<?php |
73
0a74676a2f2f
Made the move to Loch Ness, and got some basic page grouping functionality working. TODO: fix some UI issues in Javascript ACL editor and change non-JS ACL editor to work with page groups too
Dan
parents:
70
diff
changeset
|
2 |
|
166
d53cc29308f4
Rebrand as 1.1.1; everything should now be bumped to "unstable" status
Dan
parents:
160
diff
changeset
|
3 |
/* |
0 | 4 |
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between |
801
eb8b23f11744
Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents:
798
diff
changeset
|
5 |
* Version 1.1.6 (Caoineag beta 1) |
536 | 6 |
* Copyright (C) 2006-2008 Dan Fuhry |
0 | 7 |
* |
8 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
9 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
12 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
13 |
* |
|
246
c9fd175289aa
Cleaned up some HTML in the installer; corrected some phpDoc syntax errors
Dan
parents:
183
diff
changeset
|
14 |
* @package Enano |
c9fd175289aa
Cleaned up some HTML in the installer; corrected some phpDoc syntax errors
Dan
parents:
183
diff
changeset
|
15 |
* @subpackage Frontend |
0 | 16 |
*/ |
246
c9fd175289aa
Cleaned up some HTML in the installer; corrected some phpDoc syntax errors
Dan
parents:
183
diff
changeset
|
17 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
307
diff
changeset
|
18 |
define('ENANO_INTERFACE_INDEX', ''); |
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
337
diff
changeset
|
19 |
|
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
337
diff
changeset
|
20 |
// For the mighty and brave. |
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
594
diff
changeset
|
21 |
// define('ENANO_DEBUG', ''); |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
307
diff
changeset
|
22 |
|
81
d7fc25acd3f3
Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents:
80
diff
changeset
|
23 |
// Set up gzip encoding before any output is sent |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
24 |
|
637 | 25 |
$aggressive_optimize_html = true; |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
26 |
|
0 | 27 |
global $do_gzip; |
953
323c4cd1aa37
Made some more changes to the way namespaces are handled, for optimization purposes. This is a bit of a structural reorganization: $paths->pages is obsoleted in its entirety; calculating page existence and metadata is now the job of the Namespace_* backend class. There are many things in PageProcessor that should be reorganized, and page actions in general should really be rethought. This is probably the beginning of a long process that will be taking place over the course of the betas.
Dan
parents:
907
diff
changeset
|
28 |
// FIXME: make this configurable |
637 | 29 |
$do_gzip = true; |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
30 |
|
80
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
73
diff
changeset
|
31 |
if ( isset($_GET['nocompress']) ) |
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
73
diff
changeset
|
32 |
$aggressive_optimize_html = false; |
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
73
diff
changeset
|
33 |
|
0 | 34 |
error_reporting(E_ALL); |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
35 |
|
0 | 36 |
if($aggressive_optimize_html || $do_gzip) |
37 |
{ |
|
38 |
ob_start(); |
|
39 |
} |
|
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
40 |
|
564
a1c450a911a6
Updated version number metadata in system plugin files; added some comments and removed unused code from index.php and includes/graphs.php
Dan
parents:
547
diff
changeset
|
41 |
// start up Enano |
0 | 42 |
require('includes/common.php'); |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
43 |
|
0 | 44 |
global $db, $session, $paths, $template, $plugins; // Common objects |
542
5841df0ab575
Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Dan
parents:
536
diff
changeset
|
45 |
$page_timestamp = time(); |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
46 |
|
307 | 47 |
if ( !isset($_GET['do']) ) |
48 |
{ |
|
49 |
$_GET['do'] = 'view'; |
|
50 |
} |
|
0 | 51 |
switch($_GET['do']) |
52 |
{ |
|
53 |
default: |
|
759
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
54 |
$code = $plugins->setHook('page_action'); |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
55 |
ob_start(); |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
56 |
foreach ( $code as $cmd ) |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
57 |
{ |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
58 |
eval($cmd); |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
59 |
} |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
60 |
if ( $contents = ob_get_contents() ) |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
61 |
{ |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
62 |
ob_end_clean(); |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
63 |
echo $contents; |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
64 |
} |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
65 |
else |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
66 |
{ |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
67 |
die_friendly('Invalid action', '<p>The action "'.htmlspecialchars($_GET['do']).'" is not defined. Return to <a href="'.makeUrl($paths->page).'">viewing this page\'s text</a>.</p>'); |
6e2671261802
Plugins can now register their own custom actions for $_GET["do"].
Dan
parents:
685
diff
changeset
|
68 |
} |
0 | 69 |
break; |
70 |
case 'view': |
|
71 |
// echo PageUtils::getpage($paths->page, true, ( (isset($_GET['oldid'])) ? $_GET['oldid'] : false )); |
|
21
663fcf528726
Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents:
16
diff
changeset
|
72 |
$rev_id = ( (isset($_GET['oldid'])) ? intval($_GET['oldid']) : 0 ); |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
73 |
$page = new PageProcessor( $paths->page_id, $paths->namespace, $rev_id ); |
953
323c4cd1aa37
Made some more changes to the way namespaces are handled, for optimization purposes. This is a bit of a structural reorganization: $paths->pages is obsoleted in its entirety; calculating page existence and metadata is now the job of the Namespace_* backend class. There are many things in PageProcessor that should be reorganized, and page actions in general should really be rethought. This is probably the beginning of a long process that will be taking place over the course of the betas.
Dan
parents:
907
diff
changeset
|
74 |
// Feed this PageProcessor to the template processor. This prevents $template from starting another |
323c4cd1aa37
Made some more changes to the way namespaces are handled, for optimization purposes. This is a bit of a structural reorganization: $paths->pages is obsoleted in its entirety; calculating page existence and metadata is now the job of the Namespace_* backend class. There are many things in PageProcessor that should be reorganized, and page actions in general should really be rethought. This is probably the beginning of a long process that will be taking place over the course of the betas.
Dan
parents:
907
diff
changeset
|
75 |
// PageProcessor when we already have one going. |
323c4cd1aa37
Made some more changes to the way namespaces are handled, for optimization purposes. This is a bit of a structural reorganization: $paths->pages is obsoleted in its entirety; calculating page existence and metadata is now the job of the Namespace_* backend class. There are many things in PageProcessor that should be reorganized, and page actions in general should really be rethought. This is probably the beginning of a long process that will be taking place over the course of the betas.
Dan
parents:
907
diff
changeset
|
76 |
$template->set_page($page); |
0 | 77 |
$page->send_headers = true; |
963
b572ce1114f1
Wikitext redirects should work again + get_redirect() added to Namespace_* to allow plugins to extend
Dan
parents:
953
diff
changeset
|
78 |
$page->allow_redir = ( !isset($_GET['redirect']) || (isset($_GET['redirect']) && $_GET['redirect'] !== 'no') ); |
32
4d87aad3c4c0
Finished everything on the TODO list (yay!); several CSS cleanups; tons more changes in this commit - see the patch for details
Dan
parents:
28
diff
changeset
|
79 |
$pagepass = ( isset($_REQUEST['pagepass']) ) ? sha1($_REQUEST['pagepass']) : ''; |
4d87aad3c4c0
Finished everything on the TODO list (yay!); several CSS cleanups; tons more changes in this commit - see the patch for details
Dan
parents:
28
diff
changeset
|
80 |
$page->password = $pagepass; |
61 | 81 |
$page->send(true); |
542
5841df0ab575
Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Dan
parents:
536
diff
changeset
|
82 |
$page_timestamp = $page->revision_time; |
0 | 83 |
break; |
84 |
case 'comments': |
|
1016
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
85 |
$output->header(); |
592 | 86 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 87 |
$sub = ( isset ($_GET['sub']) ) ? $_GET['sub'] : false; |
88 |
switch($sub) |
|
89 |
{ |
|
90 |
case 'admin': |
|
91 |
default: |
|
92 |
$act = ( isset ($_GET['action']) ) ? $_GET['action'] : false; |
|
93 |
$id = ( isset ($_GET['id']) ) ? intval($_GET['id']) : -1; |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
94 |
echo PageUtils::comments_html($paths->page_id, $paths->namespace, $act, Array('id'=>$id)); |
0 | 95 |
break; |
96 |
case 'postcomment': |
|
97 |
if(empty($_POST['name']) || |
|
98 |
empty($_POST['subj']) || |
|
99 |
empty($_POST['text']) |
|
100 |
) { echo 'Invalid request'; break; } |
|
101 |
$cid = ( isset($_POST['captcha_id']) ) ? $_POST['captcha_id'] : false; |
|
102 |
$cin = ( isset($_POST['captcha_input']) ) ? $_POST['captcha_input'] : false; |
|
1016
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
103 |
|
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
104 |
require_once('includes/comment.php'); |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
105 |
$comments = new Comments($paths->page_id, $paths->namespace); |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
106 |
|
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
107 |
$submission = array( |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
108 |
'mode' => 'submit', |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
109 |
'captcha_id' => $cid, |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
110 |
'captcha_code' => $cin, |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
111 |
'name' => $_POST['name'], |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
112 |
'subj' => $_POST['subj'], |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
113 |
'text' => $_POST['text'], |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
114 |
); |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
115 |
|
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
116 |
$result = $comments->process_json($submission); |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
117 |
if ( $result['mode'] == 'error' ) |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
118 |
{ |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
119 |
echo '<div class="error-box">' . htmlspecialchars($result['error']) . '</div>'; |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
120 |
} |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
121 |
else |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
122 |
{ |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
123 |
echo '<div class="info-box">' . $lang->get('comment_msg_comment_posted') . '</div>'; |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
124 |
} |
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
125 |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
126 |
echo PageUtils::comments_html($paths->page_id, $paths->namespace); |
0 | 127 |
break; |
128 |
case 'editcomment': |
|
129 |
if(!isset($_GET['id']) || ( isset($_GET['id']) && !preg_match('#^([0-9]+)$#', $_GET['id']) )) { echo '<p>Invalid comment ID</p>'; break; } |
|
130 |
$q = $db->sql_query('SELECT subject,comment_data,comment_id FROM '.table_prefix.'comments WHERE comment_id='.$_GET['id']); |
|
131 |
if(!$q) $db->_die('The comment data could not be selected.'); |
|
132 |
$row = $db->fetchrow(); |
|
133 |
$db->free_result(); |
|
213
1316404e4ea8
Localized history page and static HTML comment interface
Dan
parents:
187
diff
changeset
|
134 |
$row['subject'] = str_replace('\'', ''', $row['subject']); |
0 | 135 |
echo '<form action="'.makeUrl($paths->page, 'do=comments&sub=savecomment').'" method="post">'; |
136 |
echo "<br /><div class='tblholder'><table border='0' width='100%' cellspacing='1' cellpadding='4'> |
|
213
1316404e4ea8
Localized history page and static HTML comment interface
Dan
parents:
187
diff
changeset
|
137 |
<tr><td class='row1'>" . $lang->get('comment_postform_field_subject') . "</td><td class='row1'><input type='text' name='subj' value='{$row['subject']}' /></td></tr> |
1316404e4ea8
Localized history page and static HTML comment interface
Dan
parents:
187
diff
changeset
|
138 |
<tr><td class='row2'>" . $lang->get('comment_postform_field_comment') . "</td><td class='row2'><textarea rows='10' cols='40' style='width: 98%;' name='text'>{$row['comment_data']}</textarea></td></tr> |
1316404e4ea8
Localized history page and static HTML comment interface
Dan
parents:
187
diff
changeset
|
139 |
<tr><td class='row1' colspan='2' class='row1' style='text-align: center;'><input type='hidden' name='id' value='{$row['comment_id']}' /><input type='submit' value='" . $lang->get('etc_save_changes') . "' /></td></tr> |
0 | 140 |
</table></div>"; |
141 |
echo '</form>'; |
|
142 |
break; |
|
143 |
case 'savecomment': |
|
144 |
if(empty($_POST['subj']) || empty($_POST['text'])) { echo '<p>Invalid request</p>'; break; } |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
145 |
$r = PageUtils::savecomment_neater($paths->page_id, $paths->namespace, $_POST['subj'], $_POST['text'], (int)$_POST['id']); |
0 | 146 |
if($r != 'good') { echo "<pre>$r</pre>"; break; } |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
147 |
echo PageUtils::comments_html($paths->page_id, $paths->namespace); |
0 | 148 |
break; |
149 |
case 'deletecomment': |
|
150 |
if(!empty($_GET['id'])) |
|
151 |
{ |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
152 |
PageUtils::deletecomment_neater($paths->page_id, $paths->namespace, (int)$_GET['id']); |
0 | 153 |
} |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
154 |
echo PageUtils::comments_html($paths->page_id, $paths->namespace); |
0 | 155 |
break; |
156 |
} |
|
1016
6d32d80b2192
Comments: SECURITY: Fixed IP not recorded in non-JSON submit and a few other non-security issues
Dan
parents:
963
diff
changeset
|
157 |
$output->footer(); |
0 | 158 |
break; |
159 |
case 'edit': |
|
285
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
160 |
if(isset($_POST['_cancel'])) |
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
161 |
{ |
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
162 |
redirect(makeUrl($paths->page), '', '', 0); |
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
163 |
break; |
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
164 |
} |
592 | 165 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
285
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
166 |
if(isset($_POST['_save'])) |
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
167 |
{ |
337
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
168 |
$captcha_valid = true; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
169 |
if ( !$session->user_logged_in && getConfig('guest_edit_require_captcha') == '1' ) |
285
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
170 |
{ |
337
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
171 |
$captcha_valid = false; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
172 |
if ( isset($_POST['captcha_id']) && isset($_POST['captcha_code']) ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
173 |
{ |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
174 |
$hash_correct = strtolower($session->get_captcha($_POST['captcha_id'])); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
175 |
$hash_input = strtolower($_POST['captcha_code']); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
176 |
if ( $hash_input === $hash_correct ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
177 |
$captcha_valid = true; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
178 |
} |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
179 |
} |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
180 |
if ( $captcha_valid ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
181 |
{ |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
182 |
$e = PageUtils::savepage($paths->page_id, $paths->namespace, $_POST['page_text'], $_POST['edit_summary'], isset($_POST['minor'])); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
183 |
if ( $e == 'good' ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
184 |
{ |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
185 |
redirect(makeUrl($paths->page), $lang->get('editor_msg_save_success_title'), $lang->get('editor_msg_save_success_body'), 3); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
186 |
} |
285
7846d45bd250
Changed all urlname/page_id columns to varchar(255) because 63 characters just isn't long enough
Dan
parents:
256
diff
changeset
|
187 |
} |
0 | 188 |
} |
189 |
$template->header(); |
|
337
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
190 |
if ( isset($captcha_valid) ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
191 |
{ |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
192 |
echo '<div class="usermessage">' . $lang->get('editor_err_captcha_wrong') . '</div>'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
193 |
} |
0 | 194 |
if(isset($_POST['_preview'])) |
195 |
{ |
|
196 |
$text = $_POST['page_text']; |
|
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
197 |
$edsumm = $_POST['edit_summary']; |
0 | 198 |
echo PageUtils::genPreview($_POST['page_text']); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
199 |
$text = htmlspecialchars($text); |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
200 |
$revid = 0; |
0 | 201 |
} |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
202 |
else |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
203 |
{ |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
204 |
$revid = ( isset($_GET['revid']) ) ? intval($_GET['revid']) : 0; |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
205 |
$page = new PageProcessor($paths->page_id, $paths->namespace, $revid); |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
206 |
$text = $page->fetch_source(); |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
207 |
$edsumm = ''; |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
208 |
// $text = RenderMan::getPage($paths->cpage['urlname_nons'], $paths->namespace, 0, false, false, false, false); |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
209 |
} |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
210 |
if ( $revid > 0 ) |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
211 |
{ |
468
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
212 |
$time = $page->revision_time; |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
213 |
// Retrieve information about this revision and the current one |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
214 |
$q = $db->sql_query('SELECT l1.author AS currentrev_author, l2.author AS oldrev_author FROM ' . table_prefix . 'logs AS l1 |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
215 |
LEFT JOIN ' . table_prefix . 'logs AS l2 |
468
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
216 |
ON ( l2.log_id = ' . $revid . ' |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
217 |
AND l2.log_type = \'page\' |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
218 |
AND l2.action = \'edit\' |
468
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
219 |
AND l2.page_id = \'' . $db->escape($paths->page_id) . '\' |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
220 |
AND l2.namespace = \'' . $db->escape($paths->namespace) . '\' |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
221 |
AND l1.is_draft != 1 |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
222 |
) |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
223 |
WHERE l1.log_type = \'page\' |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
224 |
AND l1.action = \'edit\' |
468
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
225 |
AND l1.page_id = \'' . $db->escape($paths->page_id) . '\' |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
226 |
AND l1.namespace = \'' . $db->escape($paths->namespace) . '\' |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
227 |
AND l1.time_id > ' . $time . ' |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
228 |
AND l1.is_draft != 1 |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
229 |
ORDER BY l1.time_id DESC;'); |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
230 |
if ( !$q ) |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
231 |
$db->die_json(); |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
232 |
|
468
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
233 |
if ( $db->numrows() > 0 ) |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
234 |
{ |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
235 |
echo '<div class="usermessage">' . $lang->get('editor_msg_editing_old_revision') . '</div>'; |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
236 |
|
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
237 |
$rev_count = $db->numrows() - 2; |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
238 |
$row = $db->fetchrow(); |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
239 |
$undo_info = array( |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
240 |
'old_author' => $row['oldrev_author'], |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
241 |
'current_author' => $row['currentrev_author'], |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
242 |
'undo_count' => max($rev_count, 1), |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
243 |
'last_rev_id' => $revid |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
244 |
); |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
245 |
} |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
246 |
else |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
247 |
{ |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
248 |
$revid = 0; |
194a19711346
Fixed the fact that cron just didn't work at all (brain fart that day or something)
Dan
parents:
411
diff
changeset
|
249 |
} |
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
250 |
$db->free_result(); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
251 |
} |
0 | 252 |
echo ' |
253 |
<form action="'.makeUrl($paths->page, 'do=edit').'" method="post" enctype="multipart/form-data"> |
|
254 |
<br /> |
|
255 |
<textarea name="page_text" rows="20" cols="60" style="width: 97%;">'.$text.'</textarea><br /> |
|
256 |
<br /> |
|
257 |
'; |
|
408
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
258 |
$edsumm = ( $revid > 0 ) ? $lang->get('editor_reversion_edit_summary', $undo_info) : $edsumm; |
7ecbe721217c
Modified editor and rename functions to go through the API when rolling back. This causes rollbacks to be logged.
Dan
parents:
391
diff
changeset
|
259 |
echo $lang->get('editor_lbl_edit_summary') . ' <input name="edit_summary" type="text" size="40" value="' . htmlspecialchars($edsumm) . '" /><br /><label><input type="checkbox" name="minor" /> ' . $lang->get('editor_lbl_minor_edit_field') . '</label><br />'; |
337
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
260 |
if ( !$session->user_logged_in && getConfig('guest_edit_require_captcha') == '1' ) |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
261 |
{ |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
262 |
echo '<br /><table border="0"><tr><td>'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
263 |
echo '<b>' . $lang->get('editor_lbl_field_captcha') . '</b><br />' |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
264 |
. '<br />' |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
265 |
. $lang->get('editor_msg_captcha_pleaseenter') . '<br /><br />' |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
266 |
. $lang->get('editor_msg_captcha_blind'); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
267 |
echo '</td><td>'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
268 |
$hash = $session->make_captcha(); |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
269 |
echo '<img src="' . makeUrlNS('Special', "Captcha/$hash") . '" onclick="this.src+=\'/a\'" style="cursor: pointer;" /><br />'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
270 |
echo '<input type="hidden" name="captcha_id" value="' . $hash . '" />'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
271 |
echo $lang->get('editor_lbl_field_captcha_code') . ' <input type="text" name="captcha_code" value="" size="9" />'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
272 |
echo '</td></tr></table>'; |
491518997ae5
Made CAPTCHA for guests' page editing work with the non-AJAX interface
Dan
parents:
334
diff
changeset
|
273 |
} |
0 | 274 |
echo '<br /> |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
275 |
<input type="submit" name="_save" value="' . $lang->get('editor_btn_save') . '" style="font-weight: bold;" /> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
276 |
<input type="submit" name="_preview" value="' . $lang->get('editor_btn_preview') . '" /> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
277 |
<input type="submit" name="_revert" value="' . $lang->get('editor_btn_revert') . '" /> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
278 |
<input type="submit" name="_cancel" value="' . $lang->get('editor_btn_cancel') . '" /> |
0 | 279 |
</form> |
280 |
'; |
|
832
7152ca0a0ce9
Major redesign of rendering pipeline that separates pages saved with MCE from pages saved with the plaintext editor (full description in long commit message)
Dan
parents:
826
diff
changeset
|
281 |
if ( getConfig('wiki_edit_notice', '0') == '1' ) |
160
87a988ca4ff4
Fixed: wiki mode edit notice should be shown on fallback editor now
Dan
parents:
142
diff
changeset
|
282 |
{ |
87a988ca4ff4
Fixed: wiki mode edit notice should be shown on fallback editor now
Dan
parents:
142
diff
changeset
|
283 |
$notice = getConfig('wiki_edit_notice_text'); |
87a988ca4ff4
Fixed: wiki mode edit notice should be shown on fallback editor now
Dan
parents:
142
diff
changeset
|
284 |
echo RenderMan::render($notice); |
87a988ca4ff4
Fixed: wiki mode edit notice should be shown on fallback editor now
Dan
parents:
142
diff
changeset
|
285 |
} |
0 | 286 |
$template->footer(); |
287 |
break; |
|
288 |
case 'viewsource': |
|
289 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
290 |
$text = RenderMan::getPage($paths->page_id, $paths->namespace, 0, false, false, false, false); |
391
85f91037cd4f
Localization is FINISHED, DAMN IT HELLAH YEAH! OVER WITH! Man, it feels to get that off my chest. Release is in under 48 hours, folks. And we're ready for it.
Dan
parents:
383
diff
changeset
|
291 |
$text = htmlspecialchars($text); |
0 | 292 |
echo ' |
293 |
<form action="'.makeUrl($paths->page, 'do=edit').'" method="post"> |
|
294 |
<br /> |
|
295 |
<textarea readonly="readonly" name="page_text" rows="20" cols="60" style="width: 97%;">'.$text.'</textarea>'; |
|
296 |
echo '<br /> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
297 |
<input type="submit" name="_cancel" value="' . $lang->get('editor_btn_closeviewer') . '" /> |
0 | 298 |
</form> |
299 |
'; |
|
300 |
$template->footer(); |
|
301 |
break; |
|
302 |
case 'history': |
|
592 | 303 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
304 |
$hist = PageUtils::histlist($paths->page_id, $paths->namespace); |
0 | 305 |
$template->header(); |
306 |
echo $hist; |
|
307 |
$template->footer(); |
|
308 |
break; |
|
309 |
case 'rollback': |
|
310 |
$id = (isset($_GET['id'])) ? $_GET['id'] : false; |
|
826
dcf5381ce8ba
Replaced integer checks that used preg_match() to use ctype_digit() instead
Dan
parents:
801
diff
changeset
|
311 |
if(!$id || !ctype_digit($id)) die_friendly('Invalid action ID', '<p>The URL parameter "id" is not an integer. Exiting to prevent nasties like SQL injection, etc.</p>'); |
481
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
312 |
|
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
313 |
$id = intval($id); |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
314 |
|
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
315 |
$page = new PageProcessor($paths->page_id, $paths->namespace); |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
316 |
$result = $page->rollback_log_entry($id); |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
317 |
|
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
318 |
if ( $result['success'] ) |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
319 |
{ |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
320 |
$result = $lang->get("page_msg_rb_success_{$result['action']}", array('dateline' => $result['dateline'])); |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
321 |
} |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
322 |
else |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
323 |
{ |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
324 |
$result = $lang->get("page_err_{$result['error']}", array('action' => @$result['action'])); |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
325 |
} |
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
326 |
|
0 | 327 |
$template->header(); |
481
07bf15b066bc
Hopefully completed rewrite and localization of rollback backend and interface
Dan
parents:
468
diff
changeset
|
328 |
echo '<p>'.$result.' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a></p>'; |
0 | 329 |
$template->footer(); |
330 |
break; |
|
331 |
case 'catedit': |
|
592 | 332 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 333 |
if(isset($_POST['__enanoSaveButton'])) |
334 |
{ |
|
335 |
unset($_POST['__enanoSaveButton']); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
336 |
$val = PageUtils::catsave($paths->page_id, $paths->namespace, $_POST); |
0 | 337 |
if($val == 'GOOD') |
338 |
{ |
|
339 |
header('Location: '.makeUrl($paths->page)); echo '<html><head><title>Redirecting...</title></head><body>If you haven\'t been redirected yet, <a href="'.makeUrl($paths->page).'">click here</a>.'; break; |
|
340 |
} else { |
|
341 |
die_friendly('Error saving category information', '<p>'.$val.'</p>'); |
|
342 |
} |
|
343 |
} |
|
344 |
elseif(isset($_POST['__enanoCatCancel'])) |
|
345 |
{ |
|
346 |
header('Location: '.makeUrl($paths->page)); echo '<html><head><title>Redirecting...</title></head><body>If you haven\'t been redirected yet, <a href="'.makeUrl($paths->page).'">click here</a>.'; break; |
|
347 |
} |
|
348 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
349 |
$c = PageUtils::catedit_raw($paths->page_id, $paths->namespace); |
0 | 350 |
echo $c[1]; |
351 |
$template->footer(); |
|
352 |
break; |
|
353 |
case 'moreoptions': |
|
354 |
$template->header(); |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
355 |
echo '<div class="menu_nojs" style="width: 150px; padding: 0;"><ul style="display: block;"><li><div class="label">' . $lang->get('ajax_lbl_moreoptions_nojs') . '</div><div style="clear: both;"></div></li>'.$template->toolbar_menu.'</ul></div>'; |
0 | 356 |
$template->footer(); |
357 |
break; |
|
358 |
case 'protect': |
|
907
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
359 |
if ( !$session->sid_super ) |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
360 |
{ |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
361 |
redirect(makeUrlNS('Special', "Login/{$paths->page}", 'target_do=protect&level=' . $session->user_level, false), $lang->get('etc_access_denied_short'), $lang->get('etc_access_denied_need_reauth'), 0); |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
362 |
} |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
363 |
|
906
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
364 |
if ( isset($_POST['level']) && isset($_POST['reason']) ) |
0 | 365 |
{ |
906
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
366 |
$level = intval($_POST['level']); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
367 |
if ( !in_array($level, array(PROTECT_FULL, PROTECT_SEMI, PROTECT_NONE)) ) |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
368 |
{ |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
369 |
$errors[] = 'bad level'; |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
370 |
} |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
371 |
$reason = trim($_POST['reason']); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
372 |
if ( empty($reason) ) |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
373 |
{ |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
374 |
$errors[] = $lang->get('onpage_protect_err_need_reason'); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
375 |
} |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
376 |
|
906
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
377 |
$page = new PageProcessor($paths->page_id, $paths->namespace); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
378 |
$result = $page->protect_page($level, $reason); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
379 |
if ( $result['success'] ) |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
380 |
{ |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
381 |
redirect(makeUrl($paths->page), $lang->get('page_protect_lbl_success_title'), $lang->get('page_protect_lbl_success_body', array('page_link' => makeUrl($paths->page, false, true))), 3); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
382 |
} |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
383 |
else |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
384 |
{ |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
385 |
$errors[] = $lang->get('page_err_' . $result['error']); |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
386 |
} |
0 | 387 |
} |
388 |
$template->header(); |
|
389 |
?> |
|
390 |
<form action="<?php echo makeUrl($paths->page, 'do=protect'); ?>" method="post"> |
|
906
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
391 |
<h3><?php echo $lang->get('onpage_protect_heading'); ?></h3> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
392 |
<p><?php echo $lang->get('onpage_protect_msg_select_level'); ?></p> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
393 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
394 |
<?php |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
395 |
if ( !empty($errors) ) |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
396 |
{ |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
397 |
echo '<ul><li>' . implode('</li><li>', $errors) . '</li></ul>'; |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
398 |
} |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
399 |
?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
400 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
401 |
<div class="protectlevel" style="line-height: 22px; margin-left: 17px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
402 |
<label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
403 |
<input type="radio" name="level" value="<?php echo PROTECT_FULL; ?>" /> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
404 |
<?php echo gen_sprite(cdnPath . '/images/protect-icons.png', 22, 22, 0, 0); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
405 |
<?php echo $lang->get('onpage_protect_btn_full'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
406 |
</label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
407 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
408 |
<div class="protectlevel_hint" style="font-size: smaller; margin-left: 68px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
409 |
<?php echo $lang->get('onpage_protect_btn_full_hint'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
410 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
411 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
412 |
<div class="protectlevel" style="line-height: 22px; margin-left: 17px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
413 |
<label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
414 |
<input type="radio" name="level" value="<?php echo PROTECT_SEMI; ?>" /> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
415 |
<?php echo gen_sprite(cdnPath . '/images/protect-icons.png', 22, 22, 22, 0); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
416 |
<?php echo $lang->get('onpage_protect_btn_semi'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
417 |
</label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
418 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
419 |
<div class="protectlevel_hint" style="font-size: smaller; margin-left: 68px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
420 |
<?php echo $lang->get('onpage_protect_btn_semi_hint'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
421 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
422 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
423 |
<div class="protectlevel" style="line-height: 22px; margin-left: 17px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
424 |
<label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
425 |
<input type="radio" name="level" value="<?php echo PROTECT_NONE; ?>" /> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
426 |
<?php echo gen_sprite(cdnPath . '/images/protect-icons.png', 22, 22, 44, 0); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
427 |
<?php echo $lang->get('onpage_protect_btn_none'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
428 |
</label> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
429 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
430 |
<div class="protectlevel_hint" style="font-size: smaller; margin-left: 68px;"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
431 |
<?php echo $lang->get('onpage_protect_btn_none_hint'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
432 |
</div> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
433 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
434 |
<table style="margin-left: 1em;" cellspacing="10"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
435 |
<tr> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
436 |
<td valign="top"> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
437 |
<?php echo $lang->get('onpage_protect_lbl_reason'); ?> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
438 |
</td> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
439 |
<td> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
440 |
<input type="text" name="reason" size="40" /><br /> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
441 |
<small><?php echo $lang->get('onpage_protect_lbl_reason_hint'); ?></small> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
442 |
</td> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
443 |
</tr> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
444 |
</table> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
445 |
|
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
446 |
<p> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
447 |
<input type="submit" value="<?php echo htmlspecialchars($lang->get('page_protect_btn_submit')) ?>" style="font-weight: bold;" /> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
448 |
<a class="abutton" href="<?php echo makeUrl($paths->page, false, true); ?>"><?php echo $lang->get('etc_cancel'); ?></a> |
c949e82b8f49
New page protection UI. Both miniPrompt and failsafe HTML.
Dan
parents:
900
diff
changeset
|
449 |
</p> |
0 | 450 |
</form> |
451 |
<?php |
|
452 |
$template->footer(); |
|
453 |
break; |
|
454 |
case 'rename': |
|
592 | 455 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 456 |
if(!empty($_POST['newname'])) |
457 |
{ |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
458 |
$r = PageUtils::rename($paths->page_id, $paths->namespace, $_POST['newname']); |
304 | 459 |
die_friendly($lang->get('page_rename_success_title'), '<p>'.nl2br($r).' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a>.</p>'); |
0 | 460 |
} |
461 |
$template->header(); |
|
462 |
?> |
|
463 |
<form action="<?php echo makeUrl($paths->page, 'do=rename'); ?>" method="post"> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
464 |
<?php if(isset($_POST['newname'])) echo '<p style="color: red;">' . $lang->get('page_rename_err_need_name') . '</p>'; ?> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
465 |
<p><?php echo $lang->get('page_rename_lbl'); ?></p> |
0 | 466 |
<p><input type="text" name="newname" size="40" /></p> |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
467 |
<p><input type="submit" value="<?php echo htmlspecialchars($lang->get('page_rename_btn_submit')); ?>" style="font-weight: bold;" /></p> |
0 | 468 |
</form> |
469 |
<?php |
|
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
470 |
$template->footer(); |
0 | 471 |
break; |
472 |
case 'flushlogs': |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
473 |
if(!$session->get_permissions('clear_logs')) |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
474 |
{ |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
475 |
die_friendly($lang->get('etc_access_denied_short'), '<p>' . $lang->get('etc_access_denied') . '</p>'); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
476 |
} |
907
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
477 |
if ( !$session->sid_super ) |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
478 |
{ |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
479 |
redirect(makeUrlNS('Special', "Login/{$paths->page}", 'target_do=flushlogs&level=' . $session->user_level, false), $lang->get('etc_access_denied_short'), $lang->get('etc_access_denied_need_reauth'), 0); |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
480 |
} |
592 | 481 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 482 |
if(isset($_POST['_downthejohn'])) |
483 |
{ |
|
484 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
485 |
$result = PageUtils::flushlogs($paths->page_id, $paths->namespace); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
486 |
echo '<p>'.$result.' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a>.</p>'; |
0 | 487 |
$template->footer(); |
488 |
break; |
|
489 |
} |
|
490 |
$template->header(); |
|
491 |
?> |
|
492 |
<form action="<?php echo makeUrl($paths->page, 'do=flushlogs'); ?>" method="post"> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
493 |
<?php echo $lang->get('page_flushlogs_warning_stern'); ?> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
494 |
<p><input type="submit" name="_downthejohn" value="<?php echo htmlspecialchars($lang->get('page_flushlogs_btn_submit')); ?>" style="color: red; font-weight: bold;" /></p> |
0 | 495 |
</form> |
496 |
<?php |
|
497 |
$template->footer(); |
|
498 |
break; |
|
499 |
case 'delvote': |
|
592 | 500 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 501 |
if(isset($_POST['_ballotbox'])) |
502 |
{ |
|
503 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
504 |
$result = PageUtils::delvote($paths->page_id, $paths->namespace); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
505 |
echo '<p>'.$result.' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a>.</p>'; |
0 | 506 |
$template->footer(); |
507 |
break; |
|
508 |
} |
|
509 |
$template->header(); |
|
510 |
?> |
|
511 |
<form action="<?php echo makeUrl($paths->page, 'do=delvote'); ?>" method="post"> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
512 |
<?php |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
513 |
echo $lang->get('page_delvote_warning_stern'); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
514 |
echo '<p>'; |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
515 |
switch($paths->cpage['delvotes']) |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
516 |
{ |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
517 |
case 0: echo $lang->get('page_delvote_count_zero'); break; |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
518 |
case 1: echo $lang->get('page_delvote_count_one'); break; |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
519 |
default: echo $lang->get('page_delvote_count_plural', array('delvotes' => $paths->cpage['delvotes'])); break; |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
520 |
} |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
521 |
echo '</p>'; |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
522 |
?> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
523 |
<p><input type="submit" name="_ballotbox" value="<?php echo htmlspecialchars($lang->get('page_delvote_btn_submit')); ?>" /></p> |
0 | 524 |
</form> |
525 |
<?php |
|
526 |
$template->footer(); |
|
527 |
break; |
|
528 |
case 'resetvotes': |
|
592 | 529 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
530 |
if(!$session->get_permissions('vote_reset')) |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
531 |
{ |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
532 |
die_friendly($lang->get('etc_access_denied_short'), '<p>' . $lang->get('etc_access_denied') . '</p>'); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
533 |
} |
0 | 534 |
if(isset($_POST['_youmaylivealittlelonger'])) |
535 |
{ |
|
536 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
537 |
$result = PageUtils::resetdelvotes($paths->page_id, $paths->namespace); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
538 |
echo '<p>'.$result.' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a>.</p>'; |
0 | 539 |
$template->footer(); |
540 |
break; |
|
541 |
} |
|
542 |
$template->header(); |
|
543 |
?> |
|
544 |
<form action="<?php echo makeUrl($paths->page, 'do=resetvotes'); ?>" method="post"> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
545 |
<p><?php echo $lang->get('ajax_delvote_reset_confirm'); ?></p> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
546 |
<p><input type="submit" name="_youmaylivealittlelonger" value="<?php echo htmlspecialchars($lang->get('page_delvote_reset_btn_submit')); ?>" /></p> |
0 | 547 |
</form> |
548 |
<?php |
|
549 |
$template->footer(); |
|
550 |
break; |
|
551 |
case 'deletepage': |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
552 |
if(!$session->get_permissions('delete_page')) |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
553 |
{ |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
554 |
die_friendly($lang->get('etc_access_denied_short'), '<p>' . $lang->get('etc_access_denied') . '</p>'); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
555 |
} |
907
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
556 |
if ( !$session->sid_super ) |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
557 |
{ |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
558 |
redirect(makeUrlNS('Special', "Login/{$paths->page}", 'target_do=deletepage&level=' . $session->user_level, false), $lang->get('etc_access_denied_short'), $lang->get('etc_access_denied_need_reauth'), 0); |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
559 |
} |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
560 |
|
592 | 561 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 562 |
if(isset($_POST['_adiossucker'])) |
563 |
{ |
|
28 | 564 |
$reason = ( isset($_POST['reason']) ) ? $_POST['reason'] : false; |
565 |
if ( empty($reason) ) |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
566 |
$error = $lang->get('ajax_delete_prompt_reason'); |
28 | 567 |
else |
568 |
{ |
|
569 |
$template->header(); |
|
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
570 |
$result = PageUtils::deletepage($paths->page_id, $paths->namespace, $reason); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
571 |
echo '<p>'.$result.' <a href="'.makeUrl($paths->page).'">' . $lang->get('etc_return_to_page') . '</a>.</p>'; |
28 | 572 |
$template->footer(); |
573 |
break; |
|
574 |
} |
|
0 | 575 |
} |
576 |
$template->header(); |
|
577 |
?> |
|
578 |
<form action="<?php echo makeUrl($paths->page, 'do=deletepage'); ?>" method="post"> |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
579 |
<?php echo $lang->get('page_delete_warning_stern'); ?> |
28 | 580 |
<?php if ( isset($error) ) echo "<p>$error</p>"; ?> |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
581 |
<p><?php echo $lang->get('page_delete_lbl_reason'); ?> <input type="text" name="reason" size="50" /></p> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
582 |
<p><input type="submit" name="_adiossucker" value="<?php echo htmlspecialchars($lang->get('page_delete_btn_submit')); ?>" style="color: red; font-weight: bold;" /></p> |
0 | 583 |
</form> |
584 |
<?php |
|
585 |
$template->footer(); |
|
586 |
break; |
|
587 |
case 'setwikimode': |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
588 |
if(!$session->get_permissions('set_wiki_mode')) |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
589 |
{ |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
590 |
die_friendly($lang->get('etc_access_denied_short'), '<p>' . $lang->get('etc_access_denied') . '</p>'); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
591 |
} |
97
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
592 |
if ( isset($_POST['finish']) ) |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
593 |
{ |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
594 |
$level = intval($_POST['level']); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
595 |
if ( !in_array($level, array(0, 1, 2) ) ) |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
596 |
{ |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
597 |
die_friendly('Invalid request', '<p>Level not specified</p>'); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
598 |
} |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
599 |
$q = $db->sql_query('UPDATE '.table_prefix.'pages SET wiki_mode=' . $level . ' WHERE urlname=\'' . $db->escape($paths->page_id) . '\' AND namespace=\'' . $paths->namespace . '\';'); |
97
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
600 |
if ( !$q ) |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
601 |
$db->_die(); |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
602 |
redirect(makeUrl($paths->page), htmlspecialchars($paths->cpage['name']), $lang->get('page_wikimode_success_redirect'), 2); |
97
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
603 |
} |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
604 |
else |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
605 |
{ |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
606 |
$template->header(); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
607 |
if(!isset($_GET['level']) || ( isset($_GET['level']) && !preg_match('#^([0-9])$#', $_GET['level']))) die_friendly('Invalid request', '<p>Level not specified</p>'); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
608 |
$level = intval($_GET['level']); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
609 |
if ( !in_array($level, array(0, 1, 2) ) ) |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
610 |
{ |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
611 |
die_friendly('Invalid request', '<p>Level not specified</p>'); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
612 |
} |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
613 |
echo '<form action="' . makeUrl($paths->page, 'do=setwikimode', true) . '" method="post">'; |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
614 |
echo '<input type="hidden" name="finish" value="foo" />'; |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
615 |
echo '<input type="hidden" name="level" value="' . $level . '" />'; |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
616 |
$level_txt = ( $level == 0 ) ? 'page_wikimode_level_off' : ( ( $level == 1 ) ? 'page_wikimode_level_on' : 'page_wikimode_level_global' ); |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
617 |
$blurb = ( $level == 0 || ( $level == 2 && getConfig('wiki_mode') != '1' ) ) ? 'page_wikimode_blurb_disable' : 'page_wikimode_blurb_enable'; |
97
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
618 |
?> |
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
619 |
<h3><?php echo $lang->get('page_wikimode_heading'); ?></h3> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
620 |
<p><?php echo $lang->get($level_txt) . ' ' . $lang->get($blurb); ?></p> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
621 |
<p><?php echo $lang->get('page_wikimode_warning'); ?></p> |
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
622 |
<p><input type="submit" value="<?php echo htmlspecialchars($lang->get('page_wikimode_btn_submit')); ?>" /></p> |
97
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
623 |
<?php |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
624 |
echo '</form>'; |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
625 |
$template->footer(); |
293148ad7a70
Fallback non-JS wiki mode switch is now implemented (doh!)
Dan
parents:
91
diff
changeset
|
626 |
} |
0 | 627 |
break; |
628 |
case 'diff': |
|
592 | 629 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
630 |
require_once(ENANO_ROOT.'/includes/diff.php'); |
|
0 | 631 |
$template->header(); |
632 |
$id1 = ( isset($_GET['diff1']) ) ? (int)$_GET['diff1'] : false; |
|
633 |
$id2 = ( isset($_GET['diff2']) ) ? (int)$_GET['diff2'] : false; |
|
900
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
634 |
if ( !$id1 || !$id2 ) |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
635 |
{ |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
636 |
echo '<p>Invalid request.</p>'; |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
637 |
$template->footer(); |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
638 |
break; |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
639 |
} |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
640 |
if ( !ctype_digit($_GET['diff1']) || !ctype_digit($_GET['diff1']) ) |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
641 |
{ |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
642 |
echo '<p>SQL injection attempt</p>'; |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
643 |
$template->footer(); |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
644 |
break; |
c5409416b61b
Index: minor fix-up to code cleanliness under diff loading
Dan
parents:
867
diff
changeset
|
645 |
} |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
646 |
echo PageUtils::pagediff($paths->page_id, $paths->namespace, $id1, $id2); |
0 | 647 |
$template->footer(); |
648 |
break; |
|
91 | 649 |
case 'detag': |
650 |
if ( $session->user_level < USER_LEVEL_ADMIN ) |
|
651 |
{ |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
652 |
die_friendly($lang->get('etc_access_denied_short'), '<p>' . $lang->get('etc_access_denied') . '</p>'); |
91 | 653 |
} |
654 |
if ( $paths->page_exists ) |
|
655 |
{ |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
656 |
die_friendly($lang->get('etc_invalid_request_short'), '<p>' . $lang->get('page_detag_err_page_exists') . '</p>'); |
91 | 657 |
} |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
658 |
$q = $db->sql_query('DELETE FROM '.table_prefix.'tags WHERE page_id=\'' . $db->escape($paths->page_id) . '\' AND namespace=\'' . $paths->namespace . '\';'); |
91 | 659 |
if ( !$q ) |
660 |
$db->_die('Detag query, index.php:'.__LINE__); |
|
220
d44492e34ab3
Failsafe page maintenance applets in index.php localized
Dan
parents:
213
diff
changeset
|
661 |
die_friendly($lang->get('page_detag_success_title'), '<p>' . $lang->get('page_detag_success_body') . '</p>'); |
91 | 662 |
break; |
0 | 663 |
case 'aclmanager': |
907
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
664 |
if ( !$session->sid_super ) |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
665 |
{ |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
666 |
redirect(makeUrlNS('Special', "Login/{$paths->page}", 'target_do=aclmanager&level=' . $session->user_level, false), $lang->get('etc_access_denied_short'), $lang->get('etc_access_denied_need_reauth'), 0); |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
667 |
} |
44851d7e9bda
Live Re-Auth is now required for deleting pages, editing ACLs, protecting pages, and clearing logs. Committing in a hurry as a storm is coming in, hope everything is in there.
Dan
parents:
906
diff
changeset
|
668 |
|
592 | 669 |
require_once(ENANO_ROOT.'/includes/pageutils.php'); |
0 | 670 |
$data = ( isset($_POST['data']) ) ? $_POST['data'] : Array('mode' => 'listgroups'); |
671 |
PageUtils::aclmanager($data); |
|
672 |
break; |
|
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
673 |
case 'sql_report': |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
674 |
$rev_id = ( (isset($_GET['oldid'])) ? intval($_GET['oldid']) : 0 ); |
322
5f1cd51bf1be
Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Dan
parents:
320
diff
changeset
|
675 |
$page = new PageProcessor( $paths->page_id, $paths->namespace, $rev_id ); |
286
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
676 |
$page->send_headers = true; |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
677 |
$pagepass = ( isset($_REQUEST['pagepass']) ) ? sha1($_REQUEST['pagepass']) : ''; |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
678 |
$page->password = $pagepass; |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
679 |
$page->send(true); |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
680 |
ob_end_clean(); |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
681 |
ob_start(); |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
682 |
$db->sql_report(); |
b2f985e4cef3
Fixed a number of issues with SQL query readability and some undefined index-ish errors; consequently the SQL report feature was added
Dan
parents:
285
diff
changeset
|
683 |
break; |
0 | 684 |
} |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
685 |
|
867
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
686 |
// Generate an ETag |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
687 |
/* |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
688 |
// format: first 10 digits of SHA1 of page name, user id in hex, user and auth levels, page timestamp in hex |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
689 |
$etag = substr(sha1($paths->namespace . ':' . $paths->page_id), 0, 10) . '-' . |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
690 |
"u{$session->user_id}l{$session->user_level}a{$session->auth_level}-" . |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
691 |
dechex($page_timestamp); |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
692 |
|
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
693 |
if ( isset($_SERVER['HTTP_IF_NONE_MATCH']) ) |
0 | 694 |
{ |
867
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
695 |
if ( "\"$etag\"" == $_SERVER['HTTP_IF_NONE_MATCH'] ) |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
696 |
{ |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
697 |
header('HTTP/1.1 304 Not Modified'); |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
698 |
exit(); |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
699 |
} |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
700 |
} |
542
5841df0ab575
Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Dan
parents:
536
diff
changeset
|
701 |
|
867
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
702 |
header("ETag: \"$etag\""); |
fc4e242995d4
Moved gzip and aggressive_optimize_html calls to output.php
Dan
parents:
832
diff
changeset
|
703 |
*/ |
564
a1c450a911a6
Updated version number metadata in system plugin files; added some comments and removed unused code from index.php and includes/graphs.php
Dan
parents:
547
diff
changeset
|
704 |
|
80
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
73
diff
changeset
|
705 |
$db->close(); |
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
73
diff
changeset
|
706 |
gzip_output(); |
42
45ebe475ff75
I dunno how many times I'm gonna have to fix the "problem seems to be the hex conversion" bug, but this is at least the fourth try.
Dan
parents:
41
diff
changeset
|
707 |
|
542
5841df0ab575
Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Dan
parents:
536
diff
changeset
|
708 |
@ob_end_flush(); |
5841df0ab575
Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Dan
parents:
536
diff
changeset
|
709 |
|
0 | 710 |
?> |