From: rich Date: Thu, 21 Oct 2004 11:42:04 +0000 (+0000) Subject: Corrected a crashing bug in mail threading. X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=20923b33c08fccfca617b21935c4a4f6201593f8;p=cocanwiki.git Corrected a crashing bug in mail threading. Added mail_rebuild script, which rebuilds the indexes. Wider filename field in mail import form. Don't allow ? characters in URLs. Imported around 1,500 mail messages successfully to test. Changed the build system to use ocamldsort to produce the correct build order. Moved the library code into lib/ so that it is conveniently separate from the script code. Scripts and library modules no longer need to be listed in the Makefile. Debian: Build-depends on ocamldsort. --- diff --git a/debian/control b/debian/control index 7556950..6036d0e 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: cocanwiki Priority: optional Maintainer: Richard W.M. Jones -Build-Depends: debhelper (>= 4.0.0), libpcre-ocaml-dev, libpgsql-ocaml-dev, libextlib-ocaml-dev, ocaml-findlib, ocaml-nox-3.08, libapache-mod-caml, libtemplate-ocaml-dev +Build-Depends: debhelper (>= 4.0.0), libpcre-ocaml-dev, libpgsql-ocaml-dev, libextlib-ocaml-dev, ocaml-findlib, ocaml-nox-3.08, libapache-mod-caml, libtemplate-ocaml-dev, ocamldsort (>= 0.14.2) Standards-Version: 3.6.1 Package: cocanwiki diff --git a/scripts/.cvsignore b/scripts/.cvsignore index 9ef5875..7d64c79 100644 --- a/scripts/.cvsignore +++ b/scripts/.cvsignore @@ -1,4 +1,2 @@ *.cmo *.cmi -*.cma -cocanwiki_version.ml diff --git a/scripts/.depend b/scripts/.depend index e29f997..6f9188f 100644 --- a/scripts/.depend +++ b/scripts/.depend @@ -1,281 +1,346 @@ -cocanwiki_pages.cmi: cocanwiki.cmo -00-TEMPLATE.cmo: cocanwiki.cmo cocanwiki_template.cmi -00-TEMPLATE.cmx: cocanwiki.cmx cocanwiki_template.cmx -broken_links.cmo: cocanwiki.cmo cocanwiki_template.cmi -broken_links.cmx: cocanwiki.cmx cocanwiki_template.cmx -change_password.cmo: cocanwiki.cmo cocanwiki_ok.cmo -change_password.cmx: cocanwiki.cmx cocanwiki_ok.cmx -change_password_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -change_password_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -cocanwiki.cmo: cocanwiki_ok.cmo cocanwiki_strings.cmo -cocanwiki.cmx: cocanwiki_ok.cmx cocanwiki_strings.cmx -cocanwiki_create_host.cmo: cocanwiki_create_host.cmi -cocanwiki_create_host.cmx: cocanwiki_create_host.cmi -cocanwiki_diff.cmo: cocanwiki_files.cmo -cocanwiki_diff.cmx: cocanwiki_files.cmx -cocanwiki_ext_calendar.cmo: cocanwiki.cmo cocanwiki_date.cmo \ - cocanwiki_strings.cmo cocanwiki_template.cmi -cocanwiki_ext_calendar.cmx: cocanwiki.cmx cocanwiki_date.cmx \ - cocanwiki_strings.cmx cocanwiki_template.cmx -cocanwiki_images.cmo: cocanwiki_files.cmo cocanwiki_strings.cmo \ - cocanwiki_images.cmi -cocanwiki_images.cmx: cocanwiki_files.cmx cocanwiki_strings.cmx \ - cocanwiki_images.cmi -cocanwiki_links.cmo: cocanwiki.cmo wikilib.cmi cocanwiki_links.cmi -cocanwiki_links.cmx: cocanwiki.cmx wikilib.cmx cocanwiki_links.cmi -cocanwiki_mail.cmo: cocanwiki_mail.cmi -cocanwiki_mail.cmx: cocanwiki_mail.cmi -cocanwiki_ok.cmo: cocanwiki_template.cmi -cocanwiki_ok.cmx: cocanwiki_template.cmx -cocanwiki_pages.cmo: cocanwiki.cmo cocanwiki_links.cmi cocanwiki_strings.cmo \ - wikilib.cmi cocanwiki_pages.cmi -cocanwiki_pages.cmx: cocanwiki.cmx cocanwiki_links.cmx cocanwiki_strings.cmx \ - wikilib.cmx cocanwiki_pages.cmi -cocanwiki_template.cmo: cocanwiki.cmo cocanwiki_files.cmo \ - cocanwiki_strings.cmo cocanwiki_version.cmo cocanwiki_template.cmi -cocanwiki_template.cmx: cocanwiki.cmx cocanwiki_files.cmx \ - cocanwiki_strings.cmx cocanwiki_version.cmx cocanwiki_template.cmi -contact.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -contact.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -contact_show.cmo: cocanwiki.cmo cocanwiki_template.cmi -contact_show.cmx: cocanwiki.cmx cocanwiki_template.cmx -contacts.cmo: cocanwiki.cmo cocanwiki_template.cmi -contacts.cmx: cocanwiki.cmx cocanwiki_template.cmx -crash.cmo: cocanwiki.cmo cocanwiki_server_settings.cmo cocanwiki_template.cmi -crash.cmx: cocanwiki.cmx cocanwiki_server_settings.cmx cocanwiki_template.cmx -create_contact.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -create_contact.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -create_contact_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -create_contact_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -create_user.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -create_user.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -create_user_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -create_user_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -dead_ends.cmo: cocanwiki.cmo cocanwiki_template.cmi -dead_ends.cmx: cocanwiki.cmx cocanwiki_template.cmx -delete_contact.cmo: cocanwiki.cmo cocanwiki_ok.cmo -delete_contact.cmx: cocanwiki.cmx cocanwiki_ok.cmx -delete_contact_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -delete_contact_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -delete_file.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo cocanwiki_ok.cmo -delete_file.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx cocanwiki_ok.cmx -delete_file_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -delete_file_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -delete_image.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo cocanwiki_ok.cmo -delete_image.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx cocanwiki_ok.cmx -delete_image_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -delete_image_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -delete_user.cmo: cocanwiki.cmo cocanwiki_ok.cmo -delete_user.cmx: cocanwiki.cmx cocanwiki_ok.cmx -delete_user_form.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -delete_user_form.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -diff.cmo: cocanwiki.cmo cocanwiki_diff.cmo cocanwiki_template.cmi -diff.cmx: cocanwiki.cmx cocanwiki_diff.cmx cocanwiki_template.cmx -edit.cmo: cocanwiki.cmo cocanwiki_diff.cmo cocanwiki_emailnotify.cmo \ - cocanwiki_ok.cmo cocanwiki_pages.cmi cocanwiki_strings.cmo \ - cocanwiki_template.cmi wikilib.cmi -edit.cmx: cocanwiki.cmx cocanwiki_diff.cmx cocanwiki_emailnotify.cmx \ - cocanwiki_ok.cmx cocanwiki_pages.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx wikilib.cmx -edit_contact.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -edit_contact.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -edit_contact_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -edit_contact_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -edit_host_css.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -edit_host_css.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -edit_host_css_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -edit_host_css_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -edit_host_settings.cmo: cocanwiki.cmo cocanwiki_ok.cmo -edit_host_settings.cmx: cocanwiki.cmx cocanwiki_ok.cmx -edit_host_settings_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -edit_host_settings_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -edit_page_css.cmo: cocanwiki.cmo cocanwiki_diff.cmo cocanwiki_emailnotify.cmo \ - cocanwiki_ok.cmo cocanwiki_strings.cmo -edit_page_css.cmx: cocanwiki.cmx cocanwiki_diff.cmx cocanwiki_emailnotify.cmx \ - cocanwiki_ok.cmx cocanwiki_strings.cmx -edit_page_css_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -edit_page_css_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -edit_page_title.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo cocanwiki_ok.cmo \ - cocanwiki_strings.cmo wikilib.cmi -edit_page_title.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx cocanwiki_ok.cmx \ - cocanwiki_strings.cmx wikilib.cmx -edit_page_title_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -edit_page_title_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -edit_sitemenu.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo cocanwiki_ok.cmo \ - cocanwiki_strings.cmo cocanwiki_template.cmi -edit_sitemenu.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx cocanwiki_ok.cmx \ - cocanwiki_strings.cmx cocanwiki_template.cmx -edit_user.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -edit_user.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -edit_user_form.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -edit_user_form.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx -file.cmo: cocanwiki.cmo -file.cmx: cocanwiki.cmx -files.cmo: cocanwiki.cmo cocanwiki_template.cmi -files.cmx: cocanwiki.cmx cocanwiki_template.cmx -forgot_password.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -forgot_password.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -forgot_password_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -forgot_password_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -history.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -history.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx -host_menu.cmo: cocanwiki.cmo cocanwiki_template.cmi -host_menu.cmx: cocanwiki.cmx cocanwiki_template.cmx -hoststyle.cmo: cocanwiki.cmo cocanwiki_template.cmi -hoststyle.cmx: cocanwiki.cmx cocanwiki_template.cmx -image.cmo: cocanwiki.cmo -image.cmx: cocanwiki.cmx -images.cmo: cocanwiki.cmo cocanwiki_template.cmi -images.cmx: cocanwiki.cmx cocanwiki_template.cmx -invite_user.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -invite_user.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -invite_user_confirm.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo \ - cocanwiki_template.cmi -invite_user_confirm.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx -invite_user_confirm_form.cmo: cocanwiki.cmo cocanwiki_ok.cmo \ - cocanwiki_strings.cmo cocanwiki_template.cmi -invite_user_confirm_form.cmx: cocanwiki.cmx cocanwiki_ok.cmx \ - cocanwiki_strings.cmx cocanwiki_template.cmx -invite_user_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -invite_user_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -largest_pages.cmo: cocanwiki.cmo cocanwiki_template.cmi -largest_pages.cmx: cocanwiki.cmx cocanwiki_template.cmx -login.cmo: cocanwiki.cmo cocanwiki_ok.cmo -login.cmx: cocanwiki.cmx cocanwiki_ok.cmx -login_form.cmo: cocanwiki.cmo cocanwiki_strings.cmo cocanwiki_template.cmi -login_form.cmx: cocanwiki.cmx cocanwiki_strings.cmx cocanwiki_template.cmx -logout.cmo: cocanwiki.cmo cocanwiki_ok.cmo -logout.cmx: cocanwiki.cmx cocanwiki_ok.cmx -mail_import.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_mail.cmi \ - cocanwiki_ok.cmo cocanwiki_pages.cmi cocanwiki_strings.cmo \ - cocanwiki_template.cmi wikilib.cmi -mail_import.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_mail.cmx \ - cocanwiki_ok.cmx cocanwiki_pages.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx wikilib.cmx -mail_import_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -mail_import_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -mailing_list_confirm.cmo: cocanwiki.cmo cocanwiki_ok.cmo -mailing_list_confirm.cmx: cocanwiki.cmx cocanwiki_ok.cmx -mailing_list_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -mailing_list_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -mailing_list_send.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo \ - cocanwiki_template.cmi -mailing_list_send.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx -mailing_list_unsubscribe.cmo: cocanwiki.cmo cocanwiki_ok.cmo -mailing_list_unsubscribe.cmx: cocanwiki.cmx cocanwiki_ok.cmx -mailing_list_view.cmo: cocanwiki.cmo cocanwiki_date.cmo \ - cocanwiki_template.cmi -mailing_list_view.cmx: cocanwiki.cmx cocanwiki_date.cmx \ - cocanwiki_template.cmx -page.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_links.cmi \ - cocanwiki_ok.cmo cocanwiki_server_settings.cmo cocanwiki_template.cmi \ - wikilib.cmi -page.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_links.cmx \ - cocanwiki_ok.cmx cocanwiki_server_settings.cmx cocanwiki_template.cmx \ - wikilib.cmx -page_email_confirm.cmo: cocanwiki.cmo cocanwiki_ok.cmo -page_email_confirm.cmx: cocanwiki.cmx cocanwiki_ok.cmx -page_email_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -page_email_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -page_email_send.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo \ - cocanwiki_template.cmi -page_email_send.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx -page_email_unsubscribe.cmo: cocanwiki.cmo cocanwiki_ok.cmo -page_email_unsubscribe.cmx: cocanwiki.cmx cocanwiki_ok.cmx -pagestyle.cmo: cocanwiki.cmo -pagestyle.cmx: cocanwiki.cmx -preview.cmo: cocanwiki.cmo wikilib.cmi -preview.cmx: cocanwiki.cmx wikilib.cmx -rebuild_links.cmo: cocanwiki.cmo cocanwiki_links.cmi cocanwiki_template.cmi -rebuild_links.cmx: cocanwiki.cmx cocanwiki_links.cmx cocanwiki_template.cmx -recent.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -recent.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx -recently_visited.cmo: cocanwiki.cmo cocanwiki_template.cmi -recently_visited.cmx: cocanwiki.cmx cocanwiki_template.cmx -restore.cmo: cocanwiki.cmo cocanwiki_diff.cmo cocanwiki_emailnotify.cmo \ - cocanwiki_links.cmi cocanwiki_ok.cmo -restore.cmx: cocanwiki.cmx cocanwiki_diff.cmx cocanwiki_emailnotify.cmx \ - cocanwiki_links.cmx cocanwiki_ok.cmx -restore_form.cmo: cocanwiki.cmo cocanwiki_diff.cmo cocanwiki_ok.cmo \ - cocanwiki_template.cmi -restore_form.cmx: cocanwiki.cmx cocanwiki_diff.cmx cocanwiki_ok.cmx \ - cocanwiki_template.cmx -rss.cmo: cocanwiki.cmo cocanwiki_template.cmi wikilib.cmi -rss.cmx: cocanwiki.cmx cocanwiki_template.cmx wikilib.cmx -search.cmo: cocanwiki.cmo -search.cmx: cocanwiki.cmx -send_feedback.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -send_feedback.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -send_feedback_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -send_feedback_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -set_password.cmo: cocanwiki.cmo cocanwiki_ok.cmo -set_password.cmx: cocanwiki.cmx cocanwiki_ok.cmx -set_password_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -set_password_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -signup.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -signup.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -sitemap.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_strings.cmo \ - cocanwiki_template.cmi wikilib.cmi -sitemap.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_strings.cmx \ - cocanwiki_template.cmx wikilib.cmx -stats.cmo: cocanwiki.cmo cocanwiki_server_settings.cmo cocanwiki_template.cmi -stats.cmx: cocanwiki.cmx cocanwiki_server_settings.cmx cocanwiki_template.cmx -stats_top.cmo: cocanwiki.cmo cocanwiki_server_settings.cmo \ - cocanwiki_template.cmi -stats_top.cmx: cocanwiki.cmx cocanwiki_server_settings.cmx \ - cocanwiki_template.cmx -undelete_file.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -undelete_file.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -undelete_file_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -undelete_file_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -undelete_image.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_template.cmi -undelete_image.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_template.cmx -undelete_image_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -undelete_image_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -upload_file.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo cocanwiki_images.cmi \ - cocanwiki_ok.cmo cocanwiki_template.cmi -upload_file.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx cocanwiki_images.cmx \ - cocanwiki_ok.cmx cocanwiki_template.cmx -upload_file_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -upload_file_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -upload_image.cmo: cocanwiki.cmo cocanwiki_emailnotify.cmo \ - cocanwiki_images.cmi cocanwiki_ok.cmo -upload_image.cmx: cocanwiki.cmx cocanwiki_emailnotify.cmx \ - cocanwiki_images.cmx cocanwiki_ok.cmx -upload_image_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -upload_image_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -users.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -users.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx -visualise_links.cmo: cocanwiki.cmo cocanwiki_files.cmo cocanwiki_template.cmi -visualise_links.cmx: cocanwiki.cmx cocanwiki_files.cmx cocanwiki_template.cmx -what_links_here.cmo: cocanwiki.cmo cocanwiki_links.cmi cocanwiki_template.cmi -what_links_here.cmx: cocanwiki.cmx cocanwiki_links.cmx cocanwiki_template.cmx -wikilib.cmo: cocanwiki_strings.cmo wikilib.cmi -wikilib.cmx: cocanwiki_strings.cmx wikilib.cmi -admin/admin.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -admin/admin.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx -admin/create_host.cmo: cocanwiki.cmo cocanwiki_create_host.cmi \ - cocanwiki_ok.cmo cocanwiki_strings.cmo -admin/create_host.cmx: cocanwiki.cmx cocanwiki_create_host.cmx \ - cocanwiki_ok.cmx cocanwiki_strings.cmx -admin/create_host_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -admin/create_host_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -admin/edit_emails.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -admin/edit_emails.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -admin/edit_emails_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -admin/edit_emails_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -admin/edit_host_css.cmo: cocanwiki.cmo cocanwiki_ok.cmo cocanwiki_strings.cmo -admin/edit_host_css.cmx: cocanwiki.cmx cocanwiki_ok.cmx cocanwiki_strings.cmx -admin/edit_host_css_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -admin/edit_host_css_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -admin/edit_hostnames.cmo: cocanwiki.cmo cocanwiki_ok.cmo \ - cocanwiki_strings.cmo -admin/edit_hostnames.cmx: cocanwiki.cmx cocanwiki_ok.cmx \ - cocanwiki_strings.cmx -admin/edit_hostnames_form.cmo: cocanwiki.cmo cocanwiki_template.cmi -admin/edit_hostnames_form.cmx: cocanwiki.cmx cocanwiki_template.cmx -admin/host.cmo: cocanwiki.cmo cocanwiki_date.cmo cocanwiki_template.cmi -admin/host.cmx: cocanwiki.cmx cocanwiki_date.cmx cocanwiki_template.cmx +lib/cocanwiki.cmo: lib/cocanwiki_ok.cmo lib/cocanwiki_strings.cmo +lib/cocanwiki.cmx: lib/cocanwiki_ok.cmx lib/cocanwiki_strings.cmx +lib/cocanwiki_create_host.cmo: lib/cocanwiki_create_host.cmi +lib/cocanwiki_create_host.cmx: lib/cocanwiki_create_host.cmi +lib/cocanwiki_diff.cmo: lib/cocanwiki_files.cmo +lib/cocanwiki_diff.cmx: lib/cocanwiki_files.cmx +lib/cocanwiki_ext_calendar.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +lib/cocanwiki_ext_calendar.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +lib/cocanwiki_images.cmo: lib/cocanwiki_files.cmo lib/cocanwiki_strings.cmo \ + lib/cocanwiki_images.cmi +lib/cocanwiki_images.cmx: lib/cocanwiki_files.cmx lib/cocanwiki_strings.cmx \ + lib/cocanwiki_images.cmi +lib/cocanwiki_links.cmo: lib/cocanwiki.cmo lib/wikilib.cmi \ + lib/cocanwiki_links.cmi +lib/cocanwiki_links.cmx: lib/cocanwiki.cmx lib/wikilib.cmx \ + lib/cocanwiki_links.cmi +lib/cocanwiki_mail.cmo: lib/cocanwiki_date.cmo lib/cocanwiki_pages.cmi \ + lib/cocanwiki_template.cmi lib/wikilib.cmi lib/cocanwiki_mail.cmi +lib/cocanwiki_mail.cmx: lib/cocanwiki_date.cmx lib/cocanwiki_pages.cmx \ + lib/cocanwiki_template.cmx lib/wikilib.cmx lib/cocanwiki_mail.cmi +lib/cocanwiki_ok.cmo: lib/cocanwiki_template.cmi +lib/cocanwiki_ok.cmx: lib/cocanwiki_template.cmx +lib/cocanwiki_pages.cmo: lib/cocanwiki.cmo lib/cocanwiki_links.cmi \ + lib/cocanwiki_strings.cmo lib/wikilib.cmi lib/cocanwiki_pages.cmi +lib/cocanwiki_pages.cmx: lib/cocanwiki.cmx lib/cocanwiki_links.cmx \ + lib/cocanwiki_strings.cmx lib/wikilib.cmx lib/cocanwiki_pages.cmi +lib/cocanwiki_template.cmo: lib/cocanwiki_files.cmo lib/cocanwiki_strings.cmo \ + lib/cocanwiki_version.cmo lib/cocanwiki_template.cmi +lib/cocanwiki_template.cmx: lib/cocanwiki_files.cmx lib/cocanwiki_strings.cmx \ + lib/cocanwiki_version.cmx lib/cocanwiki_template.cmi +lib/wikilib.cmo: lib/cocanwiki_strings.cmo lib/wikilib.cmi +lib/wikilib.cmx: lib/cocanwiki_strings.cmx lib/wikilib.cmi +lib/cocanwiki_mail.cmi: lib/cocanwiki.cmo +lib/cocanwiki_pages.cmi: lib/cocanwiki.cmo +broken_links.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +broken_links.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +change_password.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +change_password.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +change_password_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +change_password_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +contact.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +contact.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +contact_show.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +contact_show.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +contacts.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +contacts.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +crash.cmo: lib/cocanwiki.cmo lib/cocanwiki_server_settings.cmo \ + lib/cocanwiki_template.cmi +crash.cmx: lib/cocanwiki.cmx lib/cocanwiki_server_settings.cmx \ + lib/cocanwiki_template.cmx +create_contact.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +create_contact.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +create_contact_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +create_contact_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +create_user.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +create_user.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +create_user_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +create_user_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +dead_ends.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +dead_ends.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +delete_contact.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +delete_contact.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +delete_contact_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +delete_contact_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +delete_file.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_ok.cmo +delete_file.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_ok.cmx +delete_file_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +delete_file_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +delete_image.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_ok.cmo +delete_image.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_ok.cmx +delete_image_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +delete_image_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +delete_user.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +delete_user.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +delete_user_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +delete_user_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +diff.cmo: lib/cocanwiki.cmo lib/cocanwiki_diff.cmo lib/cocanwiki_template.cmi +diff.cmx: lib/cocanwiki.cmx lib/cocanwiki_diff.cmx lib/cocanwiki_template.cmx +edit.cmo: lib/cocanwiki.cmo lib/cocanwiki_diff.cmo \ + lib/cocanwiki_emailnotify.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_pages.cmi lib/cocanwiki_strings.cmo \ + lib/cocanwiki_template.cmi lib/wikilib.cmi +edit.cmx: lib/cocanwiki.cmx lib/cocanwiki_diff.cmx \ + lib/cocanwiki_emailnotify.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_pages.cmx lib/cocanwiki_strings.cmx \ + lib/cocanwiki_template.cmx lib/wikilib.cmx +edit_contact.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +edit_contact.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +edit_contact_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +edit_contact_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +edit_host_css.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +edit_host_css.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +edit_host_css_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +edit_host_css_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +edit_host_settings.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +edit_host_settings.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +edit_host_settings_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +edit_host_settings_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +edit_page_css.cmo: lib/cocanwiki.cmo lib/cocanwiki_diff.cmo \ + lib/cocanwiki_emailnotify.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +edit_page_css.cmx: lib/cocanwiki.cmx lib/cocanwiki_diff.cmx \ + lib/cocanwiki_emailnotify.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +edit_page_css_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +edit_page_css_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +edit_page_title.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_ok.cmo lib/cocanwiki_strings.cmo lib/wikilib.cmi +edit_page_title.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_ok.cmx lib/cocanwiki_strings.cmx lib/wikilib.cmx +edit_page_title_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +edit_page_title_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +edit_sitemenu.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_ok.cmo lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +edit_sitemenu.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_ok.cmx lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +edit_user.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +edit_user.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +edit_user_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +edit_user_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +file.cmo: lib/cocanwiki.cmo +file.cmx: lib/cocanwiki.cmx +files.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +files.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +forgot_password.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +forgot_password.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +forgot_password_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +forgot_password_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +history.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +history.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +host_menu.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +host_menu.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +hoststyle.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +hoststyle.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +image.cmo: lib/cocanwiki.cmo +image.cmx: lib/cocanwiki.cmx +images.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +images.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +invite_user.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +invite_user.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +invite_user_confirm.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +invite_user_confirm.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +invite_user_confirm_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +invite_user_confirm_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +invite_user_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +invite_user_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +largest_pages.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +largest_pages.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +login.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +login.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +login_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_strings.cmo \ + lib/cocanwiki_template.cmi +login_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_strings.cmx \ + lib/cocanwiki_template.cmx +logout.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +logout.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +mail_import.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_mail.cmi lib/cocanwiki_ok.cmo lib/cocanwiki_pages.cmi \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi lib/wikilib.cmi +mail_import.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_mail.cmx lib/cocanwiki_ok.cmx lib/cocanwiki_pages.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx lib/wikilib.cmx +mail_import_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +mail_import_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +mail_rebuild.cmo: lib/cocanwiki.cmo lib/cocanwiki_mail.cmi \ + lib/cocanwiki_ok.cmo +mail_rebuild.cmx: lib/cocanwiki.cmx lib/cocanwiki_mail.cmx \ + lib/cocanwiki_ok.cmx +mailing_list_confirm.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +mailing_list_confirm.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +mailing_list_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +mailing_list_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +mailing_list_send.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +mailing_list_send.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +mailing_list_unsubscribe.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +mailing_list_unsubscribe.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +mailing_list_view.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +mailing_list_view.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +page.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo lib/cocanwiki_links.cmi \ + lib/cocanwiki_ok.cmo lib/cocanwiki_server_settings.cmo \ + lib/cocanwiki_template.cmi lib/wikilib.cmi +page.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx lib/cocanwiki_links.cmx \ + lib/cocanwiki_ok.cmx lib/cocanwiki_server_settings.cmx \ + lib/cocanwiki_template.cmx lib/wikilib.cmx +page_email_confirm.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +page_email_confirm.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +page_email_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +page_email_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +page_email_send.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi +page_email_send.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx +page_email_unsubscribe.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +page_email_unsubscribe.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +pagestyle.cmo: lib/cocanwiki.cmo +pagestyle.cmx: lib/cocanwiki.cmx +preview.cmo: lib/cocanwiki.cmo lib/wikilib.cmi +preview.cmx: lib/cocanwiki.cmx lib/wikilib.cmx +rebuild_links.cmo: lib/cocanwiki.cmo lib/cocanwiki_links.cmi \ + lib/cocanwiki_template.cmi +rebuild_links.cmx: lib/cocanwiki.cmx lib/cocanwiki_links.cmx \ + lib/cocanwiki_template.cmx +recent.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +recent.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +recently_visited.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +recently_visited.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +restore.cmo: lib/cocanwiki.cmo lib/cocanwiki_diff.cmo \ + lib/cocanwiki_emailnotify.cmo lib/cocanwiki_links.cmi \ + lib/cocanwiki_ok.cmo +restore.cmx: lib/cocanwiki.cmx lib/cocanwiki_diff.cmx \ + lib/cocanwiki_emailnotify.cmx lib/cocanwiki_links.cmx \ + lib/cocanwiki_ok.cmx +restore_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_diff.cmo \ + lib/cocanwiki_ok.cmo lib/cocanwiki_template.cmi +restore_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_diff.cmx \ + lib/cocanwiki_ok.cmx lib/cocanwiki_template.cmx +rss.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi lib/wikilib.cmi +rss.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx lib/wikilib.cmx +search.cmo: lib/cocanwiki.cmo +search.cmx: lib/cocanwiki.cmx +send_feedback.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +send_feedback.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +send_feedback_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +send_feedback_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +set_password.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo +set_password.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx +set_password_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +set_password_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +signup.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo lib/cocanwiki_strings.cmo +signup.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx lib/cocanwiki_strings.cmx +sitemap.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_strings.cmo lib/cocanwiki_template.cmi lib/wikilib.cmi +sitemap.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_strings.cmx lib/cocanwiki_template.cmx lib/wikilib.cmx +stats.cmo: lib/cocanwiki.cmo lib/cocanwiki_server_settings.cmo \ + lib/cocanwiki_template.cmi +stats.cmx: lib/cocanwiki.cmx lib/cocanwiki_server_settings.cmx \ + lib/cocanwiki_template.cmx +stats_top.cmo: lib/cocanwiki.cmo lib/cocanwiki_server_settings.cmo \ + lib/cocanwiki_template.cmi +stats_top.cmx: lib/cocanwiki.cmx lib/cocanwiki_server_settings.cmx \ + lib/cocanwiki_template.cmx +undelete_file.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +undelete_file.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +undelete_file_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +undelete_file_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +undelete_image.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_template.cmi +undelete_image.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_template.cmx +undelete_image_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +undelete_image_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +upload_file.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_images.cmi lib/cocanwiki_ok.cmo lib/cocanwiki_template.cmi +upload_file.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_images.cmx lib/cocanwiki_ok.cmx lib/cocanwiki_template.cmx +upload_file_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +upload_file_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +upload_image.cmo: lib/cocanwiki.cmo lib/cocanwiki_emailnotify.cmo \ + lib/cocanwiki_images.cmi lib/cocanwiki_ok.cmo +upload_image.cmx: lib/cocanwiki.cmx lib/cocanwiki_emailnotify.cmx \ + lib/cocanwiki_images.cmx lib/cocanwiki_ok.cmx +upload_image_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +upload_image_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +users.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +users.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +what_links_here.cmo: lib/cocanwiki.cmo lib/cocanwiki_links.cmi \ + lib/cocanwiki_template.cmi +what_links_here.cmx: lib/cocanwiki.cmx lib/cocanwiki_links.cmx \ + lib/cocanwiki_template.cmx +admin/admin.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +admin/admin.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx +admin/create_host.cmo: lib/cocanwiki.cmo lib/cocanwiki_create_host.cmi \ + lib/cocanwiki_ok.cmo lib/cocanwiki_strings.cmo +admin/create_host.cmx: lib/cocanwiki.cmx lib/cocanwiki_create_host.cmx \ + lib/cocanwiki_ok.cmx lib/cocanwiki_strings.cmx +admin/create_host_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +admin/create_host_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +admin/edit_emails.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +admin/edit_emails.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +admin/edit_emails_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +admin/edit_emails_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +admin/edit_host_css.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +admin/edit_host_css.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +admin/edit_host_css_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +admin/edit_host_css_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +admin/edit_hostnames.cmo: lib/cocanwiki.cmo lib/cocanwiki_ok.cmo \ + lib/cocanwiki_strings.cmo +admin/edit_hostnames.cmx: lib/cocanwiki.cmx lib/cocanwiki_ok.cmx \ + lib/cocanwiki_strings.cmx +admin/edit_hostnames_form.cmo: lib/cocanwiki.cmo lib/cocanwiki_template.cmi +admin/edit_hostnames_form.cmx: lib/cocanwiki.cmx lib/cocanwiki_template.cmx +admin/host.cmo: lib/cocanwiki.cmo lib/cocanwiki_date.cmo \ + lib/cocanwiki_template.cmi +admin/host.cmx: lib/cocanwiki.cmx lib/cocanwiki_date.cmx \ + lib/cocanwiki_template.cmx diff --git a/scripts/00-TEMPLATE.ml b/scripts/00-TEMPLATE.ml. similarity index 95% rename from scripts/00-TEMPLATE.ml rename to scripts/00-TEMPLATE.ml. index e2be28f..3047aeb 100644 --- a/scripts/00-TEMPLATE.ml +++ b/scripts/00-TEMPLATE.ml. @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: 00-TEMPLATE.ml,v 1.4 2004/09/28 11:51:38 rich Exp $ + * $Id: 00-TEMPLATE.ml.,v 1.1 2004/10/21 11:42:04 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/Makefile b/scripts/Makefile index 92ab906..277aaf6 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,5 +1,5 @@ # Makefile for COCANWIKI. -# $Id: Makefile,v 1.42 2004/10/20 15:17:18 rich Exp $ +# $Id: Makefile,v 1.43 2004/10/21 11:42:04 rich Exp $ include ../Makefile.config @@ -7,156 +7,39 @@ OCAMLC := ocamlc # XXX Move GregorianDate out of +merjis. OCAMLCFLAGS := -w s \ -I +apache -I +pcre -I +dbi -I +extlib -I +netstring \ - -I +merjis + -I +merjis -I lib CPP := cpp -LIB_OBJS := \ - cocanwiki_date.cmo \ - cocanwiki_version.cmo \ - cocanwiki_files.cmo \ - cocanwiki_strings.cmo \ - cocanwiki_images.cmo \ - cocanwiki_server_settings.cmo \ - cocanwiki_template.cmo \ - cocanwiki_ok.cmo \ - cocanwiki.cmo \ - cocanwiki_diff.cmo \ - cocanwiki_emailnotify.cmo \ - wikilib.cmo \ - cocanwiki_links.cmo \ - cocanwiki_pages.cmo \ - cocanwiki_create_host.cmo \ - cocanwiki_ext_calendar.cmo \ - cocanwiki_mail.cmo - -OBJS := \ - broken_links.cmo \ - change_password.cmo \ - change_password_form.cmo \ - contact.cmo \ - contact_show.cmo \ - contacts.cmo \ - crash.cmo \ - create_contact.cmo \ - create_contact_form.cmo \ - create_user.cmo \ - create_user_form.cmo \ - dead_ends.cmo \ - delete_contact.cmo \ - delete_contact_form.cmo \ - delete_file.cmo \ - delete_file_form.cmo \ - delete_image.cmo \ - delete_image_form.cmo \ - delete_user.cmo \ - delete_user_form.cmo \ - diff.cmo \ - edit.cmo \ - edit_contact.cmo \ - edit_contact_form.cmo \ - edit_host_css.cmo \ - edit_host_css_form.cmo \ - edit_host_settings.cmo \ - edit_host_settings_form.cmo \ - edit_page_css.cmo \ - edit_page_css_form.cmo \ - edit_page_title.cmo \ - edit_page_title_form.cmo \ - edit_sitemenu.cmo \ - edit_user.cmo \ - edit_user_form.cmo \ - file.cmo \ - files.cmo \ - forgot_password.cmo \ - forgot_password_form.cmo \ - history.cmo \ - hoststyle.cmo \ - host_menu.cmo \ - image.cmo \ - images.cmo \ - invite_user.cmo \ - invite_user_form.cmo \ - invite_user_confirm.cmo \ - invite_user_confirm_form.cmo \ - largest_pages.cmo \ - login.cmo \ - login_form.cmo \ - logout.cmo \ - mail_import.cmo \ - mail_import_form.cmo \ - mailing_list_confirm.cmo \ - mailing_list_form.cmo \ - mailing_list_send.cmo \ - mailing_list_unsubscribe.cmo \ - mailing_list_view.cmo \ - page.cmo \ - page_email_confirm.cmo \ - page_email_form.cmo \ - page_email_send.cmo \ - page_email_unsubscribe.cmo \ - pagestyle.cmo \ - preview.cmo \ - rebuild_links.cmo \ - recent.cmo \ - recently_visited.cmo \ - restore.cmo \ - restore_form.cmo \ - rss.cmo \ - search.cmo \ - send_feedback.cmo \ - send_feedback_form.cmo \ - set_password.cmo \ - set_password_form.cmo \ - signup.cmo \ - sitemap.cmo \ - stats.cmo \ - stats_top.cmo \ - undelete_file.cmo \ - undelete_file_form.cmo \ - undelete_image.cmo \ - undelete_image_form.cmo \ - upload_file.cmo \ - upload_file_form.cmo \ - upload_image.cmo \ - upload_image_form.cmo \ - users.cmo \ - what_links_here.cmo - -# Not working: -# visualise_links.cmo - -ADMIN_OBJS := \ - admin/admin.cmo \ - admin/create_host.cmo \ - admin/create_host_form.cmo \ - admin/edit_emails.cmo \ - admin/edit_emails_form.cmo \ - admin/edit_host_css.cmo \ - admin/edit_host_css_form.cmo \ - admin/edit_hostnames.cmo \ - admin/edit_hostnames_form.cmo \ - admin/host.cmo +SRCS := $(wildcard *.ml) +ADMINS_SRCS := $(wildcard admin/*.ml) + +OBJS := $(SRCS:.ml=.cmo) +ADMIN_OBJS := $(ADMIN_SRCS:.ml=.cmo) + +LIB_OBJS := $(patsubst %,lib/%,$(shell cd lib && ocamldsort -byte *.ml *.mli)) INSTDIR := ../html/_bin -all: cocanwiki.cma $(OBJS) $(ADMIN_OBJS) +all: lib/cocanwiki.cma $(OBJS) $(ADMIN_OBJS) -cocanwiki.cma: $(LIB_OBJS) +lib/cocanwiki.cma: $(LIB_OBJS) $(OCAMLC) $(OCAMLCFLAGS) -a -o $@ $^ -cocanwiki_version.ml: cocanwiki_version.ml.in ../Makefile.config +lib/cocanwiki_version.ml: lib/cocanwiki_version.ml.in ../Makefile.config $(CPP) -P -DPACKAGE="$(PACKAGE)" -DVERSION="$(VERSION)" $< > $@ clean: - rm -f *~ *.bak core *.cmi *.cmo *.cma cocanwiki_version.ml + rm -f *~ *.bak core *.cmi *.cmo *.cma lib/cocanwiki_version.ml + rm -f lib/*~ lib/*.bak lib/core lib/*.cmi lib/*.cmo lib/*.cma rm -f admin/*~ admin/*.bak admin/core admin/*.cmi admin/*.cmo install: - install -d -m 0755 $(INSTDIR) - install -c -m 0555 cocanwiki.cma $(OBJS) $(INSTDIR) - - install -d -m 0755 $(INSTDIR)/admin - install -c -m 0555 $(ADMIN_OBJS) $(INSTDIR)/admin + exit 1 +# install -d -m 0755 $(INSTDIR) +# install -c -m 0555 cocanwiki.cma $(OBJS) $(INSTDIR) +# +# install -d -m 0755 $(INSTDIR)/admin +# install -c -m 0555 $(ADMIN_OBJS) $(INSTDIR)/admin %.cmi: %.mli $(OCAMLC) $(OCAMLCFLAGS) -c $< @@ -168,8 +51,7 @@ dep: .depend depend: .depend .depend: - rm -f .depend - ocamldep *.mli *.ml admin/*.ml > $@ + ocamldep -I lib lib/*.ml lib/*.mli *.ml admin/*.ml > $@ ifeq ($(wildcard .depend),.depend) include .depend diff --git a/scripts/lib/.cvsignore b/scripts/lib/.cvsignore new file mode 100644 index 0000000..a2d3153 --- /dev/null +++ b/scripts/lib/.cvsignore @@ -0,0 +1,4 @@ +*.cmi +*.cmo +*.cma +cocanwiki_version.ml \ No newline at end of file diff --git a/scripts/cocanwiki.ml b/scripts/lib/cocanwiki.ml similarity index 99% rename from scripts/cocanwiki.ml rename to scripts/lib/cocanwiki.ml index 8bd50b8..dfa44eb 100644 --- a/scripts/cocanwiki.ml +++ b/scripts/lib/cocanwiki.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki.ml,v 1.18 2004/10/14 18:04:56 rich Exp $ + * $Id: cocanwiki.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_create_host.ml b/scripts/lib/cocanwiki_create_host.ml similarity index 98% rename from scripts/cocanwiki_create_host.ml rename to scripts/lib/cocanwiki_create_host.ml index 981f978..cfc1819 100644 --- a/scripts/cocanwiki_create_host.ml +++ b/scripts/lib/cocanwiki_create_host.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_create_host.ml,v 1.2 2004/10/09 12:24:47 rich Exp $ + * $Id: cocanwiki_create_host.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_create_host.mli b/scripts/lib/cocanwiki_create_host.mli similarity index 94% rename from scripts/cocanwiki_create_host.mli rename to scripts/lib/cocanwiki_create_host.mli index 3eb7a58..f4ed7f7 100644 --- a/scripts/cocanwiki_create_host.mli +++ b/scripts/lib/cocanwiki_create_host.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_create_host.mli,v 1.2 2004/10/09 12:24:48 rich Exp $ + * $Id: cocanwiki_create_host.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_date.ml b/scripts/lib/cocanwiki_date.ml similarity index 96% rename from scripts/cocanwiki_date.ml rename to scripts/lib/cocanwiki_date.ml index 42edc44..ac63b2e 100644 --- a/scripts/cocanwiki_date.ml +++ b/scripts/lib/cocanwiki_date.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_date.ml,v 1.5 2004/10/07 16:54:24 rich Exp $ + * $Id: cocanwiki_date.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_diff.ml b/scripts/lib/cocanwiki_diff.ml similarity index 98% rename from scripts/cocanwiki_diff.ml rename to scripts/lib/cocanwiki_diff.ml index 97f4b65..849a818 100644 --- a/scripts/cocanwiki_diff.ml +++ b/scripts/lib/cocanwiki_diff.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_diff.ml,v 1.4 2004/09/20 10:56:47 rich Exp $ + * $Id: cocanwiki_diff.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_emailnotify.ml b/scripts/lib/cocanwiki_emailnotify.ml similarity index 96% rename from scripts/cocanwiki_emailnotify.ml rename to scripts/lib/cocanwiki_emailnotify.ml index bd9ec98..ef844a8 100644 --- a/scripts/cocanwiki_emailnotify.ml +++ b/scripts/lib/cocanwiki_emailnotify.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_emailnotify.ml,v 1.4 2004/09/24 15:53:57 rich Exp $ + * $Id: cocanwiki_emailnotify.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_ext_calendar.ml b/scripts/lib/cocanwiki_ext_calendar.ml similarity index 99% rename from scripts/cocanwiki_ext_calendar.ml rename to scripts/lib/cocanwiki_ext_calendar.ml index c1df9f9..61fab34 100644 --- a/scripts/cocanwiki_ext_calendar.ml +++ b/scripts/lib/cocanwiki_ext_calendar.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_ext_calendar.ml,v 1.3 2004/10/09 08:33:02 rich Exp $ + * $Id: cocanwiki_ext_calendar.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_files.ml b/scripts/lib/cocanwiki_files.ml similarity index 97% rename from scripts/cocanwiki_files.ml rename to scripts/lib/cocanwiki_files.ml index 0837911..2c41442 100644 --- a/scripts/cocanwiki_files.ml +++ b/scripts/lib/cocanwiki_files.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_files.ml,v 1.2 2004/09/09 12:21:22 rich Exp $ + * $Id: cocanwiki_files.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_images.ml b/scripts/lib/cocanwiki_images.ml similarity index 98% rename from scripts/cocanwiki_images.ml rename to scripts/lib/cocanwiki_images.ml index 983b15f..0ebdb1a 100644 --- a/scripts/cocanwiki_images.ml +++ b/scripts/lib/cocanwiki_images.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_images.ml,v 1.2 2004/09/09 12:21:22 rich Exp $ + * $Id: cocanwiki_images.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_images.mli b/scripts/lib/cocanwiki_images.mli similarity index 94% rename from scripts/cocanwiki_images.mli rename to scripts/lib/cocanwiki_images.mli index 5525ad0..cb34dba 100644 --- a/scripts/cocanwiki_images.mli +++ b/scripts/lib/cocanwiki_images.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_images.mli,v 1.2 2004/09/09 12:21:22 rich Exp $ + * $Id: cocanwiki_images.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_links.ml b/scripts/lib/cocanwiki_links.ml similarity index 98% rename from scripts/cocanwiki_links.ml rename to scripts/lib/cocanwiki_links.ml index 0cfcd82..89d6621 100644 --- a/scripts/cocanwiki_links.ml +++ b/scripts/lib/cocanwiki_links.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_links.ml,v 1.6 2004/10/17 20:03:23 rich Exp $ + * $Id: cocanwiki_links.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_links.mli b/scripts/lib/cocanwiki_links.mli similarity index 94% rename from scripts/cocanwiki_links.mli rename to scripts/lib/cocanwiki_links.mli index de2b615..59d0c0c 100644 --- a/scripts/cocanwiki_links.mli +++ b/scripts/lib/cocanwiki_links.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_links.mli,v 1.3 2004/10/10 14:44:50 rich Exp $ + * $Id: cocanwiki_links.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_mail.ml b/scripts/lib/cocanwiki_mail.ml similarity index 92% rename from scripts/cocanwiki_mail.ml rename to scripts/lib/cocanwiki_mail.ml index 108cd1d..6ac57f2 100644 --- a/scripts/cocanwiki_mail.ml +++ b/scripts/lib/cocanwiki_mail.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_mail.ml,v 1.2 2004/10/20 15:17:18 rich Exp $ + * $Id: cocanwiki_mail.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -126,6 +126,7 @@ struct match n_data.parent with | None -> () | Some p -> + Hashtbl.replace f n { n_data with parent = None }; let p_data = Hashtbl.find f p in Hashtbl.replace f p { p_data with @@ -282,29 +283,32 @@ let thread_mail (dbh : Dbi.connection) hostid ?user ?r year month = (* Step 4B: Promote children of (some) empty containers. *) let threads = - let promote (Tree (message, children)) = - (* Find the grandchildren to promote. *) - let children, grandchildren = - List.partition (function - | Tree (Some _, _) -> true - | Tree (None, _) -> false) children in - let grandchildren = List.map (fun (Tree (_, c)) -> c) grandchildren in - let grandchildren = List.concat grandchildren in - let children = children @ grandchildren in - Tree (message, children) in - let threads = List.map promote threads in - - (* At the top level, find any empty containers with exactly one child - * and promote those children to top-level threads. + (* Below the top level there should be no empty containers after + * this. Any empty container with children has those children + * promoted up. *) - let threads, new_threads = - List.partition (function - | Tree (None, [child]) -> false - | _ -> true) threads in - let new_threads = List.map (function - | Tree (_, [child]) -> child - | _ -> assert false) new_threads in - threads @ new_threads in + let rec promote = function + [] -> [] + | Tree (None, children) :: xs -> + let children = promote children in + children @ promote xs + | Tree (message, children) :: xs -> + let children = promote children in + Tree (message, children) :: promote xs + in + let threads = List.map (fun (Tree (message, children)) -> + let children = promote children in + Tree (message, children)) threads in + + (* At the top level we're allowed to have empty containers. However + * if we have an empty container with just a single child, then + * promote that child. + *) + let threads = List.map (function + Tree (None, [child]) -> child + | message -> message) threads in + + threads in (* Step 5: Group root set by subject. *) (* Couldn't be arsed to implement this. If someone really cares about @@ -382,7 +386,8 @@ let thread_mail (dbh : Dbi.connection) hostid ?user ?r year month = failwith ("error finding URL for message: " ^ title) in let html = markup children in - sprintf "
  • %s\n" url subject + sprintf "
  • %s\n" + url (Cgi_escape.escape_html subject) :: html @ [ "
  • \n" ] in "
      \n" :: List.concat (List.map f threads) @ ["
    \n"] diff --git a/scripts/cocanwiki_mail.mli b/scripts/lib/cocanwiki_mail.mli similarity index 94% rename from scripts/cocanwiki_mail.mli rename to scripts/lib/cocanwiki_mail.mli index e97aed5..93c7b00 100644 --- a/scripts/cocanwiki_mail.mli +++ b/scripts/lib/cocanwiki_mail.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_mail.mli,v 1.2 2004/10/20 15:17:18 rich Exp $ + * $Id: cocanwiki_mail.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_ok.ml b/scripts/lib/cocanwiki_ok.ml similarity index 96% rename from scripts/cocanwiki_ok.ml rename to scripts/lib/cocanwiki_ok.ml index 6067197..70ac52f 100644 --- a/scripts/cocanwiki_ok.ml +++ b/scripts/lib/cocanwiki_ok.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_ok.ml,v 1.6 2004/10/12 10:00:38 rich Exp $ + * $Id: cocanwiki_ok.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_pages.ml b/scripts/lib/cocanwiki_pages.ml similarity index 99% rename from scripts/cocanwiki_pages.ml rename to scripts/lib/cocanwiki_pages.ml index b3bf2a8..2530688 100644 --- a/scripts/cocanwiki_pages.ml +++ b/scripts/lib/cocanwiki_pages.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_pages.ml,v 1.1 2004/10/11 14:13:04 rich Exp $ + * $Id: cocanwiki_pages.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_pages.mli b/scripts/lib/cocanwiki_pages.mli similarity index 97% rename from scripts/cocanwiki_pages.mli rename to scripts/lib/cocanwiki_pages.mli index fc1dc71..92c6809 100644 --- a/scripts/cocanwiki_pages.mli +++ b/scripts/lib/cocanwiki_pages.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_pages.mli,v 1.1 2004/10/11 14:13:04 rich Exp $ + * $Id: cocanwiki_pages.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_server_settings.ml b/scripts/lib/cocanwiki_server_settings.ml similarity index 97% rename from scripts/cocanwiki_server_settings.ml rename to scripts/lib/cocanwiki_server_settings.ml index f8a7898..40a7ad8 100644 --- a/scripts/cocanwiki_server_settings.ml +++ b/scripts/lib/cocanwiki_server_settings.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_server_settings.ml,v 1.3 2004/10/09 15:01:58 rich Exp $ + * $Id: cocanwiki_server_settings.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_strings.ml b/scripts/lib/cocanwiki_strings.ml similarity index 97% rename from scripts/cocanwiki_strings.ml rename to scripts/lib/cocanwiki_strings.ml index 8504f1a..a2071a8 100644 --- a/scripts/cocanwiki_strings.ml +++ b/scripts/lib/cocanwiki_strings.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_strings.ml,v 1.2 2004/09/09 12:21:22 rich Exp $ + * $Id: cocanwiki_strings.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/cocanwiki_template.ml b/scripts/lib/cocanwiki_template.ml similarity index 98% rename from scripts/cocanwiki_template.ml rename to scripts/lib/cocanwiki_template.ml index 1ad7695..c647845 100644 --- a/scripts/cocanwiki_template.ml +++ b/scripts/lib/cocanwiki_template.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_template.ml,v 1.6 2004/10/17 19:43:19 rich Exp $ + * $Id: cocanwiki_template.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,7 +27,6 @@ open Unix open Cocanwiki_files open Cocanwiki_strings -open Cocanwiki (* This is used to generate the id fields from URLs on the site menu. *) let id_of_url str = diff --git a/scripts/cocanwiki_template.mli b/scripts/lib/cocanwiki_template.mli similarity index 95% rename from scripts/cocanwiki_template.mli rename to scripts/lib/cocanwiki_template.mli index 782b4f7..21ebef2 100644 --- a/scripts/cocanwiki_template.mli +++ b/scripts/lib/cocanwiki_template.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_template.mli,v 1.3 2004/10/17 19:43:19 rich Exp $ + * $Id: cocanwiki_template.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/lib/cocanwiki_version.ml.in b/scripts/lib/cocanwiki_version.ml.in new file mode 100644 index 0000000..c0197ea --- /dev/null +++ b/scripts/lib/cocanwiki_version.ml.in @@ -0,0 +1,4 @@ +#define xstr(s) str(s) +#define str(s) #s +let package = xstr(PACKAGE) +let version = xstr(VERSION) diff --git a/scripts/wikilib.ml b/scripts/lib/wikilib.ml similarity index 99% rename from scripts/wikilib.ml rename to scripts/lib/wikilib.ml index 58ba0e5..0ba0425 100644 --- a/scripts/wikilib.ml +++ b/scripts/lib/wikilib.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: wikilib.ml,v 1.15 2004/10/17 17:29:48 rich Exp $ + * $Id: wikilib.ml,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,7 +44,8 @@ let generate_url_of_title (dbh : Dbi.connection) hostid title = (* Create a suitable URL from this title. *) let url = String.map (function - '\000' .. ' ' | '<' | '>' | '&' | '"' | '+' | '#' | '%' + | '\000' .. ' ' | '<' | '>' | '&' | '"' + | '+' | '#' | '%' | '?' -> '_' | c -> Char.lowercase c) title in diff --git a/scripts/wikilib.mli b/scripts/lib/wikilib.mli similarity index 95% rename from scripts/wikilib.mli rename to scripts/lib/wikilib.mli index 96ee7e1..17ce9c8 100644 --- a/scripts/wikilib.mli +++ b/scripts/lib/wikilib.mli @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: wikilib.mli,v 1.2 2004/09/09 12:21:22 rich Exp $ + * $Id: wikilib.mli,v 1.1 2004/10/21 11:42:05 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/scripts/mail_rebuild.ml b/scripts/mail_rebuild.ml new file mode 100644 index 0000000..cb5ba0e --- /dev/null +++ b/scripts/mail_rebuild.ml @@ -0,0 +1,45 @@ +(* COCANWIKI - a wiki written in Objective CAML. + * Written by Richard W.M. Jones . + * Copyright (C) 2004 Merjis Ltd. + * $Id: mail_rebuild.ml,v 1.1 2004/10/21 11:42:04 rich Exp $ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + *) + +open Apache +open Registry +open Cgi +open Printf + +open Cocanwiki +open Cocanwiki_ok +open Cocanwiki_mail + +let run r (q : cgi) (dbh : Dbi.connection) hostid _ user = + let year = int_of_string (q#param "year") in + let month = int_of_string (q#param "month") in + + thread_mail dbh hostid ~user ~r year month; + + (* Commit to the database. *) + dbh#commit (); + + (* Finish off. *) + ok ~title:"Rebuilt" + q ("Thread index rebuilt.") + +let () = + register_script ~restrict:[CanImportMail] run diff --git a/scripts/visualise_links.ml b/scripts/visualise_links.ml. similarity index 98% rename from scripts/visualise_links.ml rename to scripts/visualise_links.ml. index fe5de8d..54e0460 100644 --- a/scripts/visualise_links.ml +++ b/scripts/visualise_links.ml. @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: visualise_links.ml,v 1.1 2004/09/29 09:44:52 rich Exp $ + * $Id: visualise_links.ml.,v 1.1 2004/10/21 11:42:04 rich Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/templates/mail_import_form.html b/templates/mail_import_form.html index 5432b9e..260ebf7 100644 --- a/templates/mail_import_form.html +++ b/templates/mail_import_form.html @@ -13,7 +13,7 @@ - +
    File:
    Flags: