--- page_old.py	2006-10-15 15:20:00.000000000 +0200
+++ page.py	2006-12-04 22:27:28.000000000 +0100
@@ -500,6 +500,24 @@
         """
         return self.exists(domain='standard', includeDeleted=includeDeleted)
 
+    def isApprovedPage(self):
+        """ Is this page approved for public viewing?
+
+        @rtype: bool
+        @return: true, if this page has been approved 
+        """
+        approvedFile = os.path.join(self.getPagePath(), "approved")
+        if os.path.isfile(approvedFile):
+            approvedRevision = {}
+            for line in open(approvedFile).readlines():
+                tmp = line.split("\t")
+                approvedRevision[tmp[0]] = tmp[1]
+            currentRevision = "%08d" % self.get_real_rev()
+            if currentRevision in approvedRevision:
+                return True
+        return False
+        
+
     def exists(self, rev=0, domain=None, includeDeleted=False):
         """ Does this page exist?
 
@@ -1245,6 +1263,8 @@
                                                 formatter=self.formatter))
         elif not request.user.may.read(self.page_name):
             request.write("<strong>%s</strong><br>" % _("You are not allowed to view this page."))
+        elif (not self.isApprovedPage()) and (request.user.valid == 0):
+            request.write("<strong>%s</strong><br>" % _("Sorry. This page has not been approved yet for public access."))
         else:
             # parse the text and send the page content
             self.send_page_content(request, Parser, body,
