Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for [[/eggref/5/formular|the CHICKEN 5 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-5.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. [[tags: egg]] == formular Processing of CGI email forms. [[toc:]] === Introduction [[http://www.scriptarchive.com/formmail.html|FormMail]] is an HTML form to email gateway that receives the results of an HTML form and sends them to the specified email recipients. The {{formular}} library contains a collection of routines for parsing emails generated by FormMail. The emails can be read either from an s-expression, or from a text file in Unix mbox format, via the {{mbox}} library. There are two programs included with the library, {{form2wiki}} and {{form2txt}}. These programs read messages generated by FormMail from a Unix mbox file, and generate a representation of the form data in wiki format or text format. This egg includes a copy of NMS FormMail Version 3.14c1 that has been modified to 1) include the submitted fields in the confirmation email; 2) use quotation marks to enclose field text that contains newline characters; 3) escape the submitted text in the notification email. === Library procedures <procedure>mbox-messages->tree:: [MESSAGE] -> TREE</procedure> Given a list of messages created by the {{mbox-file->messages}} procedure in the [[mbox]] library, this procedure returns an ordered dictionary structure, where the key is the email address of the form sender, and the value is the list of all forms submitted by that sender. The API of the dictionary object follows that of the [[rb-tree]] library. === Usage of form2wiki and form2txt form2wiki [options...] The following options are recognized: ; <nowiki>--exclude=FROM1:FROM2:...</nowiki> : specify a colon-separated list of entries to exclude (default is none ) ; <nowiki>--include=FROM1:FROM2:...</nowiki> : specify a colon-separated list of entries to include (default is all ) ; <nowiki>--after-date=N</nowiki> : omit entries with date before N (given in seconds) ; <nowiki>--flimits=FIELD1:LIMIT1,...</nowiki> : specify a comma-separated list of fields and character limits (default is none ) ; <nowiki>--fields=FIELD1:FIELD2:...</nowiki> : specify a colon-separated list of fields to process (default is all fields ) ; <nowiki>--mbox-path=PATH</nowiki> : specify path to input mbox (default: mbox) ; <nowiki>--order=N</nowiki> : specify order of form id (default: 3) ; <nowiki>--prefix=STRING</nowiki> : specify prefix for wiki page title (default: Form Submission) ; <nowiki>--read-alist=FILE</nowiki> : read an alist representation from FILE (mbox-path is ignored) ; <nowiki>--stream</nowiki> : use the [[byte-blob-stream]] library for I/O ; <nowiki>-h, --help</nowiki> : Print help form2txt [options...] operands The following options are recognized: ; <nowiki>--exclude=FROM1:FROM2</nowiki> : specify a colon-separated list of entries to exclude (default is none ) ; <nowiki>--after-date=N</nowiki> : omit entries with date before N (given in seconds) ; <nowiki>--fields=FIELD1:FIELD</nowiki> : specify a colon-separated list of fields to process (default is all fields ) ; <nowiki>--mbox-path=PATH</nowiki> : specify path to input mbox (default: mbox) ; <nowiki>--order=N</nowiki> : specify order of form id (default: 3) ; <nowiki>--prefix=STRING</nowiki> : specify prefix for text page title (default: Form Submission) ; <nowiki>--write-alist=FILE</nowiki> : write an alist representation to FILE ; <nowiki>--read-alist=FILE</nowiki> : read an alist representation from FILE (mbox-path is ignored) ; <nowiki>--stream</nowiki> : use the [[byte-blob-stream]] library for I/O ; <nowiki>-h, --help</nowiki> : Print help === Authors Ivan Raikov === Version ; 5.x: transition to typeclass interface for rb-tree ; 4.3: additional checks for well-formed fields in form2txt and form2wiki ; 4.1: added option --stream to form2txt and form2wiki ; 3.4-3.5 : Small bug fixes in command-line option handling and data field processing ; 3.3 : Update to reflect the API of rb-tree 4.0 ; 3.2 : Added missing dependency on byte-blob-stream === License Copyright 2008-2013 Ivan Raikov and the Okinawa Institute of Science and Technology. 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 3 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. A full copy of the GPL license can be found at <http://www.gnu.org/licenses/>.
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you add 4 to 22?