# Configuration file for Graffiti Wall. # # Copyright (C) 2006 Robert D. Faulkner # Send praise/curses/bugs to rdf@treborlogic.com # # The most recent version of this program can be obtained at # http://graffitiwall.treborlogic.com # # # 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; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # # CONFIGURATION DETAILS # --------------------- # # This file needs to be readable by the user your web server runs as. # Only the superuser should have write access. # # This file should be located in the configuration file path that is compiled # into the Graffiti Wall. Default path is /etc/graffiti. It should be named # to match the database designation you will use in the HTML form. For example: # If naming the database you are working with "gw", passed from the HTML form # as db=gw, then this file should be named gw.conf. All other options and files # are defined in this file and therefore can be named anything and located # anywhere in the filesystem. # # Each line with a configuration option MUST be terminated with a newline. # If you do not hit enter on an option line and it's the last line in the file, # The line will NOT be interpreted by the wall. # # There are several entries Graffiti Wall uses. # # Required entries: # DBFILEPATH # This should point to the location of the database file itself. # This file should have read/write access for the user the web server runs as. # # DBKEYFILEPATH # This should point to the location of the database key file. # This file should have read/write access for the user the web server runs as. # # LOGFILE # This should point to the location of the database log file. # This file should have read/write access for the user the web server runs as. # # DOMAIN # The server's domain name to be set in the cookie. (ie yourdomain.com) # This will make the cookie apply to all hosts belonging to the given domain. # If you wish to make the cookie only apply to a certion host or sub-domain # then enter the root portion of the domain you wish to serve here. # (ie subdomain.yourdomain.com or www.yourdomain.com) # # WORKDIR # Directory where graffiti wall will store it's lock files. # # If any of the required files does not exist then the program # creates them when needed. The WORKDIR should exist and be writable by the user # the web server runs as. # # # Optional entries: # HEADHTML # This should list the path to a file which contains any HTML or other code # that should be within the head tags. The file should NOT contain any head # tags. If omitted the wall will output just an opening and closing tag with # the title tags contained within. # # TITLEHTML # This should list the path to a file which contains the title html. This file # should include the title tags. If omitted the wall will output: # Graffiti Wall # # HTMLBODY # This should be the actual HTML tag line you wish to use on the pages # the wall outputs. If you omit this entry then your pages will appear with no # tag at all making the page conform to the client browser's default # settings. # # HTMLHEADERPATH # This should provide the path to a file containing HTML to appear before the # wall output. If you do not define this then the program will output a very # basic default form. I recommend you run the wall one time in this mode to get # the html output to use as a template for making your own HTML. The form # parameters should conform to what the program displays as the database # function depends on an 80 column input with hard wraps. The program will # output a and tag itself. The only HTML needed in this file is # the actual content that would appear after the body tag and before the wall. # # HTMLFOOTER # This should provide the path to an html file that contains HTML to place # after the wall's output. If not defined the wall will output a generic footer. # # REPOSTDELAY # This defines the amount of time in whole minutes before a post can be added # to the wall from the same IP address. This is meant to act as a throttle to # prevent someone using a script to add huge amounts of entries to the wall in # a short period of time. If omitted the program will assume a default of 10 # minutes. If you trust your users you can set this to 0 to allow instant # reposts but don't complain to me when you log in one day to find someone has # posted 1,000,000 entries containing, "You suck!" # # POSTSIZELIMIT # This defines the maximum number of bytes allowed per post. Default is 2000. # The goal is to prevent someone from overloading the wall with huge posts. # This was inspired by someone copying and pasting the entire wall into one # post on my site. Instant hole plug! # # DEFAULTMODE # Allows the administrator to set a default display preference for classic # (text) or HTML tables. This is how the wall will display to a user on their # first visit. Right now there is only 1 real option, which is 'H' to set # tables as the default. If this option is set to anything else, or omitted, # the wall will output in classic text mode. # # SEPARATOR # Allows the administrator to specify the character the wall will use to # generate the separator between the date and entry body in classic mode. It # can be any character. If omitted the wall will default to "=". # # HTMLFILTER # This option will prevent any HTML tags from rendering in the posts. This is # accomplished by scanning the entry for any occurances of '<' and replacing # them with '<'. This will cause the HTML to render as tags instead of how # the browser would normally interpret it. If filtering is enabled it will be # noted in the display options section of the wall. The value can be anything. # If this option is defined and given any value after the '=' the filter will be # enabled. Note that even when enabled the post is not altered when it is # stored in the database. The filtering is done on the fly during output to the # client. This means that if HTML filtering was enabled, and is then disabled, # any HTML that people have posted will render when viewed. # # TABLEEVEN # This directive defines the RGB hex triplet used to define the background # color for the even numbered database entries when displayed in HTML tables. # This also controls the background color of the display options table. # The format is a flat 6 hexidecimal digits such as FF0000. The first 2 digits # represent the red value, the second 2 represent the green value, and the # last 2 represent the blue value. If omitted this defaults to 000000 # # TABLEODD # This directive defines the RGB hex triplet used to define the background # color for the odd numbered database entries when displayed in HTML tables. # The format is a flat 6 hexidecimal digits such as FF0000. The first 2 digits # represent the red value, the second 2 represent the green value, and the # last 2 represent the blue value. If omitted this defaults to 000000 # # POSTADDHTML # This defines the path to an HTML file to be displayed once someone posts to # the wall. This file should be a valid and complete html file including head # and body tags as the wall will not generate them for this page. The wall # will output this file in response to a successful post. You will probably # want to use this page as a redirect back to the URL for the wall. If not # defined the wall will not generate a post acknowlegded page. If defined in # the configuration file but the file specified does not exist the wall will # generate a blank page that states "Paint Applied" # # DEFAULTMAX # This defines the maximum number of entries to display when a person first # visits the wall and therefore has no cookie set. Previously it would default # to 0 which displays all entries. This would result in a long wait time when # someone visits a wall with a very large database, or on a modem. If omitted # the wall will default to the original behavior of displaying all entries. If # set to a value larger than the number of existing entries the wall will # default to showing all entries until that number exists, when it will then # honor the setting. It is recommended you set this value to a multiple of 20 # to line up with the display options. # # These entries can occur in any order within this file. You should not use # quotes unless you intend them as part of the entry. The entries are newline # terminated and can not span multiple lines in the file. If you need a 200 # character <body> tag then make a 200 character long line. The entries must # start at the beginning of the line. No white space can preceed or follow them # and a newline MUST terminate them. # # EXAMPLES # -------- # #DBFILEPATH=/etc/graffiti/example/example.txt #DBKEYFILEPATH=/etc/graffiti/example/example.key #LOGFILE=/etc/graffiti/example/example.log #HEADHTML=/etc/graffiti/example/examplehead.html #TITLEHTML=/etc/graffiti/example/exampletitle.html #HTMLHEADERPATH=/etc/graffiti/example/exampleheader.html #HTMLFOOTER=/etc/graffiti/example/examplefooter.html #HTMLBODY=<body bgcolor=#000000 bgproperties=fixed text=#FFFFFF> #REPOSTDELAY=2 #DOMAIN=exampledomain.com #POSTSIZELIMIT=3000 #WORKDIR=/etc/graffiti #TABLEODD=303030 #TABLEEVEN=505050 #POSTADDHTML=/etc/graffiti/example/examplepostadd.html #DEFAULTMODE=H #DEFAULTMAX=40 #SEPARATOR=- #HTMLFILTER=YES DBFILEPATH=/etc/graffiti/example/example.txt DBKEYFILEPATH=/etc/graffiti/example/example.key LOGFILE=/etc/graffiti/example/example.log HEADHTML=/etc/graffiti/example/examplehead.html TITLEHTML=/etc/graffiti/example/exampletitle.html HTMLHEADERPATH=/etc/graffiti/example/exampleheader.html HTMLFOOTER=/etc/graffiti/example/examplefooter.html HTMLBODY=<body bgcolor=#000000 bgproperties=fixed text=#FFFFFF> REPOSTDELAY=2 DOMAIN=exampledomain.com POSTSIZELIMIT=3000 WORKDIR=/etc/graffiti TABLEODD=303030 TABLEEVEN=505050 POSTADDHTML=/etc/graffiti/example/examplepostadd.html DEFAULTMODE=H SEPARATOR=- HTMLFILTER=YES DEFAULTMAX=0