Geeklog Documentation - Configuration |
Most of Geeklog's "static" settings (i.e. those that you aren't going to change often) are set 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 as defined below:
Variable | Default Value | Description |
---|---|---|
_DB_dbms | mysql | Do not change! This tells Geeklog that it is using 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_ | Prefix to put in front of all of Geeklog's table names (to avoid name collisions with tables used by other applications) |
_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) |
mysqldump_options | -Q | Here you can include additional options for the mysqldump call that Geeklog uses to create a backup from your database. |
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_images | /path/to/geeklog/public_html/images/ | Path where Geeklog expects to find its images, including user photos and images for stories. |
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 |
backup_path | /path/to/geeklog/backups/ | location where mysqldump (see above) will store database backups |
path_data | /path/to/geeklog/data/ | File system path for the data directory, used e.g. for the user batch add feature |
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 | professional | 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/professional/ | 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 |
hide_author_exclusion | Can be 1 or 0 | If set to 1, the option to to exclude certain authors from being seen is hidden from the user's preferences. |
site_enabled | true | A Geeklog site can be disabled quickly (e.g. for maintenance) by setting this to 'false'. |
site_disabled_msg | 'Geeklog Site is down. Please come back soon.' | This contains the message to display when a Geeklog site is disabled. If the text begins with "http:" then visitors are redirected to that URL. |
link_documentation | 1 | Add a link to Geeklog's documentation to the Admin block. Set this to 0 if you don't want that link to show up. |
menu_elements | array('contribute', 'links', 'polls', 'calendar',
'search', 'stats') |
Specifies which entries are displayed in the site's menu bar
(if your theme uses the {menu_elements} variable to display
the menu bar). Can be any combination of 'home',
'contribute', 'links', 'polls',
'calendar', 'search', 'prefs',
'plugins', and 'custom' where 'plugins' is the
same as the {plg_menu_elements} variable, i.e. a list of the
menu entries provided by plugins, and 'custom' displays the
entries returned by a custom function CUSTOM_menuEntries (see
lib-custom.php for details). |
Variable | Default Value | Description |
---|---|---|
language | english | Name of your language file. Additional language files may be available for download at http://www.geeklog.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. |
dateonly | %d-%b | Short date format (day and month only), to be used e.g. in the Upcoming Events and Older Stories blocks. See date formats below. |
timeonly | %I:%M %p %Z | Format string for the time only, to be used e.g. on the Event Details page. See date formats below. |
week_start | Sun | First day of the week in the calendar. Can be either 'Sun' (Sunday) or 'Mon' (Monday). |
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. |
Variable | Default Value | Description |
---|---|---|
cookie_ip | 0 | 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 | 28800 | Permanent cookie timeout in seconds (28800 = 8 hours). |
session_cookie_timeout | 7200 | Session cookie timeout (in seconds). |
cookie_path | / | Cookie path (see the PHP manual for details). |
cookiedomain | (empty) | The domain that the cookie is available. Geeklog will attempt to guess the correct value for this setting (based on the 'site_url' variable). See the PHP manual for details. |
cookiesecure | 0 | Only set to 1 if your site uses HTTPS (see the PHP manual for details). |
These variables define the names of all of Geeklog's cookies. They can easily be changed in case there's a name collision with the cookies used by some other software package that you may use on your site.
Variable | Default Value | Description |
---|---|---|
cookie_session | gl_session | Name of the cookie that stores the session ID. |
cookie_name | geeklog | Name of the permanent cookie. |
cookie_password | password | Name of the password cookie. |
cookie_theme | theme | Name of the theme cookie. |
cookie_language | language | Name of the language cookie. |
cookie_lastvisit | LastVisit | Name of the cookie that stores the time of the last visit (used in session handling). |
cookie_lastvisittemp | LastVisitTemp | Name of a temporary cookie that stores the time of the last visit (used in session handling). |
Starting with Geeklog 1.3.9, Geeklog uses the PEAR::Mail class to send all
emails. You can then select whether emails should be sent through SMTP,
sendmail, or PHP's mail()
function.
Within $_CONF['mail_settings']
you have the following
options:
Variable | Default Value | Description |
---|---|---|
backend | Used to select how to send email. Can be one of 'smtp', 'sendmail', or 'mail'. | |
sendmail_path | /usr/bin/sendmail | If you chose 'sendmail' for the backend setting, this specifies the complete path to the sendmail binary. |
sendmail_args | '' (empty) | If you chose 'sendmail' for the backend setting, this variable can be used to pass additional parameters to the sendmail binary. |
host | smtp.example.com | If you chose 'smtp' for the backend setting, this is the SMTP server to use. |
port | 25 | If you chose 'smtp' for the backend setting, this is the port number to talk to on the SMTP server. |
auth | false | If you chose 'smtp' for the backend setting, set this to
true if your SMTP server requires authorization, and
false if it doesn't. |
username | smtp-username | If you chose 'smtp' for the backend setting, this is the name of your SMTP account. |
password | smtp-password | If you chose 'smtp' for the backend setting, this is the password for your SMTP account. |
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 advanced search. When set to 2, the simple search is blocked for anonymous users, too. |
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 |
emailstoryloginrequired | 0 | When set to 1, only registered users can email stories |
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 | 0 | Enable (1) or disable (0) the user submission queue (i.e. new users must be approved before they receive their password) |
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' |
notification | array() | Send an email notification to $_CONF['site_email']
when a new story, comment, link, or event has been submitted or a new user
has registered with the site. The array() can hold any combination
of the strings 'story', 'comment', 'link',
'event', and 'user' (separated by commas), depending on
which notification(s) you want. Example: array('story','user'); would
send notifications when a new story has been submitted or a new user has
registered. No notifications would be sent for new links or events. |
listdraftstories | 0 | When set to 1, this will display an additional block on the submissions page (moderation.php) that lists all the stories that have the 'draft' flag set. |
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 |
skip_preview | 0 | If 1, allows submission of stories and comments without previewing (i.e. the submission form will always have a Preview and a Submit button). |
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 Sections block (0=no, 1=yes) |
showsubmissioncount | 1 | Show the number of story submissions for a topic in the Sections block (0=no, 1=yes) |
hide_home_link | 0 | Hide the "Home" link from the Sections 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 |
whosonline_fullname | 0 | Display the user's full names (1) or short usernames (0) in the Who's Online block. Users who didn't enter their full name will always be displayed with their username. |
whosonline_anonymous | 0 | If enabled (i.e. set to 1), anonymous users will only see the number of registered users currently online in the Who's Online block but not their names. Only logged-in users will see the names of other users that are currently online. |
emailstories | 0 | Let users get stories e-mailed to them (0=no, 1=yes), aka Daily Digest. 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) |
emailstoriesperdefault | 0 | When set to 1, new users will be subscribed to the daily digest automatically when they register with the site. |
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. |
hidenewstories | 0 | Set to 1 to hide new stories from What's New block. |
hidenewcomments | 0 | Set to 1 to hide new comments from What's New block. |
hidenewlinks | 0 | Set to 1 to hide new links from What's New block. |
hidenewplugins | 0 | Set to 1 to hide new entries by plugins from the What's New block. |
copyrightyear | (commented out) | Set this to the year you want to appear in the copyright notice of your site's footer. If not set, Geeklog will use the current year. |
allow_username_change | 0 | If set to 1, users will be allowed to change their username (login name). Stories and comments posted under the old username will automatically show the new username. |
allow_account_delete | 0 | If set to 1, users will be allowed to delete their accounts. Stories and comments posted under that account will be kept and show up as being posted by "Anonymous". |
passwordspeedlimit | 300 | Minimum delay between two requests for a new password, in seconds. |
ip_lookup | not set | The IP addresses of comment posters are logged and displayed for admin users. When this variable is set to point to a service that can do IP address lookups, it's possible to lookup the owner of an IP address by clicking on it, making it easier to report missuse to ISPs, etc.$_CONF['ip_lookup'] should hold the complete URL to the lookup service, with a '* ' marking the place where the IP address should go. It's also possible to use Tom Willet's NetTools package, in which case the correct setting would be $_CONF['ip_lookup'] = $_CONF['site_url'] . '/nettools/whois.php?domain=*'; |
Variable | Default Value | Description |
---|---|---|
personalcalendars | 0 | Allow account holders to have a personal calendar |
showupcomingevents | 1 | Show up-coming events (0=no, 1=yes) |
upcomingeventsrange | 14 | Number of days that "Upcoming Events" will look ahead. |
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 |
Variable | Default Value | Description |
---|---|---|
maximagesperarticle | 5 | max. number of images you can have in a story |
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) |
hideemailicon | 0 | When set to 1, this will disable the ability to send a story by email. It will also hide the email icon from stories and the "Email Article To a Friend" from the Story Options block. |
hideprintericon | 0 | When set to 1, this will disable display of a story in a "printer friendly" format. It will also hide the printer icon from stories and the "View Printable Version" from the Story Options block. |
showfirstasfeatured | 0 | When set to 1, this will render the first story on any page using the templates for a featured story, even if that story is not featured. This will even be applied to the first story on page 2 of a topic page, for example. |
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) |
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 |
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.
Variable | Default Value | Description |
---|---|---|
image_lib | '' (empty string) | Set this to either 'imagemagick', 'netpbm', or 'gdlib' if images should be resized during upload. Leave as '' if you don't want images to be resized or if you don't have those packages available. |
path_to_mogrify | (commented out) | If you chose 'imagemagick' for $_CONF['image_lib'] above,
then this should hold the complete path to the mogrify
executable (from the ImageMagick package), e.g. '/usr/bin/mogrify'. You will need a fairly recent version of ImageMagick for this to work (version 5.4.9 or newer is recommended). |
path_to_netpbm | (commented out) | If you chose 'netpbm' for $_CONF['image_lib'] above, then
this should hold the complete path to the directory where the
binaries from the netpbm package are kept, e.g. '/usr/bin/netpbm/'. Note
that the path must end in a slash. Precompiled binaries of the netpbm package for various platforms can be downloaded from the Homepage of the Gallery project. |
keep_unscaled_image | 0 | Set this to 1 if you want Geeklog to keep the original, unscaled images after upload. The smaller image will then be used as a thumbnail and will link to the original image. Note that this may use a lot of disk space (depending on the size of your images). |
max_image_width | 300 | Max. width of an image in pixels. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
max_image_height | 300 | Max. height of an image in pixels. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
max_image_size | 1048576 (equals 1 MB) | Max. size of an image in bytes. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
max_photo_width | 96 | Max. width of a user photo in pixels. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
max_photo_height | 96 | Max. height of a user photo in pixels. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
max_photo_size | 65536 (equals 64 KB) | Max. size of a user photo in bytes. If it exceeds this, it is either rejected or resized (depending on the setting of $_CONF['image_lib'] above). |
Geeklog can export its headlines to a so-called RSS feed (also known as an RDF feed). This will let you share your news with other sites (Hint: Create a Portal block from Geeklog's Block menu to import RSS/RDF news feeds from other sites).
Starting with Geeklog 1.3.9, RSS feeds can be created and configured from Geeklog's Admin menu ("Content Syndication"). The following settings will only be used as the default settings for any new feeds that you create from the admin panel.
Variable | Default Value | Description |
---|---|---|
backend | 1 | Create an RSS/RDF file for the stories in rdf_file (0=no, 1=yes) |
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 |
rdf_language | en-gb | Value for the feed's language tag. Depending on your site's language and operating system, this may differ from the language setting in the locale (see above). Example: The PHP locale setting for German is 'de_DE' while the correct language setting for a German RSS feed would be 'de-DE' (note the dash instead of the underscore). |
rdf_limit | 10 | Limit the number of stories in the RSS feed. If the value for this setting is a number, the feed will hold this many stories. If the number is followed by a lower-case 'h' (e.g. 24h) it denotes the number of hours from which to chose the stories. |
rdf_storytext | 0 | If this value is 1, then the entire introtext of the stories will be included in the RSS feed. Any number greater than one limits the introtext to that many characters (e.g. a value of 80 would only include the first 80 characters from the introtext in the feed). If set to 0, the introtext is not included in the feed. |
Variable | Default Value | Description |
---|---|---|
user_html | <p>, <b>, <i>, <a>, <em>, <br>, <tt>, <hr>, <ol>, <ul>, <li>, <code>, <pre> | HTML tags and attributes that normal users are allowed to use in story submissions and comments. |
admin_html | additional HTML tags, e.g. for tables | HTML tags and attributes that admin users are allowed to use (in addition to those from user_html). Redefining a tag with additional attributes will overwrite the definition from user_html. |
allowed_protocols | array ('http:', 'https:', 'ftp:'); | Defines which protocols are allowed in links (i.e. HTML <a> tags).Note: The kses class used to filter these protocols has a hard-coded list of allowed protocols to which the above will be added. It is currently not possible to remove any of the default protocols (which include, for example, 'mailto:', 'gopher:', and 'news:'). |
disable_autolinks | 0 | If set to 1, disables the autolinks. I.e. links using the [story:] etc. syntax are not interpreted any more. |
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 |
Geeklog includes a simple but useful URL rewriting feature which can help make your site more crawler friendly (i.e. the URLs of your site are more likely to be picked up by the search engine's indexing bots). Currently, this feature is only supported for URLs to stories and by the Static Pages plugin.
URL rewriting means that your URLs will look like this
http://www.geeklog.net/article.php/20021022234959146
instead of like this
http://www.geeklog.net/article.php?story=20021022234959146
While some search engines will pick up the second form, Google seems to prefer the first format and completely ignores the second format.
Note: This feature may not work with all web servers. It is known to work with Apache (all versions) and known not to work with IIS (at least some versions). Please try it out before you go public with your site.
Variable | Default Value | Description |
---|---|---|
url_rewrite | false | Enable (true) or disable (false) URL rewriting. |
Localizing GeekLog is 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.
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
The Geeklog Documentation Project All trademarks and copyrights on this page are owned by their respective owners. GeekLog is copyleft. |