4 # Uncomment and edit the options you want to specifically change from the
5 # default values. You must specify ADMIN_PASS and SECRET.
9 #use constant ADMIN_PASS => 'CHANGEME'; # Admin password. For fucks's sake, change this.
10 #use constant SECRET => 'CHANGEME'; # Cryptographic secret. CHANGE THIS to something totally random, and long.
11 #use constant CAPPED_TRIPS => ('!!example1'=>' capcode','!!example2'=>' <em>cap</em>'); # Admin tripcode hash, for startng threads when locked down, and similar. Format is '!trip'=>'capcode', where 'capcode' is what is shown instead of the trip. This can contain HTML, but keep it valid XHTML!
14 #use constant TITLE => 'Kareha image board'; # Name of this image board
15 #use constant SHOWTITLETXT => 1; # Show TITLE at top (1: yes 0: no)
16 #use constant SHOWTITLEIMG => 0; # Show image at top (0: no, 1: single, 2: rotating)
17 #use constant TITLEIMG => 'title.jpg'; # Title image (point to a script file if rotating)
18 #use constant THREADS_DISPLAYED => 10; # Number of threads on the front page
19 #use constant THREADS_LISTED => 40; # Number of threads in the thread list
20 #use constant REPLIES_PER_THREAD => 10; # Replies shown
21 #use constant S_ANONAME => 'Anonymous'; # Defines what to print if there is no text entered in the name field
22 #use constant DEFAULT_STYLE => 'Futaba'; # Default CSS style title
23 #use constant FAVICON => 'kareha.ico'; # Path to the favicon for the board
26 #use constant ALLOW_TEXT_THREADS => 1; # Allow users to create text threads
27 #use constant ALLOW_TEXT_REPLIES => 1; # Allow users to make text replies
28 #use constant AUTOCLOSE_POSTS => 0; # Maximum number of posts before a thread closes. 0 to disable.
29 #use constant AUTOCLOSE_DAYS => 0; # Maximum number of days with no activity before a thread closes. 0 to disable.
30 #use constant AUTOCLOSE_SIZE => 0; # Maximum size of the thread HTML file in kilobytes before a thread closes. 0 to disable.
31 #use constant MAX_RES => 20; # Maximum topic bumps
32 #use constant MAX_THREADS => 0; # Maximum number of threads - set to 0 to disable
33 #use constant MAX_POSTS => 500; # Maximum number of posts - set to 0 to disable
34 #use constant MAX_MEGABYTES => 0; # Maximum size to use for all images in megabytes - set to 0 to disable
35 #use constant MAX_FIELD_LENGTH => 100; # Maximum number of characters in subject, name, and email
36 #use constant MAX_COMMENT_LENGTH => 8192; # Maximum number of characters in a comment
37 #use constant MAX_LINES_SHOWN => 15; # Max lines of a comment shown on the main page (0 = no limit)
38 #use constant ALLOW_ADMIN_EDIT => 0; # Allow editing of include files and spam.txt from admin.pl.
39 # Warning! This is a security risk, since include templates can run code! Only enable if you completely trust your moderators!
42 #use constant ALLOW_IMAGE_THREADS => 1; # Allow users to create image threads
43 #use constant ALLOW_IMAGE_REPLIES => 1; # Allow users to make image replies
44 #use constant IMAGE_REPLIES_PER_THREAD => 0; # Number of image replies per thread to show, set to 0 for no limit.
45 #use constant MAX_KB => 1000; # Maximum upload size in KB
46 #use constant MAX_W => 200; # Images exceeding this width will be thumbnailed
47 #use constant MAX_H => 200; # Images exceeding this height will be thumbnailed
48 #use constant THUMBNAIL_SMALL => 1; # Thumbnail small images (1: yes, 0: no)
49 #use constant THUMBNAIL_QUALITY => 70; # Thumbnail JPEG quality
50 #use constant ALLOW_UNKNOWN => 0; # Allow unknown filetypes (1: yes, 0: no)
51 #use constant MUNGE_UNKNOWN => '.unknown'; # Munge unknown file type extensions with this. If you remove this, make sure your web server is locked down properly.
52 #use constant FORBIDDEN_EXTENSIONS => ('php','php3','php4','phtml','shtml','cgi','pl','pm','py','r','exe','dll','scr','pif','asp','cfm','jsp','vbs'); # file extensions which are forbidden
53 #use constant STUPID_THUMBNAILING => 0; # Bypass thumbnailing code and just use HTML to resize the image. STUPID, wastes bandwidth. (1: enable, 0: disable)
54 #use constant MAX_IMAGE_WIDTH => 16384; # Maximum width of image before rejecting
55 #use constant MAX_IMAGE_HEIGHT => 16384; # Maximum height of image before rejecting
56 #use constant MAX_IMAGE_PIXELS => 50000000; # Maximum width*height of image before rejecting
57 #use constant CONVERT_COMMAND => 'convert'; # location of the ImageMagick convert command (usually just 'convert', but sometime a full path is needed)
60 #use constant ENABLE_CAPTCHA => 0; # Enable verification codes (0: disabled, 1: enabled)
61 #use constant CAPTCHA_HEIGHT => 18; # Approximate height of captcha image
62 #use constant CAPTCHA_SCRIBBLE => 0.2; # Scribbling factor
63 #use constant CAPTCHA_SCALING => 0.15; # Randomized scaling factor
64 #use constant CAPTCHA_ROTATION => 0.3; # Randomized rotation factor
65 #use constant CAPTCHA_SPACING => 2.5; # Letter spacing
68 #use constant CHARSET => 'utf-8'; # Character set to use, typically "utf-8" or "shift_jis". Remember to set Apache to use the same character set for .html files! (AddCharset shift_jis html)
69 #use constant PROXY_CHECK => (); # Ports to scan for proxies - NOT IMPLEMENTED.
70 #use constant TRIM_METHOD => 0; # Which threads to trim (0: oldest - like futaba 1: least active - furthest back)
71 #use constant REQUIRE_THREAD_TITLE => 0; # Require a title for threads (0: no, 1: yes)
72 #use constant DATE_STYLE => 'futaba'; # Date style ('2ch', 'futaba', 'localtime, 'http')
73 #use constant DISPLAY_ID => ''; # How to display user IDs (0 or '': don't display,
74 # 'day', 'thread', 'board' in any combination: make IDs change for each day, thread or board,
75 # 'mask': display masked IP address (similar IPs look similar, but are still encrypted)
76 # 'sage': don't display ID when user sages, 'link': don't display ID when the user fills out the link field,
77 # 'ip': display user's IP, 'host': display user's host)
78 #use constant EMAIL_ID => 'Heaven'; # Replace the ID with this string when the user uses an email. Set to '' to disable.
79 #use constant SILLY_ANONYMOUS => ''; # Make up silly names for anonymous people (same syntax as DISPLAY_ID)
80 #use constant FORCED_ANON => 0; # Force anonymous posting (0: no, 1: yes)
81 #use constant TRIPKEY => '!'; # This character is displayed before tripcodes
82 #use constant ALTERNATE_REDIRECT => 0; # Use alternate redirect method. (Javascript/meta-refresh instead of HTTP forwards.)
83 #use constant APPROX_LINE_LENGTH => 150; # Approximate line length used by reply abbreviation code to guess at the length of a reply.
84 #use constant COOKIE_PATH => 'root'; # Path argument for cookies ('root': cookies apply to all boards on the site, 'current': cookies apply only to this board, 'parent': cookies apply to all boards in the parent directory) - does NOT apply to the style cookie!
85 #use constant STYLE_COOKIE => 'wakabastyle'; # Cookie name for the style selector.
86 #use constant ENABLE_DELETION => 1; # Enable user deletion of posts. (0: no, 1: yes)
87 #use constant PAGE_GENERATION => 'paged'; # Page generation method ('single': just one page, 'paged': split into several pages like futaba, 'monthly': separate pages for each month)
88 #use constant DELETE_FIRST => 'remove'; # What to do when the first post is deleted ('keep': keep the thread, 'single': delete the thread if there is only one post, 'remove': delete the whole thread)
89 #use constant DEFAULT_MARKUP => 'waka'; # Default markup format ('none', 'waka', 'html', 'aa')
90 #use constant FUDGE_BLOCKQUOTES => 1; # Modify formatting for old stylesheets
91 #use constant USE_XHTML => 1; # Send pages as application/xhtml+xml to browsers that support this (0:no, 1:yes)
92 #use constant KEEP_MAINPAGE_NEWLINES => 0; # Don't strip whitespace from main page (needed for Google ads to work, 0:no, 1:yes)
93 #use constant SPAM_TRAP => 1; # Enable the spam trap (empty, hidden form fields that spam bots usually fill out) (0:no, 1:yes)
95 # Internal paths and files - might as well leave this alone.
96 #use constant RES_DIR => 'res/'; # Reply cache directory (needs to be writeable by the script)
97 #use constant CSS_DIR => 'css/'; # CSS file directory
98 #use constant IMG_DIR => 'src/'; # Image directory (needs to be writeable by the script)
99 #use constant THUMB_DIR => 'thumb/'; # Thumbnail directory (needs to be writeable by the script)
100 #use constant INCLUDE_DIR => 'include/'; # Include file directory
101 #use constant LOG_FILE => 'log.txt'; # Log file (stores delete passwords and IP addresses in encrypted form)
102 #use constant PAGE_EXT => '.html'; # Extension used for board pages after first
103 #use constant HTML_SELF => 'index.html'; # Name of main html file
104 #use constant HTML_BACKLOG => ''; # Name of backlog html file
105 #use constant RSS_FILE => ''; # RSS file. Set to '' to disable RSS support.
106 #use constant JS_FILE => 'kareha.js'; # Location of the js file
107 #use constant SPAM_FILES => ('spam.txt'); # Spam definition files, as a Perl list.
108 # Hints: * Set all boards to use the same file for easy updating.
109 # * Set up two files, one being the official list from
110 # http://wakaba.c3.cx/antispam/spam.txt, and one your own additions.
112 # Admin script options
113 #use constant ADMIN_SHOWN_LINES => 5; # Number of post lines the admin script shows.
114 #use constant ADMIN_SHOWN_POSTS => 10; # Number of posts per thread the admin script shows.
115 #use constant ADMIN_MASK_IPS => 0; # Mask poster IP addresses in the admin script (0: no, 1: yes)
116 #use constant ADMIN_EDITABLE_FILES => (SPAM_FILES); # A Perl list of all files that can be edited from the admin script.
117 # Hints: * If you don't trust your moderators, don't let them edit templates!
118 # Templates can execute code on your server!
119 # * If you still want to allow editing of templates, use
120 # (SPAM_FILES,glob("include/*")) as a convenient shorthand.
121 #use constant ADMIN_BAN_FILE => '.htaccess'; # Name of the file to write bans to
122 #use constant ADMIN_BAN_TEMPLATE => "\n# Banned at <var scalar localtime> (<var \$reason>)\nDeny from <var \$ip>\n";
123 # Format of the ban entries, using the template syntax.
126 # Icons for filetypes - file extensions specified here will not be renamed, and will get icons
127 # (except for the built-in image formats). These example icons can be found in the extras/ directory.
128 #use constant FILETYPES => (
130 # mp3 => 'icons/audio-mp3.png',
131 # ogg => 'icons/audio-ogg.png',
132 # aac => 'icons/audio-aac.png',
133 # m4a => 'icons/audio-aac.png',
134 # mpc => 'icons/audio-mpc.png',
135 # mpp => 'icons/audio-mpp.png',
136 # mod => 'icons/audio-mod.png',
137 # it => 'icons/audio-it.png',
138 # xm => 'icons/audio-xm.png',
139 # fla => 'icons/audio-flac.png',
140 # flac => 'icons/audio-flac.png',
141 # sid => 'icons/audio-sid.png',
142 # mo3 => 'icons/audio-mo3.png',
143 # spc => 'icons/audio-spc.png',
144 # nsf => 'icons/audio-nsf.png',
146 # zip => 'icons/archive-zip.png',
147 # rar => 'icons/archive-rar.png',
148 # lzh => 'icons/archive-lzh.png',
149 # lha => 'icons/archive-lzh.png',
150 # gz => 'icons/archive-gz.png',
151 # bz2 => 'icons/archive-bz2.png',
152 # '7z' => 'icons/archive-7z.png',
154 # swf => 'icons/flash.png',
155 # torrent => 'icons/torrent.png',
156 # # To stop Wakaba from renaming image files, put their names in here like this:
162 # Allowed HTML tags and attributes. Sort of undocumented for now, but feel free to
164 #use constant ALLOWED_HTML => (
165 # 'a'=>{args=>{'href'=>'url'},forced=>{'rel'=>'nofollow'}},
166 # 'b'=>{},'i'=>{},'u'=>{},'sub'=>{},'sup'=>{},
167 # 'em'=>{},'strong'=>{},
168 # 'ul'=>{},'ol'=>{},'li'=>{},'dl'=>{},'dt'=>{},'dd'=>{},
169 # 'p'=>{},'br'=>{empty=>1},'blockquote'=>{},