Index: EventCalendar.py
===================================================================
--- EventCalendar.py	(revision 167)
+++ EventCalendar.py	(revision 170)
@@ -27,6 +27,7 @@
         * numcal: # of calendar. default: 1
         * showlastweekday: shows the event at the last weekday if the recurred weekday is not available. (1: enalbed, 0: disabled). default: 0
         * showerror: shows error messages below the calendar if event data format is invalid. (1: enalbed, 0: disabled). default: 1
+        * showpagelist: shows a list of the pages used for event data below the calendar. (1: enalbed, 0: disabled). default: 1
         * showweeknumber: shows the week number of the year (1: enalbed, 0: disabled). default: 0
         
     
@@ -216,6 +217,7 @@
     numcal = 1
     showlastweekday = 0
     showerror = 1
+    showpagelist = 1
     showweeknumber = 0
     debug = 0
     
@@ -294,11 +296,13 @@
         
     if cal_action == 'weekly':
         html_result = showweeklycalendar()
-    
-    
+
+
     # format output
     html.append( html_result )
     html.append( showmenubar() )
+
+    html.append( show_page_list() )
     
     if Params.showerror and Globs.errormsg:
         html.append(u'<p><i><font size="2" color="#aa0000"><ol>%s</ol></font></i>' % Globs.errormsg)
@@ -411,6 +415,13 @@
     except (TypeError, ValueError):
         Params.showweeknumber = 0
 
+    # show definition table
+    # default: 1
+    try:
+        Params.showpagelist = int(params.get('showpagelist', '1'))
+    except (TypeError, ValueError):
+        Params.showpagelist = 1
+
     # default bgcolor
     Params.bgcolor = '#ddffdd'
     
@@ -666,6 +677,43 @@
     return html
         
 
+def show_page_list():
+    html = ""
+    request = Globs.request
+    formatter = Globs.formatter
+
+    if Params.showpagelist:
+        source_pages = []
+
+        events, cal_events, labels = loadEvents()
+
+        for eid in events.keys():
+            event = events[eid]
+            refer = event['refer']
+            refer_url = '%s/%s' % (request.getScriptname(), wikiutil.quoteWikinameURL(refer))
+            targetlink = '<a href="%s">%s</a>' % ( refer_url, wikiutil.escape(refer))
+            source_pages.append( targetlink )
+
+        from sets import Set
+        page_set = Set(source_pages)
+
+        html = "\n"
+        html += formatter.paragraph(1)
+        html += "Constructed from events defined on these pages"
+        html += formatter.paragraph(0)
+        html += "\n"
+        html += formatter.bullet_list(1)
+        html += "\n"
+        for p in page_set:
+            html += formatter.listitem(1)
+            html += p
+            html += formatter.listitem(0)
+            html += "\n"
+        html += formatter.bullet_list(0)
+        html += "\n"
+
+    return html
+
 def getdatefield(str_date):
     str_year = ''
     str_month = ''
