| 1 |
8220 |
kellanved |
<?php
|
| 2 |
8220 |
kellanved |
/**
|
| 3 |
8220 |
kellanved |
* Rebuild BOTS
|
| 4 |
8220 |
kellanved |
*
|
| 5 |
9233 |
acydburn |
* You should make a backup from your whole database. Things can and will go wrong.
|
| 6 |
8220 |
kellanved |
* This will only work if no BOTs were added.
|
| 7 |
8220 |
kellanved |
*
|
| 8 |
8220 |
kellanved |
*/
|
| 9 |
8220 |
kellanved |
die("Please read the first lines of this script for instructions on how to enable it");
|
| 10 |
8220 |
kellanved |
|
| 11 |
8220 |
kellanved |
set_time_limit(0);
|
| 12 |
8220 |
kellanved |
|
| 13 |
8220 |
kellanved |
define('IN_PHPBB', true);
|
| 14 |
8572 |
acydburn |
define('PHPBB_ROOT_PATH', './../');
|
| 15 |
8572 |
acydburn |
define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
|
| 16 |
8572 |
acydburn |
include(PHPBB_ROOT_PATH . 'common.' . PHP_EXT);
|
| 17 |
8572 |
acydburn |
include(PHPBB_ROOT_PATH . 'includes/functions_user.' . PHP_EXT);
|
| 18 |
8220 |
kellanved |
|
| 19 |
8220 |
kellanved |
|
| 20 |
8220 |
kellanved |
// Start session management
|
| 21 |
8220 |
kellanved |
$user->session_begin();
|
| 22 |
8220 |
kellanved |
$auth->acl($user->data);
|
| 23 |
8220 |
kellanved |
$user->setup();
|
| 24 |
8220 |
kellanved |
|
| 25 |
8220 |
kellanved |
$bots = array(
|
| 26 |
8222 |
kellanved |
'AdsBot [Google]' => array('AdsBot-Google', ''),
|
| 27 |
8222 |
kellanved |
'Alexa [Bot]' => array('ia_archiver', ''),
|
| 28 |
8222 |
kellanved |
'Alta Vista [Bot]' => array('Scooter/', ''),
|
| 29 |
8222 |
kellanved |
'Ask Jeeves [Bot]' => array('Ask Jeeves', ''),
|
| 30 |
8222 |
kellanved |
'Baidu [Spider]' => array('Baiduspider+(', ''),
|
| 31 |
8222 |
kellanved |
'Exabot [Bot]' => array('Exabot/', ''),
|
| 32 |
8222 |
kellanved |
'FAST Enterprise [Crawler]' => array('FAST Enterprise Crawler', ''),
|
| 33 |
8222 |
kellanved |
'FAST WebCrawler [Crawler]' => array('FAST-WebCrawler/', ''),
|
| 34 |
8222 |
kellanved |
'Francis [Bot]' => array('http://www.neomo.de/', ''),
|
| 35 |
8222 |
kellanved |
'Gigabot [Bot]' => array('Gigabot/', ''),
|
| 36 |
8222 |
kellanved |
'Google Adsense [Bot]' => array('Mediapartners-Google', ''),
|
| 37 |
8222 |
kellanved |
'Google Desktop' => array('Google Desktop', ''),
|
| 38 |
8222 |
kellanved |
'Google Feedfetcher' => array('Feedfetcher-Google', ''),
|
| 39 |
8222 |
kellanved |
'Google [Bot]' => array('Googlebot', ''),
|
| 40 |
8222 |
kellanved |
'Heise IT-Markt [Crawler]' => array('heise-IT-Markt-Crawler', ''),
|
| 41 |
8222 |
kellanved |
'Heritrix [Crawler]' => array('heritrix/1.', ''),
|
| 42 |
8222 |
kellanved |
'IBM Research [Bot]' => array('ibm.com/cs/crawler', ''),
|
| 43 |
8222 |
kellanved |
'ICCrawler - ICjobs' => array('ICCrawler - ICjobs', ''),
|
| 44 |
8222 |
kellanved |
'ichiro [Crawler]' => array('ichiro/2', ''),
|
| 45 |
8222 |
kellanved |
'Majestic-12 [Bot]' => array('MJ12bot/', ''),
|
| 46 |
8222 |
kellanved |
'Metager [Bot]' => array('MetagerBot/', ''),
|
| 47 |
8222 |
kellanved |
'MSN NewsBlogs' => array('msnbot-NewsBlogs/', ''),
|
| 48 |
8222 |
kellanved |
'MSN [Bot]' => array('msnbot/', ''),
|
| 49 |
8222 |
kellanved |
'MSNbot Media' => array('msnbot-media/', ''),
|
| 50 |
8222 |
kellanved |
'NG-Search [Bot]' => array('NG-Search/', ''),
|
| 51 |
8222 |
kellanved |
'Nutch [Bot]' => array('http://lucene.apache.org/nutch/', ''),
|
| 52 |
8222 |
kellanved |
'Nutch/CVS [Bot]' => array('NutchCVS/', ''),
|
| 53 |
8222 |
kellanved |
'OmniExplorer [Bot]' => array('OmniExplorer_Bot/', ''),
|
| 54 |
8222 |
kellanved |
'Online link [Validator]' => array('online link validator', ''),
|
| 55 |
8222 |
kellanved |
'psbot [Picsearch]' => array('psbot/0', ''),
|
| 56 |
8222 |
kellanved |
'Seekport [Bot]' => array('Seekbot/', ''),
|
| 57 |
8222 |
kellanved |
'Sensis [Crawler]' => array('Sensis Web Crawler', ''),
|
| 58 |
8222 |
kellanved |
'SEO Crawler' => array('SEO search Crawler/', ''),
|
| 59 |
8222 |
kellanved |
'Seoma [Crawler]' => array('Seoma [SEO Crawler]', ''),
|
| 60 |
8222 |
kellanved |
'SEOSearch [Crawler]' => array('SEOsearch/', ''),
|
| 61 |
8222 |
kellanved |
'Snappy [Bot]' => array('Snappy/1.1 ( http://www.urltrends.com/ )', ''),
|
| 62 |
8222 |
kellanved |
'Steeler [Crawler]' => array('http://www.tkl.iis.u-tokyo.ac.jp/~crawler/', ''),
|
| 63 |
8222 |
kellanved |
'Synoo [Bot]' => array('SynooBot/', ''),
|
| 64 |
8222 |
kellanved |
'Telekom [Bot]' => array('crawleradmin.t-info@telekom.de', ''),
|
| 65 |
8222 |
kellanved |
'TurnitinBot [Bot]' => array('TurnitinBot/', ''),
|
| 66 |
8222 |
kellanved |
'Voyager [Bot]' => array('voyager/1.0', ''),
|
| 67 |
8222 |
kellanved |
'W3 [Sitesearch]' => array('W3 SiteSearch Crawler', ''),
|
| 68 |
8222 |
kellanved |
'W3C [Linkcheck]' => array('W3C-checklink/', ''),
|
| 69 |
8222 |
kellanved |
'W3C [Validator]' => array('W3C_*Validator', ''),
|
| 70 |
8222 |
kellanved |
'WiseNut [Bot]' => array('http://www.WISEnutbot.com', ''),
|
| 71 |
8222 |
kellanved |
'YaCy [Bot]' => array('yacybot', ''),
|
| 72 |
8222 |
kellanved |
'Yahoo MMCrawler [Bot]' => array('Yahoo-MMCrawler/', ''),
|
| 73 |
8222 |
kellanved |
'Yahoo Slurp [Bot]' => array('Yahoo! DE Slurp', ''),
|
| 74 |
8222 |
kellanved |
'Yahoo [Bot]' => array('Yahoo! Slurp', ''),
|
| 75 |
8222 |
kellanved |
'YahooSeeker [Bot]' => array('YahooSeeker/', ''),
|
| 76 |
8220 |
kellanved |
);
|
| 77 |
9233 |
acydburn |
|
| 78 |
8220 |
kellanved |
$bot_ids = array();
|
| 79 |
9233 |
acydburn |
user_get_id_name($bot_ids, array_keys($bots), phpbb::USER_IGNORE);
|
| 80 |
8220 |
kellanved |
foreach($bot_ids as $bot)
|
| 81 |
8220 |
kellanved |
{
|
| 82 |
8220 |
kellanved |
user_delete('remove', $bot);
|
| 83 |
8220 |
kellanved |
}
|
| 84 |
8220 |
kellanved |
// Done
|
| 85 |
8222 |
kellanved |
add_bots($bots);
|
| 86 |
8220 |
kellanved |
echo 'done';
|
| 87 |
8220 |
kellanved |
|
| 88 |
8220 |
kellanved |
|
| 89 |
8220 |
kellanved |
/**
|
| 90 |
8220 |
kellanved |
* Add the search bots into the database
|
| 91 |
8220 |
kellanved |
* This code should be used in execute_last if the source database did not have bots
|
| 92 |
8220 |
kellanved |
* If you are converting bots this function should not be called
|
| 93 |
8220 |
kellanved |
* @todo We might want to look at sharing the bot list between the install code and this code for consistency
|
| 94 |
8220 |
kellanved |
*/
|
| 95 |
8222 |
kellanved |
function add_bots($bots)
|
| 96 |
8220 |
kellanved |
{
|
| 97 |
9242 |
acydburn |
global $db;
|
| 98 |
8220 |
kellanved |
|
| 99 |
8220 |
kellanved |
$sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " WHERE group_name = 'BOTS'";
|
| 100 |
8220 |
kellanved |
$result = $db->sql_query($sql);
|
| 101 |
8372 |
davidmj |
$group_id = (int) $db->sql_fetchfield('group_id', $result);
|
| 102 |
8220 |
kellanved |
$db->sql_freeresult($result);
|
| 103 |
8220 |
kellanved |
$db->sql_query('TRUNCATE TABLE ' . BOTS_TABLE);
|
| 104 |
8220 |
kellanved |
|
| 105 |
8220 |
kellanved |
if (!$group_id)
|
| 106 |
8220 |
kellanved |
{
|
| 107 |
8220 |
kellanved |
add_default_groups();
|
| 108 |
8220 |
kellanved |
|
| 109 |
8220 |
kellanved |
$sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " WHERE group_name = 'BOTS'";
|
| 110 |
8220 |
kellanved |
$result = $db->sql_query($sql);
|
| 111 |
8372 |
davidmj |
$group_id = (int) $db->sql_fetchfield('group_id', $result);
|
| 112 |
8220 |
kellanved |
$db->sql_freeresult($result);
|
| 113 |
8220 |
kellanved |
|
| 114 |
8220 |
kellanved |
}
|
| 115 |
8220 |
kellanved |
|
| 116 |
8220 |
kellanved |
|
| 117 |
8220 |
kellanved |
|
| 118 |
8222 |
kellanved |
|
| 119 |
8220 |
kellanved |
foreach ($bots as $bot_name => $bot_ary)
|
| 120 |
8220 |
kellanved |
{
|
| 121 |
8220 |
kellanved |
$user_row = array(
|
| 122 |
9233 |
acydburn |
'user_type' => phpbb::USER_IGNORE,
|
| 123 |
8220 |
kellanved |
'group_id' => $group_id,
|
| 124 |
8220 |
kellanved |
'username' => $bot_name,
|
| 125 |
8220 |
kellanved |
'user_regdate' => time(),
|
| 126 |
8220 |
kellanved |
'user_password' => '',
|
| 127 |
8220 |
kellanved |
'user_colour' => '9E8DA7',
|
| 128 |
8220 |
kellanved |
'user_email' => '',
|
| 129 |
9242 |
acydburn |
'user_lang' => phpbb::$config['default_lang'],
|
| 130 |
8220 |
kellanved |
'user_style' => 1,
|
| 131 |
8220 |
kellanved |
'user_timezone' => 0,
|
| 132 |
8220 |
kellanved |
'user_allow_massemail' => 0,
|
| 133 |
8220 |
kellanved |
);
|
| 134 |
8220 |
kellanved |
|
| 135 |
8220 |
kellanved |
$user_id = user_add($user_row);
|
| 136 |
8220 |
kellanved |
|
| 137 |
8220 |
kellanved |
if ($user_id)
|
| 138 |
8220 |
kellanved |
{
|
| 139 |
8220 |
kellanved |
$sql = 'INSERT INTO ' . BOTS_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
| 140 |
8220 |
kellanved |
'bot_active' => 1,
|
| 141 |
8220 |
kellanved |
'bot_name' => $bot_name,
|
| 142 |
8220 |
kellanved |
'user_id' => $user_id,
|
| 143 |
8220 |
kellanved |
'bot_agent' => $bot_ary[0],
|
| 144 |
8220 |
kellanved |
'bot_ip' => $bot_ary[1])
|
| 145 |
8220 |
kellanved |
);
|
| 146 |
8220 |
kellanved |
$db->sql_query($sql);
|
| 147 |
8220 |
kellanved |
}
|
| 148 |
8220 |
kellanved |
}
|
| 149 |
8220 |
kellanved |
}
|
| 150 |
8220 |
kellanved |
|
| 151 |
8220 |
kellanved |
?> |