| 2 | ddelon | 1 | ezmlm-php 2.0
 | 
        
           |  |  | 2 | Nov 13, 2002
 | 
        
           |  |  | 3 | http://www.unixpimps.org/software/ezmlm-php
 | 
        
           |  |  | 4 |   | 
        
           |  |  | 5 | ezmlm-php is a group of files written in php that allow you to fetch messages
 | 
        
           |  |  | 6 | from a ezmlm mailing list archive via a web page. It is fully customizable so
 | 
        
           |  |  | 7 | it can fit into an existing layout design very well, it is also self contained
 | 
        
           |  |  | 8 | so that you can run it with no existing site setup.
 | 
        
           |  |  | 9 |   | 
        
           |  |  | 10 | The new version has been rewritten from the ground up to exclude all external
 | 
        
           |  |  | 11 | dependancies (except one which comes with the source, see makehash later on)
 | 
        
           |  |  | 12 | and now implements RFC2045 MIME parsing in pure PHP.
 | 
        
           |  |  | 13 | The system is now also object based to allow greater flexibility within the
 | 
        
           |  |  | 14 | code itself, it also makes the code much more managable and readable.
 | 
        
           |  |  | 15 |   | 
        
           |  |  | 16 |   | 
        
           |  |  | 17 | INSTALLATION
 | 
        
           |  |  | 18 | ~~~~~~~~~~~~
 | 
        
           |  |  | 19 | *NOTE*
 | 
        
           |  |  | 20 | The installation of ezmlm-php now requires access to a compiler to build the
 | 
        
           |  |  | 21 | included makehash program. See the MAKEHASH section at the end.
 | 
        
           |  |  | 22 |   | 
        
           |  |  | 23 | 1. Unpack the tarball and copy the files to your webroot in the directory you
 | 
        
           |  |  | 24 |    want the list to be accessed from. For example using /home/www/mailinglist
 | 
        
           |  |  | 25 |   | 
        
           |  |  | 26 |    gzip -d ezmlm-php-2.0.tar.gz
 | 
        
           |  |  | 27 |    tar xvf ezmlm-php.2.0.tar
 | 
        
           |  |  | 28 |    cd /home/www/mailinglist
 | 
        
           |  |  | 29 |    cp ~/ezmlm-php-2.0/*.php .
 | 
        
           |  |  | 30 |    cp ~/ezmlm-php-2.0/*.def .
 | 
        
           |  |  | 31 |   | 
        
           |  |  | 32 | 2. Build the included makehash program.
 | 
        
           |  |  | 33 |   | 
        
           |  |  | 34 |    cd ~/ezmlm-php-2.0
 | 
        
           |  |  | 35 |    gzip -d makehash.tar.gz
 | 
        
           |  |  | 36 |    tar xvf makehash.tar
 | 
        
           |  |  | 37 |    cd makehash
 | 
        
           |  |  | 38 |    make
 | 
        
           |  |  | 39 |   | 
        
           |  |  | 40 |    If you do not have compiler access check the binaries directory in the
 | 
        
           |  |  | 41 |    makehash.tar file as there are some common binaries there. If you build
 | 
        
           |  |  | 42 |    makehash on a new platform please feel free to submit the binary for
 | 
        
           |  |  | 43 |    inclusion.
 | 
        
           |  |  | 44 |   | 
        
           |  |  | 45 | 3. Move the resulting binary to your webroot.
 | 
        
           |  |  | 46 |   | 
        
           |  |  | 47 | 4. Edit ezmlm.php and change the user configurable options. Search for
 | 
        
           |  |  | 48 |    USER-CONFIG to find where to edit. See CONFIGURATION below.
 | 
        
           |  |  | 49 |   | 
        
           |  |  | 50 | 5. Access www.yoursite.com/mailinglist to test the installation.
 | 
        
           |  |  | 51 |   | 
        
           |  |  | 52 |   | 
        
           |  |  | 53 | CONFIGURATION
 | 
        
           |  |  | 54 | ~~~~~~~~~~~~~
 | 
        
           |  |  | 55 | This section will explain each variable. If you used the last version most
 | 
        
           |  |  | 56 | of these are the exact same.
 | 
        
           |  |  | 57 |   | 
        
           |  |  | 58 | Name		Meaning
 | 
        
           |  |  | 59 | ~~~~~~~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
        
           |  |  | 60 | listdir		This variable should be pointed at the root of the ezmlm
 | 
        
           |  |  | 61 | 		archive. For instance /usr/home/lists/ragga-jungle
 | 
        
           |  |  | 62 |   | 
        
           |  |  | 63 | listname	The name of the list (everything before the @)
 | 
        
           |  |  | 64 |   | 
        
           |  |  | 65 | listdomain	The domain name of the list
 | 
        
           |  |  | 66 |   | 
        
           |  |  | 67 | tempdir		Where to store the cache files. /var/tmp should be fine
 | 
        
           |  |  | 68 | 		for most installations. /tmp is another choice.
 | 
        
           |  |  | 69 |   | 
        
           |  |  | 70 | sendheaders	If set to TRUE then ezmlm will generate the nessesary
 | 
        
           |  |  | 71 | 		page headers. If set to FALSE your header file needs to
 | 
        
           |  |  | 72 | 		generate them. See 'includebefore'
 | 
        
           |  |  | 73 |   | 
        
           |  |  | 74 | sendbody	If set to TRUE then ezmlm will generate the <body></body>
 | 
        
           |  |  | 75 | 		tags.
 | 
        
           |  |  | 76 |   | 
        
           |  |  | 77 | sendfooters	If set to TRUE then ezmlm will generate the tage needed
 | 
        
           |  |  | 78 | 		to finish the document. If set to FALSE your footer file
 | 
        
           |  |  | 79 | 		needs to generate them. See 'includeafter'
 | 
        
           |  |  | 80 |   | 
        
           |  |  | 81 | includebefore	This is a file that will be included before ezmlm-php
 | 
        
           |  |  | 82 | 		generates any output. You can have ezmlm-php generate
 | 
        
           |  |  | 83 | 		the nessesary headers (sendheaders = TRUE) and still
 | 
        
           |  |  | 84 | 		include a file of your own. The file is included by the
 | 
        
           |  |  | 85 | 		include_once function.
 | 
        
           |  |  | 86 |   | 
        
           |  |  | 87 | includeafter	This is the exact same as includebefore except the file
 | 
        
           |  |  | 88 | 		is included after ezmlm-php has sent all of it's data.
 | 
        
           |  |  | 89 |   | 
        
           |  |  | 90 | href		This is a string to prepend to the path whenever an
 | 
        
           |  |  | 91 | 		<a href= tag is generated. This option was added to fix
 | 
        
           |  |  | 92 | 		the problem of using a <base href= tag.
 | 
        
           |  |  | 93 |   | 
        
           |  |  | 94 | prefertype	This is the mime type that you wish to send if the
 | 
        
           |  |  | 95 | 		current message is a multipart message. If this type isn't
 | 
        
           |  |  | 96 | 		found it defaults to the first part.
 | 
        
           |  |  | 97 |  		Some examples are: text/html, text/plain, etc...
 | 
        
           |  |  | 98 |   | 
        
           |  |  | 99 | showheaders	This is an array of the headers to show. You can add or
 | 
        
           |  |  | 100 | 		remove any valid RFC822 header you wish to this array.
 | 
        
           |  |  | 101 | 		Some examples: X-Mailer, Message-ID
 | 
        
           |  |  | 102 | 		(This is case-insensitive)
 | 
        
           |  |  | 103 |   | 
        
           |  |  | 104 | msgtemplate	This is a file to use as the message template, if blank
 | 
        
           |  |  | 105 | 		the internal one is used. See the file MSGTEMPLATE for
 | 
        
           |  |  | 106 | 		more information as it is to much to describe here.
 | 
        
           |  |  | 107 |   | 
        
           |  |  | 108 | tablescolours	This is an array of colour hex triplets for use when a
 | 
        
           |  |  | 109 | 		table is generated. For each row that is generated the
 | 
        
           |  |  | 110 | 		next colour is used, just use a single element if you
 | 
        
           |  |  | 111 | 		don't want alternating colours.
 | 
        
           |  |  | 112 | 		(Yes there is a U in colours, the software was written
 | 
        
           |  |  | 113 | 		in Canada ;)
 | 
        
           |  |  | 114 |   | 
        
           |  |  | 115 | thread_subjlen	This is an integer that tells the software how many
 | 
        
           |  |  | 116 | 		characters to allow the subjects when displayed in
 | 
        
           |  |  | 117 | 		threads or on the info page. This is useful if you
 | 
        
           |  |  | 118 | 		want to limit subjects to a certain length so that no
 | 
        
           |  |  | 119 | 		line wrapping occurs.
 | 
        
           |  |  | 120 |   | 
        
           |  |  | 121 |   | 
        
           |  |  | 122 | MAKEHASH
 | 
        
           |  |  | 123 | ~~~~~~~~
 | 
        
           |  |  | 124 | So what is this little binary you need to build? Simply put it is a small
 | 
        
           |  |  | 125 | little C program to generate the nessesary ezmlm-idx hashes for cross
 | 
        
           |  |  | 126 | referencing authors. In the last version this was done by recursivley doing
 | 
        
           |  |  | 127 | a grep on the /authors directory which isn't very efficient when the list
 | 
        
           |  |  | 128 | subscriber base grows above 1000 or so. This program computes the hash by
 | 
        
           |  |  | 129 | using the same algorithim the software does and speeds things up a lot.
 | 
        
           |  |  | 130 |   | 
        
           |  |  | 131 | -FIN-
 |