This commit has been accessed 322 times via Git panel.
commit 3a601d6a71cb21aa8709feb2ee478092f7a58ddf
tree 69952975ef73711368a68556683efd219c3fe808
parent 9f377372890d1c5edfdfc88b069b73938ba6ab3d
author Engels Antonio <engels@majcms.org> 1277314205 +0800
committer Engels Antonio <engels@majcms.org> 1277314205 +0800
maj-1.0-20081214-bb.zip
diff --git a/edit.php b/edit.php
index 444eb49..7caf5ca 100644
--- a/edit.php
+++ b/edit.php
@@ -884,11 +884,7 @@ if (isset($_FILES['file_input']) and !empty($_FILES['file_input'])) {
}
}
-$title_get_content = ucfirst($_POST['title_input']);
-$title_get_content = str_replace('<','<',$title_get_content);
-$title_get_content = str_replace('>','>',$title_get_content);
-
-if (file_exists("data/wiki.txt") and (($title_get_content != file_get_contents("data/items/{$_REQUEST['entry']}/title.txt")) or ($body_write_content != file_get_contents("data/items/{$_REQUEST['entry']}/body.txt")))) {
+if (file_exists("data/wiki.txt")) {
if (!file_exists("data/items/{$_REQUEST['entry']}/wiki")) {
mkdir("data/items/{$_REQUEST['entry']}/wiki");
@@ -911,14 +907,16 @@ if (file_exists("data/wiki.txt") and (($title_get_content != file_get_contents("
mkdir("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate");
}
+ $new_body = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/body.txt","w");
+ fwrite($new_body,$body_write_content);
+ fclose($new_body);
- $new = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/body.txt","w");
- fwrite($new,$body_write_content);
- fclose($new);
+ $new_title = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/title.txt","w");
+ fwrite($new_title,$title_write_content);
+ fclose($new_title);
copy("data/items/{$_REQUEST['entry']}/body.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/prev.txt");
copy("data/items/{$_REQUEST['entry']}/date.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/date.txt");
- copy("data/items/{$_REQUEST['entry']}/title.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/title.txt");
if (file_exists("data/items/{$_REQUEST['entry']}/contrib.txt")) {
copy("data/items/{$_REQUEST['entry']}/contrib.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/contrib.txt");
diff --git a/rel.txt b/rel.txt
index eac09b3..ba2040b 100644
--- a/rel.txt
+++ b/rel.txt
@@ -1 +1 @@
-20081207
\ No newline at end of file
+20081214
\ No newline at end of file
diff --git a/wiki.php b/wiki.php
index 5fcbc71..aa6e506 100644
--- a/wiki.php
+++ b/wiki.php
@@ -1,95 +1,88 @@
<?php
-
-session_start();
-
-header("Cache-control: private");
-
-error_reporting(E_ERROR);
-
-if (isset($_SESSION['logged_in']) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT'])) {
- header("Location: login.php");
-}
-
-if (get_magic_quotes_gpc()) {
- function stripslashes_array($data) {
- if (is_array($data)) {
- foreach ($data as $key => $value) {
- $data[$key] = stripslashes_array($value);
+ session_start();
+ header("Cache-control: private");
+ error_reporting(E_ERROR);
+ if (isset($_SESSION['logged_in']) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT']))
+ {
+ header("Location: login.php");
+ }
+ if (get_magic_quotes_gpc())
+ {
+ function stripslashes_array($data)
+ {
+ if (is_array($data))
+ {
+ foreach ($data as $key => $value)
+ {
+ $data[$key] = stripslashes_array($value);
+ }
+ return $data;
+ }
+ else
+ {
+ return stripslashes($data);
}
- return $data;
}
- else {
- return stripslashes($data);
+ $_REQUEST = stripslashes_array($_REQUEST);
+ }
+ $login_username = file_get_contents("data/username.txt");
+ if (!isset($_REQUEST['entry']))
+ {
+ exit();
+ }
+ if (!file_exists("data/items/{$_REQUEST['entry']}"))
+ {
+ exit();
+ }
+ if (!isset($_SESSION['logged_in']))
+ {
+ exit();
+ }
+ $do = 0;
+ if ($_SESSION['logged_in'] == $login_username)
+ {
+ $do = 1;
+ }
+ if (file_exists("data/members/active/{$_SESSION['logged_in']}/rw.txt") and file_exists("data/wiki.txt") and (file_exists("data/items/{$_REQUEST['entry']}/edit.txt") or (file_get_contents("data/items/{$_REQUEST['entry']}/author.txt") == $_SESSION['logged_in'])))
+ {
+ $do = 1;
+ }
+ if ($do == 0)
+ {
+ exit();
+ }
+ function rmdirr($recurse_dirname)
+ {
+ if (!file_exists($recurse_dirname))
+ {
+ return false;
}
+ if (is_file($recurse_dirname))
+ {
+ return unlink($recurse_dirname);
+ }
+ $recurse_dir = dir($recurse_dirname);
+ while (false !== $recurse_entry = $recurse_dir->read())
+ {
+ if ($recurse_entry == '.' || $recurse_entry == '..')
+ {
+ continue;
+ }
+ rmdirr("$recurse_dirname/$recurse_entry");
+ }
+ $recurse_dir->close();
+ return rmdir($recurse_dirname);
+ }
+ function entry2date($f_entry)
+ {
+ $f_entry_year = substr($f_entry, 0, 4);
+ $f_entry_month = substr($f_entry, 4, 2);
+ $f_entry_day = substr($f_entry, 6, 2);
+ $f_entry_hour = substr($f_entry, 8, 2);
+ $f_entry_min = substr($f_entry, 10, 2);
+ $f_entry_sec = substr($f_entry, 12, 2);
+ echo date("l, M j, Y, g:i A", mktime($f_entry_hour, $f_entry_min, $f_entry_sec, $f_entry_month, $f_entry_day, $f_entry_year));
}
- $_REQUEST = stripslashes_array($_REQUEST);
-}
-
-$login_username = file_get_contents("data/username.txt");
-
-if (!isset($_REQUEST['entry'])) {
- exit();
-}
-
-if (!file_exists("data/items/{$_REQUEST['entry']}")) {
- exit();
-}
-
-if (!isset($_SESSION['logged_in'])) {
- exit();
-}
-
-$do = 0;
-
-if ($_SESSION['logged_in'] == $login_username) {
- $do = 1;
-}
-
-
-if (file_exists("data/members/active/{$_SESSION['logged_in']}/rw.txt") and file_exists("data/wiki.txt") and (file_exists("data/items/{$_REQUEST['entry']}/edit.txt") or (file_get_contents("data/items/{$_REQUEST['entry']}/author.txt") == $_SESSION['logged_in']))) {
- $do = 1;
-}
-
-if ($do == 0) {
- exit();
-}
-
-function rmdirr($recurse_dirname) {
-
- if (!file_exists($recurse_dirname)) {
- return false;
- }
-
- if (is_file($recurse_dirname)) {
- return unlink($recurse_dirname);
- }
-
- $recurse_dir = dir($recurse_dirname);
- while (false !== $recurse_entry = $recurse_dir->read()) {
-
- if ($recurse_entry == '.' || $recurse_entry == '..') {
- continue;
- }
-
- rmdirr("$recurse_dirname/$recurse_entry");
- }
-
- $recurse_dir->close();
- return rmdir($recurse_dirname);
-}
-
-function entry2date($f_entry) {
-
- $f_entry_year = substr($f_entry,0,4);
- $f_entry_month = substr($f_entry,4,2);
- $f_entry_day = substr($f_entry,6,2);
- $f_entry_hour = substr($f_entry,8,2);
- $f_entry_min = substr($f_entry,10,2);
- $f_entry_sec = substr($f_entry,12,2);
-
- echo date("l, M j, Y, g:i A",mktime($f_entry_hour,$f_entry_min,$f_entry_sec,$f_entry_month,$f_entry_day,$f_entry_year));
-}
-
?>
<title>Wiki</title>
@@ -223,102 +216,122 @@ del {
</style>
<?php
-
-$entry = $_REQUEST['entry'];
-
-if (isset($_REQUEST['del']) and !empty($_REQUEST['del']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['del']}") and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
- rmdirr("data/items/$entry/wiki/delta/{$_REQUEST['del']}");
-}
-
-if (file_exists("data/items/$entry/wiki/delta")) {
-
- if ($dh_delta = opendir("data/items/$entry/wiki/delta")) {
-
- while (($entry_delta = readdir($dh_delta)) !== false) {
-
- if ($entry_delta != "." && $entry_delta != "..") {
- $show_delta[] = $entry_delta;
+ $entry = $_REQUEST['entry'];
+ if (isset($_REQUEST['del']) and !empty($_REQUEST['del']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['del']}") and ($_SESSION['logged_in'] == file_get_contents("data/username.txt")))
+ {
+ rmdirr("data/items/$entry/wiki/delta/{$_REQUEST['del']}");
+ }
+ if (isset($_REQUEST['restore']) and !empty($_REQUEST['restore']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['restore']}"))
+ {
+ if (file_exists("data/offset.txt"))
+ {
+ $offset = file_get_contents("data/offset.txt");
+ }
+ else
+ {
+ $offset = 0;
+ }
+ $ddate = date("YmdHis", time() + $offset);
+ if (!file_exists("data/items/$entry/wiki/delta/$ddate"))
+ {
+ mkdir("data/items/$entry/wiki/delta/$ddate");
+ copy("data/items/$entry/title.txt","data/items/$entry/wiki/delta/$ddate/title.txt");
+ copy("data/items/$entry/body.txt","data/items/$entry/wiki/delta/$ddate/prev.txt");
+ copy("data/items/$entry/wiki/delta/{$_REQUEST['restore']}/title.txt","data/items/$entry/title.txt");
+ copy("data/items/$entry/wiki/delta/{$_REQUEST['restore']}/body.txt","data/items/$entry/body.txt");
+ copy("data/items/$entry/body.txt","data/items/$entry/wiki/delta/$ddate/body.txt");
+ if (file_exists("data/items/$entry/contrib.txt"))
+ {
+ copy("data/items/$entry/contrib.txt","data/items/$entry/wiki/delta/$ddate/contrib.txt");
}
+ $editor_file = fopen("data/items/$entry/wiki/delta/$ddate/editor.txt","w");
+ fwrite($editor_file,$_SESSION['logged_in']);
+ fclose($editor_file);
}
- closedir($dh_delta);
}
- rsort($show_delta);
- reset($show_delta);
- $count_delta = count($show_delta);
-
- if ($count_delta > 0) {
-
- foreach ($show_delta as $item) {
-
- $title = file_get_contents("data/items/$entry/wiki/delta/$item/title.txt");
- $body = file_get_contents("data/items/$entry/wiki/delta/$item/body.txt");
- $author = file_get_contents("data/items/$entry/author.txt");
- $editor = file_get_contents("data/items/$entry/wiki/delta/$item/editor.txt");
-
- $prev = file_get_contents("data/items/$entry/wiki/delta/$item/prev.txt");
- $prev = str_replace("<br />","<br>",$prev);
- $prev = str_replace("\n"," ",$prev);
- $prev = str_replace("\r"," ",$prev);
- $prev = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is","[\\1]",$prev);
- $prev = htmlentities($prev,ENT_QUOTES);
-
- $body = str_replace("<br />","<br>",$body);
- $body = str_replace("\n"," ",$body);
- $body = str_replace("\r"," ",$body);
- $body = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is","[\\1]",$body);
- $body = htmlentities($body,ENT_QUOTES);
-
- $prev_array = explode(" ",$prev);
- $body_array = explode(" ",$body);
-
- if (count($prev_array) <= count($body_array)) {
- $elements = count($body_array);
- }
- else {
- $elements = count($prev_array);
+ if (file_exists("data/items/$entry/wiki/delta"))
+ {
+ if ($dh_delta = opendir("data/items/$entry/wiki/delta"))
+ {
+ while (($entry_delta = readdir($dh_delta)) !== false)
+ {
+ if ($entry_delta != "." && $entry_delta != "..")
+ {
+ $show_delta[] = $entry_delta;
+ }
}
-
- $count = "0";
-
- $elements = $elements - 1;
-
- $diff = "";
-
- while ($count <= $elements) {
-
- if ($prev_array[$count] == $body_array[$count]) {
- $diff .= $prev_array[$count] . " ";
+ closedir($dh_delta);
+ }
+ rsort($show_delta);
+ reset($show_delta);
+ $count_delta = count($show_delta);
+ if ($count_delta > 0)
+ {
+ foreach ($show_delta as $item)
+ {
+ $title = file_get_contents("data/items/$entry/wiki/delta/$item/title.txt");
+ $body = file_get_contents("data/items/$entry/wiki/delta/$item/body.txt");
+ $author = file_get_contents("data/items/$entry/author.txt");
+ $editor = file_get_contents("data/items/$entry/wiki/delta/$item/editor.txt");
+ $prev = file_get_contents("data/items/$entry/wiki/delta/$item/prev.txt");
+ $prev = str_replace("<br />", "<br>", $prev);
+ $prev = str_replace("\n", " ", $prev);
+ $prev = str_replace("\r", " ", $prev);
+ $prev = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is", "[\\1]", $prev);
+ $prev = htmlentities($prev, ENT_QUOTES);
+ $body = str_replace("<br />", "<br>", $body);
+ $body = str_replace("\n", " ", $body);
+ $body = str_replace("\r", " ", $body);
+ $body = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is", "[\\1]", $body);
+ $body = htmlentities($body, ENT_QUOTES);
+ $prev_array = explode(" ", $prev);
+ $body_array = explode(" ", $body);
+ if (count($prev_array) <= count($body_array))
+ {
+ $elements = count($body_array);
}
- else {
- $diff .= "<del>" . $prev_array[$count] . "</del> <ins>" . $body_array[$count] . " </ins> ";
+ else
+ {
+ $elements = count($prev_array);
}
-
- $count = $count + 1;
- }
-
- $diff = str_replace("<br>","<br>",$diff);
- $diff = trim($diff);
-
- echo "<p><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\"><tr><td width=\"525\">";
- echo "<div id=\"panel_title\">$title";
-
- if ($_SESSION['logged_in'] == file_get_contents("data/username.txt")) {
- echo "<a href=\"wiki.php?entry=$entry&del=$item\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"delete\"></a>";
+ $count = "0";
+ $elements = $elements - 1;
+ $diff = "";
+ while ($count <= $elements)
+ {
+ if ($prev_array[$count] == $body_array[$count])
+ {
+ $diff .= $prev_array[$count] . " ";
+ }
+ else
+ {
+ $diff .= "<del>" . $prev_array[$count] . "</del> <ins>" . $body_array[$count] . " </ins> ";
+ }
+ $count = $count + 1;
+ }
+ $diff = str_replace("<br>", "<br>", $diff);
+ $diff = trim($diff);
+ echo "<p><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\"><tr><td width=\"525\">";
+ echo "<div id=\"panel_title\">$title";
+ if ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))
+ {
+ echo "<a href=\"wiki.php?entry=$entry&del=$item\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"delete\"></a>";
+ }
+ echo "<a href=\"wiki.php?entry=$entry&restore=$item\"><img src=\"images/widget.back.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"restore\"></a>";
+ echo "</div><div id=\"panel_body\"><font style=\"font-size: 10px; color: #999999;\">$author - ";
+ entry2date($entry);
+ echo "<br><br></font>$diff</div>";
+ echo "<div id=\"panel_footer\">Edited by $editor last ";
+ entry2date($item);
+ echo "</div></td></tr></table></p>";
+ unset($diff);
+ unset($body);
+ unset($prev);
}
-
- echo "<img src=\"images/widget.back.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"restore\">";
- echo "</div><div id=\"panel_body\"><font style=\"font-size: 10px; color: #999999;\">$author - ";
- entry2date($entry);
- echo "<br><br></font>$diff</div>";
- echo "<div id=\"panel_footer\">Edited by $editor last ";
- entry2date($item);
- echo "</div></td></tr></table></p>";
-
- unset($diff);
- unset($body);
- unset($prev);
+ }
+ else
+ {
+ header("Location: index.php?entry=$entry");
}
}
-}
-
?>
tree 69952975ef73711368a68556683efd219c3fe808
parent 9f377372890d1c5edfdfc88b069b73938ba6ab3d
author Engels Antonio <engels@majcms.org> 1277314205 +0800
committer Engels Antonio <engels@majcms.org> 1277314205 +0800
maj-1.0-20081214-bb.zip
diff --git a/edit.php b/edit.php
index 444eb49..7caf5ca 100644
--- a/edit.php
+++ b/edit.php
@@ -884,11 +884,7 @@ if (isset($_FILES['file_input']) and !empty($_FILES['file_input'])) {
}
}
-$title_get_content = ucfirst($_POST['title_input']);
-$title_get_content = str_replace('<','<',$title_get_content);
-$title_get_content = str_replace('>','>',$title_get_content);
-
-if (file_exists("data/wiki.txt") and (($title_get_content != file_get_contents("data/items/{$_REQUEST['entry']}/title.txt")) or ($body_write_content != file_get_contents("data/items/{$_REQUEST['entry']}/body.txt")))) {
+if (file_exists("data/wiki.txt")) {
if (!file_exists("data/items/{$_REQUEST['entry']}/wiki")) {
mkdir("data/items/{$_REQUEST['entry']}/wiki");
@@ -911,14 +907,16 @@ if (file_exists("data/wiki.txt") and (($title_get_content != file_get_contents("
mkdir("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate");
}
+ $new_body = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/body.txt","w");
+ fwrite($new_body,$body_write_content);
+ fclose($new_body);
- $new = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/body.txt","w");
- fwrite($new,$body_write_content);
- fclose($new);
+ $new_title = fopen("data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/title.txt","w");
+ fwrite($new_title,$title_write_content);
+ fclose($new_title);
copy("data/items/{$_REQUEST['entry']}/body.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/prev.txt");
copy("data/items/{$_REQUEST['entry']}/date.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/date.txt");
- copy("data/items/{$_REQUEST['entry']}/title.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/title.txt");
if (file_exists("data/items/{$_REQUEST['entry']}/contrib.txt")) {
copy("data/items/{$_REQUEST['entry']}/contrib.txt","data/items/{$_REQUEST['entry']}/wiki/delta/$ddate/contrib.txt");
diff --git a/rel.txt b/rel.txt
index eac09b3..ba2040b 100644
--- a/rel.txt
+++ b/rel.txt
@@ -1 +1 @@
-20081207
\ No newline at end of file
+20081214
\ No newline at end of file
diff --git a/wiki.php b/wiki.php
index 5fcbc71..aa6e506 100644
--- a/wiki.php
+++ b/wiki.php
@@ -1,95 +1,88 @@
<?php
-
-session_start();
-
-header("Cache-control: private");
-
-error_reporting(E_ERROR);
-
-if (isset($_SESSION['logged_in']) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT'])) {
- header("Location: login.php");
-}
-
-if (get_magic_quotes_gpc()) {
- function stripslashes_array($data) {
- if (is_array($data)) {
- foreach ($data as $key => $value) {
- $data[$key] = stripslashes_array($value);
+ session_start();
+ header("Cache-control: private");
+ error_reporting(E_ERROR);
+ if (isset($_SESSION['logged_in']) and ($_SESSION['user_agent'] != $_SERVER['HTTP_USER_AGENT']))
+ {
+ header("Location: login.php");
+ }
+ if (get_magic_quotes_gpc())
+ {
+ function stripslashes_array($data)
+ {
+ if (is_array($data))
+ {
+ foreach ($data as $key => $value)
+ {
+ $data[$key] = stripslashes_array($value);
+ }
+ return $data;
+ }
+ else
+ {
+ return stripslashes($data);
}
- return $data;
}
- else {
- return stripslashes($data);
+ $_REQUEST = stripslashes_array($_REQUEST);
+ }
+ $login_username = file_get_contents("data/username.txt");
+ if (!isset($_REQUEST['entry']))
+ {
+ exit();
+ }
+ if (!file_exists("data/items/{$_REQUEST['entry']}"))
+ {
+ exit();
+ }
+ if (!isset($_SESSION['logged_in']))
+ {
+ exit();
+ }
+ $do = 0;
+ if ($_SESSION['logged_in'] == $login_username)
+ {
+ $do = 1;
+ }
+ if (file_exists("data/members/active/{$_SESSION['logged_in']}/rw.txt") and file_exists("data/wiki.txt") and (file_exists("data/items/{$_REQUEST['entry']}/edit.txt") or (file_get_contents("data/items/{$_REQUEST['entry']}/author.txt") == $_SESSION['logged_in'])))
+ {
+ $do = 1;
+ }
+ if ($do == 0)
+ {
+ exit();
+ }
+ function rmdirr($recurse_dirname)
+ {
+ if (!file_exists($recurse_dirname))
+ {
+ return false;
}
+ if (is_file($recurse_dirname))
+ {
+ return unlink($recurse_dirname);
+ }
+ $recurse_dir = dir($recurse_dirname);
+ while (false !== $recurse_entry = $recurse_dir->read())
+ {
+ if ($recurse_entry == '.' || $recurse_entry == '..')
+ {
+ continue;
+ }
+ rmdirr("$recurse_dirname/$recurse_entry");
+ }
+ $recurse_dir->close();
+ return rmdir($recurse_dirname);
+ }
+ function entry2date($f_entry)
+ {
+ $f_entry_year = substr($f_entry, 0, 4);
+ $f_entry_month = substr($f_entry, 4, 2);
+ $f_entry_day = substr($f_entry, 6, 2);
+ $f_entry_hour = substr($f_entry, 8, 2);
+ $f_entry_min = substr($f_entry, 10, 2);
+ $f_entry_sec = substr($f_entry, 12, 2);
+ echo date("l, M j, Y, g:i A", mktime($f_entry_hour, $f_entry_min, $f_entry_sec, $f_entry_month, $f_entry_day, $f_entry_year));
}
- $_REQUEST = stripslashes_array($_REQUEST);
-}
-
-$login_username = file_get_contents("data/username.txt");
-
-if (!isset($_REQUEST['entry'])) {
- exit();
-}
-
-if (!file_exists("data/items/{$_REQUEST['entry']}")) {
- exit();
-}
-
-if (!isset($_SESSION['logged_in'])) {
- exit();
-}
-
-$do = 0;
-
-if ($_SESSION['logged_in'] == $login_username) {
- $do = 1;
-}
-
-
-if (file_exists("data/members/active/{$_SESSION['logged_in']}/rw.txt") and file_exists("data/wiki.txt") and (file_exists("data/items/{$_REQUEST['entry']}/edit.txt") or (file_get_contents("data/items/{$_REQUEST['entry']}/author.txt") == $_SESSION['logged_in']))) {
- $do = 1;
-}
-
-if ($do == 0) {
- exit();
-}
-
-function rmdirr($recurse_dirname) {
-
- if (!file_exists($recurse_dirname)) {
- return false;
- }
-
- if (is_file($recurse_dirname)) {
- return unlink($recurse_dirname);
- }
-
- $recurse_dir = dir($recurse_dirname);
- while (false !== $recurse_entry = $recurse_dir->read()) {
-
- if ($recurse_entry == '.' || $recurse_entry == '..') {
- continue;
- }
-
- rmdirr("$recurse_dirname/$recurse_entry");
- }
-
- $recurse_dir->close();
- return rmdir($recurse_dirname);
-}
-
-function entry2date($f_entry) {
-
- $f_entry_year = substr($f_entry,0,4);
- $f_entry_month = substr($f_entry,4,2);
- $f_entry_day = substr($f_entry,6,2);
- $f_entry_hour = substr($f_entry,8,2);
- $f_entry_min = substr($f_entry,10,2);
- $f_entry_sec = substr($f_entry,12,2);
-
- echo date("l, M j, Y, g:i A",mktime($f_entry_hour,$f_entry_min,$f_entry_sec,$f_entry_month,$f_entry_day,$f_entry_year));
-}
-
?>
<title>Wiki</title>
@@ -223,102 +216,122 @@ del {
</style>
<?php
-
-$entry = $_REQUEST['entry'];
-
-if (isset($_REQUEST['del']) and !empty($_REQUEST['del']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['del']}") and ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))) {
- rmdirr("data/items/$entry/wiki/delta/{$_REQUEST['del']}");
-}
-
-if (file_exists("data/items/$entry/wiki/delta")) {
-
- if ($dh_delta = opendir("data/items/$entry/wiki/delta")) {
-
- while (($entry_delta = readdir($dh_delta)) !== false) {
-
- if ($entry_delta != "." && $entry_delta != "..") {
- $show_delta[] = $entry_delta;
+ $entry = $_REQUEST['entry'];
+ if (isset($_REQUEST['del']) and !empty($_REQUEST['del']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['del']}") and ($_SESSION['logged_in'] == file_get_contents("data/username.txt")))
+ {
+ rmdirr("data/items/$entry/wiki/delta/{$_REQUEST['del']}");
+ }
+ if (isset($_REQUEST['restore']) and !empty($_REQUEST['restore']) and file_exists("data/items/$entry/wiki/delta/{$_REQUEST['restore']}"))
+ {
+ if (file_exists("data/offset.txt"))
+ {
+ $offset = file_get_contents("data/offset.txt");
+ }
+ else
+ {
+ $offset = 0;
+ }
+ $ddate = date("YmdHis", time() + $offset);
+ if (!file_exists("data/items/$entry/wiki/delta/$ddate"))
+ {
+ mkdir("data/items/$entry/wiki/delta/$ddate");
+ copy("data/items/$entry/title.txt","data/items/$entry/wiki/delta/$ddate/title.txt");
+ copy("data/items/$entry/body.txt","data/items/$entry/wiki/delta/$ddate/prev.txt");
+ copy("data/items/$entry/wiki/delta/{$_REQUEST['restore']}/title.txt","data/items/$entry/title.txt");
+ copy("data/items/$entry/wiki/delta/{$_REQUEST['restore']}/body.txt","data/items/$entry/body.txt");
+ copy("data/items/$entry/body.txt","data/items/$entry/wiki/delta/$ddate/body.txt");
+ if (file_exists("data/items/$entry/contrib.txt"))
+ {
+ copy("data/items/$entry/contrib.txt","data/items/$entry/wiki/delta/$ddate/contrib.txt");
}
+ $editor_file = fopen("data/items/$entry/wiki/delta/$ddate/editor.txt","w");
+ fwrite($editor_file,$_SESSION['logged_in']);
+ fclose($editor_file);
}
- closedir($dh_delta);
}
- rsort($show_delta);
- reset($show_delta);
- $count_delta = count($show_delta);
-
- if ($count_delta > 0) {
-
- foreach ($show_delta as $item) {
-
- $title = file_get_contents("data/items/$entry/wiki/delta/$item/title.txt");
- $body = file_get_contents("data/items/$entry/wiki/delta/$item/body.txt");
- $author = file_get_contents("data/items/$entry/author.txt");
- $editor = file_get_contents("data/items/$entry/wiki/delta/$item/editor.txt");
-
- $prev = file_get_contents("data/items/$entry/wiki/delta/$item/prev.txt");
- $prev = str_replace("<br />","<br>",$prev);
- $prev = str_replace("\n"," ",$prev);
- $prev = str_replace("\r"," ",$prev);
- $prev = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is","[\\1]",$prev);
- $prev = htmlentities($prev,ENT_QUOTES);
-
- $body = str_replace("<br />","<br>",$body);
- $body = str_replace("\n"," ",$body);
- $body = str_replace("\r"," ",$body);
- $body = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is","[\\1]",$body);
- $body = htmlentities($body,ENT_QUOTES);
-
- $prev_array = explode(" ",$prev);
- $body_array = explode(" ",$body);
-
- if (count($prev_array) <= count($body_array)) {
- $elements = count($body_array);
- }
- else {
- $elements = count($prev_array);
+ if (file_exists("data/items/$entry/wiki/delta"))
+ {
+ if ($dh_delta = opendir("data/items/$entry/wiki/delta"))
+ {
+ while (($entry_delta = readdir($dh_delta)) !== false)
+ {
+ if ($entry_delta != "." && $entry_delta != "..")
+ {
+ $show_delta[] = $entry_delta;
+ }
}
-
- $count = "0";
-
- $elements = $elements - 1;
-
- $diff = "";
-
- while ($count <= $elements) {
-
- if ($prev_array[$count] == $body_array[$count]) {
- $diff .= $prev_array[$count] . " ";
+ closedir($dh_delta);
+ }
+ rsort($show_delta);
+ reset($show_delta);
+ $count_delta = count($show_delta);
+ if ($count_delta > 0)
+ {
+ foreach ($show_delta as $item)
+ {
+ $title = file_get_contents("data/items/$entry/wiki/delta/$item/title.txt");
+ $body = file_get_contents("data/items/$entry/wiki/delta/$item/body.txt");
+ $author = file_get_contents("data/items/$entry/author.txt");
+ $editor = file_get_contents("data/items/$entry/wiki/delta/$item/editor.txt");
+ $prev = file_get_contents("data/items/$entry/wiki/delta/$item/prev.txt");
+ $prev = str_replace("<br />", "<br>", $prev);
+ $prev = str_replace("\n", " ", $prev);
+ $prev = str_replace("\r", " ", $prev);
+ $prev = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is", "[\\1]", $prev);
+ $prev = htmlentities($prev, ENT_QUOTES);
+ $body = str_replace("<br />", "<br>", $body);
+ $body = str_replace("\n", " ", $body);
+ $body = str_replace("\r", " ", $body);
+ $body = preg_replace("/<img[^>]+src[\s='\"]+([^\"'>\s]+)[^>]*>/is", "[\\1]", $body);
+ $body = htmlentities($body, ENT_QUOTES);
+ $prev_array = explode(" ", $prev);
+ $body_array = explode(" ", $body);
+ if (count($prev_array) <= count($body_array))
+ {
+ $elements = count($body_array);
}
- else {
- $diff .= "<del>" . $prev_array[$count] . "</del> <ins>" . $body_array[$count] . " </ins> ";
+ else
+ {
+ $elements = count($prev_array);
}
-
- $count = $count + 1;
- }
-
- $diff = str_replace("<br>","<br>",$diff);
- $diff = trim($diff);
-
- echo "<p><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\"><tr><td width=\"525\">";
- echo "<div id=\"panel_title\">$title";
-
- if ($_SESSION['logged_in'] == file_get_contents("data/username.txt")) {
- echo "<a href=\"wiki.php?entry=$entry&del=$item\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"delete\"></a>";
+ $count = "0";
+ $elements = $elements - 1;
+ $diff = "";
+ while ($count <= $elements)
+ {
+ if ($prev_array[$count] == $body_array[$count])
+ {
+ $diff .= $prev_array[$count] . " ";
+ }
+ else
+ {
+ $diff .= "<del>" . $prev_array[$count] . "</del> <ins>" . $body_array[$count] . " </ins> ";
+ }
+ $count = $count + 1;
+ }
+ $diff = str_replace("<br>", "<br>", $diff);
+ $diff = trim($diff);
+ echo "<p><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\"><tr><td width=\"525\">";
+ echo "<div id=\"panel_title\">$title";
+ if ($_SESSION['logged_in'] == file_get_contents("data/username.txt"))
+ {
+ echo "<a href=\"wiki.php?entry=$entry&del=$item\"><img src=\"images/widget.del.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"delete\"></a>";
+ }
+ echo "<a href=\"wiki.php?entry=$entry&restore=$item\"><img src=\"images/widget.back.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"restore\"></a>";
+ echo "</div><div id=\"panel_body\"><font style=\"font-size: 10px; color: #999999;\">$author - ";
+ entry2date($entry);
+ echo "<br><br></font>$diff</div>";
+ echo "<div id=\"panel_footer\">Edited by $editor last ";
+ entry2date($item);
+ echo "</div></td></tr></table></p>";
+ unset($diff);
+ unset($body);
+ unset($prev);
}
-
- echo "<img src=\"images/widget.back.png\" border=\"0\" width=\"11\" height=\"11\" align=\"right\" alt=\"restore\">";
- echo "</div><div id=\"panel_body\"><font style=\"font-size: 10px; color: #999999;\">$author - ";
- entry2date($entry);
- echo "<br><br></font>$diff</div>";
- echo "<div id=\"panel_footer\">Edited by $editor last ";
- entry2date($item);
- echo "</div></td></tr></table></p>";
-
- unset($diff);
- unset($body);
- unset($prev);
+ }
+ else
+ {
+ header("Location: index.php?entry=$entry");
}
}
-}
-
?>