News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Custom Who.template.php - separated list for users, guests and spiders

Started by Owdy, November 03, 2004, 01:15:56 PM

Previous topic - Next topic

susb


Donovan Cane

Owdy, Can you please Update the Attachment? getting 404 Error.



Thanks



lbuisson

Dear all,

You can add this spider in your who.template.php

array (

            'agent' => 'Exabot/3.0',

            'spidername' => 'Exabot',
           
            'spider' => true,

),

susb

This is coming up as a regular guest:

(77.91.224.14, WebAlta Crawler/2.0 (http://www.webalta.net/ru/about_webmaster.html) (Windows; U; Windows NT 5.1; ru-RU))

Is this a spider?

TheWrath!



bigberty

I have replace the Who.template.php in my theme folder with the one from the first post here, but it does not separate the users in tp or at the foot of the forum, only when I click on "users online" do I see a separated list.

All I see is "1 Guest, 1 User" surely it should at least say "0 Spiders, 1 Guest, 1 User" or does this only kick in after I have been spidered?

Also, I tried the updated Who.template.php from half way through this thread, but when I click on "users online" it says

Array
(
)

instead of showing the list.

Kindred

this template ONLY updates the "WHO IS ONLINE" list. It does not update any other files...   so the TP or boardindex list of online users is not modified by this....
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

bigberty

ok thanks for clearing that up, I will try the tread for the mod.

neotan



wimvincken

Thank you, thank you and thank you.

Absolutely perfect and wonderful. I was looking for this already for ages and you made my day. Really wonderful addition to SMF. I use it for sure! And my users (especially my (nagging) mods) love it too!

Excellent work.

l.uca

Hi to all, help me please it give me this error:
Parse error: syntax error, unexpected $end in /web/htdocs/www.risorsedirete.com/home/forum/Sources/ModSettings.php on line 565

this is my modsettings.php

code:
<?php
/**********************************************************************************
* ModSettings.php                                                                 *
***********************************************************************************
* SMF: Simple Machines Forum                                                      *
* Open-Source Project Inspired by Zef Hemel ([email protected])                    *
* =============================================================================== *
* Software Version:           SMF 1.1                                             *
* Software by:                Simple Machines (http://www.simplemachines.org)     *
* Copyright 2006 by:          Simple Machines LLC (http://www.simplemachines.org) *
*           2001-2006 by:     Lewis Media (http://www.lewismedia.com)             *
* Support, News, Updates at:  http://www.simplemachines.org                       *
***********************************************************************************
* This program is free software; you may redistribute it and/or modify it under   *
* the terms of the provided license as published by Simple Machines LLC.          *
*                                                                                 *
* This program is distributed in the hope that it is and will be useful, but      *
* WITHOUT ANY WARRANTIES; without even any implied warranty of MERCHANTABILITY    *
* or FITNESS FOR A PARTICULAR PURPOSE.                                            *
*                                                                                 *
* See the "license.txt" file for details of the Simple Machines license.          *
* The latest version can always be found at http://www.simplemachines.org.        *
**********************************************************************************/
if (!defined('SMF'))
die('Hacking attempt...');

/* This file is here to make it easier for installed mods to have settings
and options.  It uses the following functions:

void ModifyFeatureSettings()
// !!!

void ModifyFeatureSettings2()
// !!!

void ModifyBasicSettings()
// !!!

void ModifyLayoutSettings()
// !!!

void ModifyKarmaSettings()
// !!!

Adding new settings to the $modSettings array:
---------------------------------------------------------------------------
// !!!
*/

/* Adding options to one of the setting screens isn't hard.  The basic format for a checkbox is:
array('check', 'nameInModSettingsAndSQL'),

  And for a text box:
array('text', 'nameInModSettingsAndSQL')
  (NOTE: You have to add an entry for this at the bottom!)

  In these cases, it will look for $txt['nameInModSettingsAndSQL'] as the description,
  and $helptxt['nameInModSettingsAndSQL'] as the help popup description.

Here's a quick explanation of how to add a new item:

* A text input box.  For textual values.
ie. array('text', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

* A text input box.  For numerical values.
ie. array('int', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

* A text input box.  For floating point values.
ie. array('float', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

        * A large text input box. Used for textual values spanning multiple lines.
ie. array('large_text', 'nameInModSettingsAndSQL', 'OptionalNumberOfRows',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

* A check box.  Either one or zero. (boolean)
ie. array('check', 'nameInModSettingsAndSQL', null, &$txt['descriptionOfTheOption'],
'OptionalReferenceToHelpAdmin'),

* A selection box.  Used for the selection of something from a list.
ie. array('select', 'nameInModSettingsAndSQL', array('valueForSQL' => &$txt['displayedValue']),
&$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),
Note that just saying array('first', 'second') will put 0 in the SQL for 'first'.

* A password input box. Used for passwords, no less!
ie. array('password', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

For each option:
type (see above), variable name, size/possible values, description, helptext.
OR make type 'rule' for an empty string for a horizontal rule.
OR make type 'heading' with a string for a titled section. */

// This function passes control through to the relevant tab.
function ModifyFeatureSettings()
{
global $context, $txt, $scripturl, $modSettings, $sourcedir;

// You need to be an admin to edit settings!
isAllowedTo('admin_forum');

// All the admin bar, to make it right.
adminIndex('edit_mods_settings');
loadLanguage('Help');
loadLanguage('ModSettings');

// Will need the utility functions from here.
require_once($sourcedir . '/ManageServer.php');

$context['page_title'] = $txt['modSettings_title'];
$context['sub_template'] = 'show_settings';

$subActions = array(
'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'googlemap' => 'ModifyGoogleMapSettings',
'googlemap' => 'ModifyGoogleMapSettings',
'ThankYou' => 'ModifyThankYouSettings',
'MemberColorLinks' => 'ModifyMemberColorLinksSettings',
'karma' => 'ModifyKarmaSettings',
'googlebot' => 'ModifyGooglebotSettings',
);

// By default do the basic settings.
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';
$context['sub_action'] = $_REQUEST['sa'];

// Load up all the tabs...
$context['admin_tabs'] = array(
'title' => &$txt['modSettings_title'],
'help' => 'modsettings',
'description' => $txt['smf3'],
'tabs' => array(
'basic' => array(
'title' => $txt['mods_cat_features'],
'href' => $scripturl . '?action=featuresettings;sa=basic;sesc=' . $context['session_id'],
),
'layout' => array(
'title' => $txt['mods_cat_layout'],
'href' => $scripturl . '?action=featuresettings;sa=layout;sesc=' . $context['session_id'],
),
'ThankYou' => array(
'title' => $txt['Thank_You_Headline'],
'href' => $scripturl . '?action=featuresettings;sa=ThankYou;sesc=' . $context['session_id'],
),
'MemberColorLinks' => array(
'title' => $txt['MemberColorLinkHeadline'],
'href' => $scripturl . '?action=featuresettings;sa=MemberColorLinks;sesc=' . $context['session_id'],
),

'sbox' => array(
'title' => $txt['sbox_ModTitle'],
'href' => $scripturl . '?action=featuresettings;sa=sbox;sesc=' . $context['session_id'],
),

'googlemap' => array(
'title' => $txt['googleMapFO'],
'href' => $scripturl . '?action=featuresettings;sa=googlemap;sesc=' . $context['session_id'],
),

'googlemap' => array(
'title' => $txt['googleMapFO'],
'href' => $scripturl . '?action=featuresettings;sa=googlemap;sesc=' . $context['session_id'],
),
'karma' => array(
'title' => $txt['smf293'],
'href' => $scripturl . '?action=featuresettings;sa=karma;sesc=' . $context['session_id'],
),
'googlebot' => array(
'title' => $txt['ob_googlebot_modname'],
'href' => $scripturl . '?action=featuresettings;sa=googlebot;sesc=' . $context['session_id'],
),
'googlebot' => array(
'title' => $txt['ob_googlebot_modname'],
'href' => $scripturl . '?action=featuresettings;sa=googlebot;sesc=' . $context['session_id'],
'is_last' => true,
),
),
);

// Select the right tab based on the sub action.
if (isset($context['admin_tabs']['tabs'][$context['sub_action']]))
$context['admin_tabs']['tabs'][$context['sub_action']]['is_selected'] = true;

// Call the right function for this sub-acton.
$subActions[$_REQUEST['sa']]();
}

// This function basically just redirects to the right save function.
function ModifyFeatureSettings2()
{
global $context, $txt, $scripturl, $modSettings, $sourcedir;

isAllowedTo('admin_forum');
loadLanguage('ModSettings');

// Quick session check...
checkSession();

require_once($sourcedir . '/ManageServer.php');

$subActions = array(
'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'ThankYou' => 'ModifyThankYouSettings',
'MemberColorLinks' => 'ModifyMemberColorLinksSettings',
'karma' => 'ModifyKarmaSettings',
'googlebot' => 'ModifyGooglebotSettings',
'googlemap' => 'ModifyGoogleMapSettings',
);

// Default to core (I assume)
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';

// Actually call the saving function.
$subActions[$_REQUEST['sa']]();
}

function
ModifyBasicSettings()
{
global $txt, $scripturl, $context, $settings, $sc, $modSettings;

$config_vars = array(
// Big Options... polls, sticky, bbc....
array('select', 'pollMode', array(&$txt['smf34'], &$txt['smf32'], &$txt['smf33'])),
'',
// Basic stuff, user languages, titles, flash, permissions...
array('check', 'allow_guestAccess'),
array('check', 'userLanguage'),
array('check', 'allow_editDisplayName'),
array('check', 'allow_hideOnline'),
array('check', 'allow_hideEmail'),
array('check', 'guest_hideContacts'),
array('check', 'titlesEnable'),
array('check', 'enable_buddylist'),
array('text', 'default_personalText'),
array('int', 'max_signatureLength'),
'',
// Stats, compression, cookies.... server type stuff.
array('text', 'time_format'),
array('select', 'number_format', array('1234.00' => '1234.00', '1,234.00' => '1,234.00', '1.234,00' => '1.234,00', '1 234,00' => '1 234,00', '1234,00' => '1234,00')),
array('float', 'time_offset'),
array('int', 'failed_login_threshold'),
array('int', 'lastActive'),
array('check', 'trackStats'),
array('check', 'hitStats'),
array('check', 'enableErrorLogging'),
array('check', 'securityDisable'),

array('check', 'hideVersion'),
'',
// Reactive on email, and approve on delete
array('check', 'send_validation_onChange'),
array('check', 'approveAccountDeletion'),
'',
// Option-ish things... miscellaneous sorta.
array('check', 'allow_disableAnnounce'),
array('check', 'disallow_sendBody'),
array('check', 'modlog_enabled'),
array('check', 'queryless_urls'),
'',
// Action SEF URLS?
array('check', 'enableActionurls'),
array('check', 'enableCurls'),
array('check', 'enablePageurls'),
array('check', 'enableUseQuestion'),
array('check', 'enableNoIndex'),

'',
// Width/Height image reduction.
array('int', 'max_image_width'),
array('int', 'max_image_height'),
'',
// Reporting of personal messages?
array('check', 'enableReportPM'),
);

// Saving?
if (isset($_GET['save']))
{
// Fix PM settings.
$_POST['pm_spam_settings'] = (int) $_POST['max_pm_recipients'] . ',' . (int) $_POST['pm_posts_verification'] . ',' . (int) $_POST['pm_posts_per_hour'];
$save_vars = $config_vars;
$save_vars[] = array('text', 'pm_spam_settings');

saveDBSettings($save_vars);

writeLog();
redirectexit('action=featuresettings;sa=basic');
}

// Hack for PM spam settings.
list ($modSettings['max_pm_recipients'], $modSettings['pm_posts_verification'], $modSettings['pm_posts_per_hour']) = explode(',', $modSettings['pm_spam_settings']);
$config_vars[] = array('int', 'max_pm_recipients');
$config_vars[] = array('int', 'pm_posts_verification');
$config_vars[] = array('int', 'pm_posts_per_hour');

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=basic';
$context['settings_title'] = $txt['mods_cat_features'];

prepareDBSettingContext($config_vars);
}

function
ModifyLayoutSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Compact pages?
array('check', 'compactTopicPagesEnable'),
array('int', 'compactTopicPagesContiguous', null, $txt['smf235'] . '<div class="smalltext">' . str_replace(' ', '&nbsp;', '"3" ' . $txt['smf236'] . ': <b>1 ... 4 [5] 6 ... 9</b>') . '<br />' . str_replace(' ', '&nbsp;', '"5" ' . $txt['smf236'] . ': <b>1 ... 3 4 [5] 6 7 ... 9</b>') . '</div>'),
'',
// Stuff that just is everywhere - today, search, online, etc.
array('select', 'todayMod', array(&$txt['smf290'], &$txt['smf291'], &$txt['smf292'])),
array('check', 'topbottomEnable'),
array('check', 'onlineEnable'),
array('check', 'enableVBStyleLogin'),
'',
// Pagination stuff.
array('int', 'defaultMaxMembers'),
'',
// This is like debugging sorta.
array('check', 'timeLoadPageEnable'),
array('check', 'disableHostnameLookup'),
'',
// Who's online.
array('check', 'who_enabled'),
'',
// SimpleImageshack mod - SimpleTweaks.co.nr
array('check', 'SimpleImageShack_enable'),
array('check', 'SimpleImageShack_permis'),
array('int', 'SimpleImageShack_width'),
array('int', 'SimpleImageShack_height'),
array('text', 'SimpleImageShack_txtclr'),
array('int', 'SimpleImageShack_uplfld'),
'',
           
// The Streaming Mod Options.
       
array('check', 'enableEmbeddedStream'),
array('check', 'enableEmbeddedReal'),
array('check', 'enableEmbeddedQuick'),
array('check', 'enableGoogleVideo'),
array('check', 'enableYouTube'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=layout');

loadUserSettings();
writeLog();
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=layout';
$context['settings_title'] = $txt['mods_cat_layout'];

prepareDBSettingContext($config_vars);
}

function
ModifyKarmaSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Karma - On or off?
array('select', 'karmaMode', explode('|', $txt['smf64'])),
'',
// Who can do it.... and who is restricted by time limits?
array('int', 'karmaMinPosts'),
array('float', 'karmaWaitTime'),
array('check', 'karmaTimeRestrictAdmins'),
'',
// What does it look like?  [smite]?
array('text', 'karmaLabel'),
array('text', 'karmaApplaudLabel'),
array('text', 'karmaSmiteLabel'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=karma');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=karma';
$context['settings_title'] = $txt['smf293'];

prepareDBSettingContext($config_vars);
function
ModifyGooglebotSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Count all instances of spiders?
array('check', 'ob_googlebot_count_all_instances'),
array('check', 'ob_googlebot_display_all_instances'),
array('check', 'ob_googlebot_display_agent'),
array('check', 'ob_googlebot_display_own_list'),
'',
// Count spiders on most online?
array('check', 'ob_googlebot_count_most_online'),
'',
// Redirect PHPSESSID URLs?
array('check', 'ob_googlebot_redirect_phpsessid'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=googlebot');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=googlebot';
$context['settings_title'] = $txt['ob_googlebot_modname'];

prepareDBSettingContext($config_vars);
}
function
ModifyThankYouSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
//Thank you User Settings?
array('check', 'Thank_You_UserOrder'),
array('check', 'Thank_You_MemberColor'),
array('check', 'Thank_You_AddCounter'),
'',
//ThankYouList or not ;)
array('check', 'Thank_You_LinkListOnly'),
array('check', 'Thank_You_AddLink'),
array('int', 'Thank_You_UserPreview'),
'',
//HideMod DIN1031 Version
array('check', 'Thank_You_ShowHidden'),
//HideMod Leaf Version
array('check', 'Thank_You_ShowHidePostReply'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=ThankYou');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=ThankYou';
$context['settings_title'] = $txt['Thank_You_Headline'];

prepareDBSettingContext($config_vars);
}
function
ModifyMemberColorLinksSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Standard Membercolor?
array('check', 'MemberColorLink'),
'',
//Some Stat Settings
array('check', 'MemberColorLatestMember'),
array('check', 'MemberColorStats'),
array('check', 'MemberColorWhoIsOnline'),
'',
//Thread and Boardsettings
array('check', 'MemberColorThreadOwner'),
array('check', 'MemberColorThreadLastPost'),
array('check', 'MemberColorThreadChild'),
'',
//Birthday and Calendar
array('check', 'MemberColorBoardindex'),
array('check', 'MemberColorBirthday'),
'',
//Some Recent Things
array('check', 'MemberColorRecentOwner'),
array('check', 'MemberColorRecentLastPost'),
'',
// PM Colors
array('check', 'MemberColorInbox'),
array('check', 'MemberColorOutbox'),
'',
//Guest Color
array('text', 'MemberColorGuests'),
//Banned User Color
array('text', 'MemberColorBanned'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=MemberColorLinks');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=MemberColorLinks';
$context['settings_title'] = $txt['MemberColorLinkHeadline'];

prepareDBSettingContext($config_vars);
}

$txt['googleMapsEnable'] = 'Abilita Mappa Utenti Google';
$txt['googleMapsEnableLegend'] = 'Mostra legenda segnaposti';
$txt['googleSidebar'] = 'Dove mostrare la barra laterale';
$txt['googleMapsKey'] = 'Chiave per Google Maps API';
$txt['googleMapsPinGender'] = 'Mostra il sesso sul segnaposto?';
$txt['googleMapsPinNumber'] = 'Numero massimo di segnaposti da mostrare';
$txt['googleMapsType'] = 'Tipo di mappa da mostrare';
$txt['googleMapsDefaultLat'] = 'Latitudine di default';
$txt['googleMapsDefaultLong'] = 'Longitudine di default';
$txt['googleMapsDefaultZoom'] = 'Zoom di default';
$txt['googleMapsEnableClusterer'] = 'Abilita raggruppamento segnaposti';
$txt['googleMapsMinMarkerCluster'] = 'Segnaposto minimi per gruppo';
$txt['googleMapsMaxVisMarker'] = 'Numero massimo di segnaposto visibili';
$txt['googleMapsMaxNumClusters'] = 'Numero massimo di gruppi';
$txt['googleMapsMaxLinesCluster'] = 'Numero massimo di linee nel Info Box del gruppo';
$txt['googleMapFO'] = 'Mappa Utenti';


function
ModifyGoogleMapSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Map - On or off?
array('check', 'googleMapsEnable'),
array('check', 'googleMapsEnableLegend'),
'',
// Key, pins static/gender/membergroup
array('text', 'googleMapsKey'),
array('check', 'googleMapsPinGender'),
array('int', 'googleMapsPinNumber'),
           array(
'select', 'googleMapsType', array('G_NORMAL_MAP' => 'Map', 'G_SATELLITE_MAP' => 'Satellite', 'G_HYBRID_MAP' => 'Hybrid')),
           array(
'select', 'googleSidebar', array('No Sidebar', 'Sidebar Right')),
       
'',
           
// Default Location/Zoom
           
array('float', 'googleMapsDefaultLat', '25'),
           array(
'float', 'googleMapsDefaultLong', '25'),
           array(
'int', 'googleMapsDefaultZoom'),
       
'',
           
// Clustering Options
           
array('check', 'googleMapsEnableClusterer'),
           array(
'int', 'googleMapsMinMarkerCluster'),
           array(
'int', 'googleMapsMaxVisMarker'),
           array(
'int', 'googleMapsMaxNumClusters'),
           array(
'int', 'googleMapsMaxLinesCluster'),
           
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=googlemap');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=googlemap';
$context['settings_title'] = $txt['googleMapFO'];

prepareDBSettingContext($config_vars);
}
?>


thanks

Kindred

Why would you have modified modsettings.php?  This file JUST replaces the who.template.php and has no other affect on any other file.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

l.uca

sorry for my post, becouse i installed yhe mod and it give me this error  :-[

gemigene

Love your custom template, excellent work!

Could it be made that only admins would have access to it? Don't like the idea of users finding out what Admins are doing.

Thanks,
Gene
"Religion is metaphysical statism. I will be ruled by no man on earth, nor by any god in heaven"

Bigguy

This is not a mod but a template replacement.

Quote from: l.uca on February 13, 2008, 07:14:05 AM
sorry for my post, becouse i installed yhe mod and it give me this error  :-[

Kindred

Quote from: gemigene on February 15, 2008, 12:40:18 AM
Could it be made that only admins would have access to it? Don't like the idea of users finding out what Admins are doing.

That is a standard SMF permission...

Alternatively, admins can HIDE their presence, thus also hiding thier actions from everyone except other admins.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

gemigene

Quote from: Kindred on February 15, 2008, 09:52:23 AM
Quote from: gemigene on February 15, 2008, 12:40:18 AM
Could it be made that only admins would have access to it? Don't like the idea of users finding out what Admins are doing.

That is a standard SMF permission...

Alternatively, admins can HIDE their presence, thus also hiding thier actions from everyone except other admins.

Duhh, I feel like a moron, found it and fixed it...

Thanks a million,
Gene
"Religion is metaphysical statism. I will be ruled by no man on earth, nor by any god in heaven"

navin.p

Hey everyone,
I have been doing a bit reading in this thread. Just added that file in my default folder, and it works very nice. I was wondering, does anyone here know a way how to show "spiders" as "guests" to all of my members and visitors? I don't want others to know if my visitors are just bots.

Any help would be highly appreciated, thanks :D
schoonheid siert het kwaad niet...

Advertisement: