< Back to Configuration


You should normally handle tweaks through the tweaks editor: Admin Panel -> Settings -> Tweaks Editor. This guide remains here for older versions and a few special tweaks that have to be set manually.

In order to make sure your upgrades are easy and you needn't worry about it being overwritten, tweaks.php doesn't exist by default. Once you want to use one of its options, create tweaks.php with this content:
// your selections from below go here

Here are the things you can put in the middle (only use the lines you want):
$cookiepath = ''; // example: /
$cookiedomain = ''; // example: .domain.com
$overridesafety = false; // make true if you want to try to use the category selector on the suggest page with more than 400 categories
$ignorepermissions = false; // use along with overridesafety to make the category list be a plain list allowing everyone to submit to any category... this should make a list of thousands work
$dontcachesubcats = false; // make true for real-time calculation of subcategory data, at risk of turning server into smoldering pile of rubble
$autopagerankon = false; // make true to update a random pagerank every 20 views
$allowaccents = false; // make true to do url rewriting with accented characters in urls
$aliaslimits['linktypename'] = 0; // limit the number of secondary categories for a link type
$emailtriggers['fieldname'] = 'email_yournamebody'; // when fieldname is yes during link submission, specified email will be sent to the site administrator based on language items email_yournamebody and email_yournamesubject.
$pathtoconfig = ''; // change if you place your config.php somewhere else
$cacheskip = ''; // list files to exclude from caching, with spaces around each. for example: link.php memberlist.php
$norotation = false; // make true to not rotate the security image on a server which fails to do it properly
$securityimagegrayscale = false; // set true to make the security image be grayscale instead of colored
$finalwidth = 150; // width of security image in pixels
$finalheight = 82; // height of security image in pixels
$accenttweak['from'] = ''; // for url rewriting, accented characters to replace
$accenttweak['to'] = ''; // for url rewriting, replacements for accented characters
$subhtmlfields = ''; // comma-separated list of additional fields to make available in the subcategory html area
$keepchars = ''; // special characters to allow in tag names
$wordendings = ''; // endings for words such that the search should still match them, like 's
$usedetails = false; // make true to have rss feeds link to the details pages in WSN Links
$keeplanguage = false; // make true to stop language item updates on upgrade. not advisible.
$catselectorcapslock = false; // uppercases the category selector
$thumbshotskey = ''; // the key for thumbshots.com
$forcethumbshots = false; // force thumbshot display even when there's no url
$paypalsandbox = false; // make true for paypal sandbox testing
$splitfields[] = ''; // fields in a flat-file listings import that have multiselector content
$splitfieldschar = ''; // the separator character between values for the above
$undigestreplies = false; // make true to have a reply to a person's own listing generate an instant notification, regardless of subscription settings
$allowwysihtml = false; // make true to save wysiwyg editor data as html
$skipcustomupdates = false; // Make true to not attempt to apply any diff-based changes to customized templates on upgrade. This might be useful if you plain to wait a long while between running the upgrade and applying the template changes, in order to prevent half-updated templates meanwhile that could be broken.
$ffmpegpath = ''; // If your ffmpeg install requires an absolute path to work, supply it here. Example: /home/user/
$tagsplitchar = '|'; // the character used to split tags in a flatfile import
$errorsemail = ''; // alternate email to recieve error notifications at when debug level is set to hide errors. added in 5.0.61.
$geocodezip = false; // Geocode an address even if only the postal code is set without a street address.
$persistent = false; // make true to use persistent mysql connections, for slow remote databases
$htaccesstop = ''; // Content to place at the top of the .htaccess file which can't go elsewhere.
$subdomainsections = false; // Use subdomain rewriting for software directory screenshots, publisher and download sections.
$ipdb = ''; // The name of the database where the geoip data has been installed. Supplying this enables the geolocation features.
$manualvalidatepad = false; // Require listings generated by the PAD import to be manually validated after import.
$separatepublishers = false; // Uses just one software publisher URL independant of listings.
$balancedtabs = false; // Makes the categories and listing search results pages put an equal number of each type on each page (until exhausted) so that they can be presented in tabs with one type per tab.
$removecountry = false; // Removes the country name from the city autocomplete.
$geocodemethod = ''; // Set to yahoo to use yahoo's webservice for geocoding instead of google's.

Any field in the settings table an be overriden using $settingsvalues['fieldname'] = 'new value';

Make sure you don't have any leading or trailing spaces in the file, then upload it to your base WSN directory.

$pathtoconfig is explained in more detail here.

You can also use tweaks.php to add logic to redirects.

Here's an example tweaks.php:
$cookiepath = '/'; // example: /
$cookiedomain = '.yoursite.com'; // example: .domain.com