Geeklog Documentation

GeekLog Configuration Guide

Setting up config.php

GeekLog's server settings are configured in a text file called config.php. It is necessary to edit this file to get your system running as well as configuring it to your preferences. This file contains a set of variables that are defined below:

Database Settings

Variable Default Value Description
_DB_dbms mysql Do not change! This tells Geeklog that it's dealing with a MySQL database - and currently, that is the only type of database that is supported.
_DB_host localhost Database Server (to be entered in the form: hostname:port:unixsocket). In most cases you won't need to change the default value.
_DB_name geeklog Database Name
_DB_user root Database User Account
_DB_pass null Database User Password
_DB_table_prefix gl_ Allows you to change the default table names for Geeklog
_DB_mysqldump_path /usr/bin/mysqldump Complete path to the mysqldump utility (part of MySQL) for making backups of your Geeklog database
allow_mysqldump 1 Enable or disable the backup functionality (1 = on, 0 = off)

Server Settings

Variable Default Value Description
path /path/to/geeklog/ Base file system path for your site (trailing slash necessary)
path_system /path/to/geeklog/system/ Path to your system directory for your site (trailing slash necessary). This directory holds the code libraries used throughout Geeklog
path_html /path/to/geeklog/public_html/ Path to your web tree directory for your site (trailing slash necessary). This directory holds all the web pages used by Geeklog.
path_log /path/to/geeklog/logs/ File system path for the log files
path_language /path/to/geeklog/language/ location of the Geeklog language files
rdf_file HTML path with "/backend/geeklog.rdf" suffix File system path for the RDF file. This file allows you to share your site's headlines with others
backup_path Base path with "/backups/" suffix location where mysqldump (see above) will store database backups

Site Settings

Variable Default Value Description
site_name GeekLog Site Name of your site
site_slogan Another Nifty GeekLog Site Slogan for your site. This is added to the HTML title field.
site_mail admin@example.com E-mail address for all admin mail
site_url http://www.yourdomain.com Base URL for your site (no trailing slash)
theme XSilver Default theme to use on the site
layout_url Site URL path, with layout dir and default layout Location of the default layout
path_themes /path/to/geeklog/public_html/layout/ Directory where all themes reside
path_layout /path/to/geeklog/public_html/layout/XSilver/ Path to current theme directory
allow_user_themes Can be 1 or 0 If set to 1, users can set their own theme that the site uses
allow_user_language Can be 1 or 0 If set to 1, users can select the language for the site navigation
allow_user_photo Can be 1 or 0 If set to 1, users can upload a photo to their profile

Locale Settings

Variable Default Value Description
language english Name of your language file. Additional language files may be available for download at http://geeklog.sourceforge.net. If you translate a language file, please send it to us. Also see Localization below.
locale en-gb Locale for the system
date %A, %B %d %Y @ %I:%M %p %Z Date format used for most of the site, including story displays. See date formats below.
daytime %m/%d %I:%M%p Date format used when a shorter date is needed. See date formats below.
shortdate %x Date format this is the shortest date. See date formats below.
default_charset iso-8859-1 Character encoding used by Geeklog when serving HTML pages or sending email. Only used if the language file did not already set another character encoding.

Session Settings

Variable Default Value Description
cookie_ip 1 Session ID to contain IP address of user as well as random number. This is more secure but will more than likely require dialed up users to login each and every time. (0=no, 1=yes)
default_perm_cookie_timeout 604800 Permanent cookie timeout in seconds (604800 = 1 week).
session_cookie_timeout 7200 Session cookie timeout (in seconds).
cookie_session gl_session What the session ID is stored as in the cookie.
cookie_name geeklog The name of the cookie.
cookie_path / Cookie path.

Login settings

Variable Default Value Description
loginrequired 0 Login is required to access any part of the site. When set to 1, this overrides the following settings. When you only want to block access to certain parts of the site, set this to 0 and select from the following settings.
submitloginrequired 0 When set to 1, only registered users can submit stories, links, and events
commentsloginrequired 0 When set to 1, only registered users can submit comments
linksloginrequired 0 When set to 1, only registered users can access the links area
pollsloginrequired 0 When set to 1, only registered users can access the list of recent polls
calendarloginrequired 0 When set to 1, only registered users can access the calendar
statsloginrequired 0 When set to 1, only registered users can access the site stats
searchloginrequired 0 When set to 1, only registered users can use the search
profileloginrequired 0 When set to 1, only registered users can view another user's profile
emailuserloginrequired 0 When set to 1, only registered users can use the email submission form to send an email to another user

Submission Settings

Variable Default Value Description
storysubmission 1 Enable (1) or disable (0) the story submission queue
linksubmission 1 Enable (1) or disable (0) the link submission queue
eventsubmission 1 Enable (1) or disable (0) the event submission queue
usersubmission 1 Enable (1) or disable (0) the user submission queue
allow_domains '' When user submission is enabled this can contain a comma-separated list of domain names from which user submissions will not be queued (but approved automatically).
Example: 'mycompany.com,myothercompany.com'
postmode plaintext Sets the default submission mode to 'html' or 'plaintext'
speedlimit 45 Minimum delay between submissions in seconds. This helps prevent Denial of Service (DOS) attacks

Topic, What's New & E-mail Settings

Variable Default Value Description
sortmethod sortnum alpha = Sort topics in topic list alphabetically
sortnum = Sort topics in topic list by sort number
showstorycount 1 Show the number of stories in a topic in the Section block (0=no, 1=yes)
showsubmissioncount 1 Show the number of story submissions for a topic in the Section block (0=no, 1=yes)
showemptysearchresults 0 Show empty result blocks even when search returned no hits for stories, events, links, etc. (0=no, 1=yes)
whosonline_threshold 300 How long, in seconds, users can be idle before removing them from the whosonline block
emailstories 0 Let users get stories e-mailed to them (0=no, 1=yes). Please note that this requires cron and the use of PHP as a shell script.
emailstorieslength 1 When emailstories (above) is enabled, send only the title and the link to the new stories (0), or send the entire introtext (1) or send the first n characters from the introtext (where n = any other number)
newstoriesinterval 86400 Stories are "new" if they are this many seconds old.
newcommentsinterval 172800 Comments are "new" if they are this many seconds old.
newlinksinterval 1209600 Links are "new" if they are this many seconds old.

Calendar Settings

Variable Default Value Description
personalcalendars 0 Allow account holders to have a personal calendar
showupcomingevents 1 Show up-coming events (0=no, 1=yes)
event_types Anniversary, Appointment, Birthday, Business, Education, Holiday, Meeting, Miscellaneous, Personal, Phone Call, Special Occasion, Travel, Vacation The set of event types that are used both on the public calendar and the user's personal calendars

Story Settings

Variable Default Value Description
maximagesperarticle 5 max. number of images you can have in a story
backend 1 Create an RSS/RDF file for the stories in rdfpath (0=no, 1=yes)
limitnews 10 Number of stories to limit the index page to, this same number will appear in the older stuff block
minnews 1 Minimum numbers of stories than can appear on a topic page
contributedbyline 1 Show author username to public, and enable search by username (0=no, 1=yes)
article_image_align right Which side of article the topic image should be shown (right or left)

Comment Settings

Variable Default Value Description
commentspeedlimit 45 Number of seconds between posting a comment for the user
comment_limit 100 Most number of comments to show at any one time
comment_mode threaded How to display comments (threaded, nested, flat or nocomments)
comment_code 0 Default value for new stories: Comments enabled (0) or disabled (-1)

Poll Settings

Variable Default Value Description
maxanswers 10 Maximum number of possible answers for the poll editor
answerorder submitorder Sort answers by the number of results ('voteorder') or keep the order in which they were entered ('submitorder')
pollcookietime 86400 Number of seconds to set a poll answer cookie to time out on
polladdresstime 604800 Number of seconds to set a poll answer IP address to time out on

Links Settings

Variable Default Value Description
linkcols 3 Number of columns to use when listing the categories in the links section. Set to 0 if you don't want categories listed.
linksperpage 10 Number of links to show per page. Set to 0 to show all links at once.

Note: When setting both 'linkcols' and 'linksperpage' to 0 you get back the old-style (pre-1.3.6) layout of the links section.

Content Control Settings

Variable Default Value Description
allowablehtml <p>,<b>,<i>,<a>,<em>,<br>,<tt>,<hr>,<li>,<ol>,
<div>,<ul>
Allowed HTML in stories submissions and comments.
adminhtml the values from allowablehtml (above) plus HTML tags for tables Allowed HTML that only admin users can use
censormode 1 Censor submissions and comments (0=no, 1=yes)
censorreplace *censored* Text to replace a censored word with
censorlist array("fuck","cunt","fucker","fucking","pussy","cock",
"c0ck","cum","twat","clit","bitch","fuk","fuking",
"motherfucker")
An array of censored words

Localization

Localizing GeekLog is now fairly easy. All strings are contained in a language file, the default file that ships with the tarball is english.php. People interested in translating Geeklog to other languages are encouraged to join the geeklog-translations mailing list. All important information concerning translating Geeklog will be posted there.

Locale and Date Formats

You can set the locale and date format in the config.php file. To set the locale, set the variable to the proper string or if you leave it blank it will pull the default locale from the operating system. The date formats are handled by your locale. Isn't that smart? Locale names are OS dependent. On most UNIX hosts, you can find locale codes in the /usr/share/locale/locale.alias file and on some systems the command locale -a will display all available locales on a system. If a locale doesn't exist you can create it using the localedef command.

More info on locale: http://www.opengroup.org/onlinepubs/7908799/xbd/locale.html
More info on localdef: http://www.opengroup.org/onlinepubs/7908799/xcu/localedef.html

Date Format Syntax