diff --git a/inc/changelog.php b/inc/changelog.php index d77b0180a8fd96b26d19e7d4e2372b3983634b04..074d3c7a6834b5d381208749492317055fb8b668 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -743,6 +743,15 @@ abstract class ChangeLog { return array(array_reverse($revs1), array_reverse($revs2)); } + + /** + * Checks if the ID has old revisons + * @return boolean + */ + public function hasRevisions() { + $file = $this->getChangelogFilename(); + return file_exists($file); + } /** * Returns lines from changelog. diff --git a/inc/lang/en/onceexisted.txt b/inc/lang/en/onceexisted.txt new file mode 100644 index 0000000000000000000000000000000000000000..87cc05750c8888226764bbc07141d76a21f23edb --- /dev/null +++ b/inc/lang/en/onceexisted.txt @@ -0,0 +1,3 @@ +======= This page does not exist anymore ====== + +You've followed a link to a page that no longer exists. You can check the list of [[?do=revisions|old revisions]] to see when and why it was deleted, access old revisions or restore it. \ No newline at end of file diff --git a/inc/parserutils.php b/inc/parserutils.php index 5b0cab06ede2f501d1888925cbea93e371863d99..ddd21bedaf47a3875761db03d39bb3cd2db23c66 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -82,7 +82,13 @@ function p_wiki_xhtml($id, $rev='', $excuse=true,$date_at=''){ if(file_exists($file)){ $ret = p_cached_output($file,'xhtml',$id); }elseif($excuse){ - $ret = p_locale_xhtml('newpage'); + //check if the page once existed + $changelog = new PageChangelog($id); + if($changelog->hasRevisions()) { + $ret = p_locale_xhtml('onceexisted'); + } else { + $ret = p_locale_xhtml('newpage'); + } } }