[3319] | 1 | <?php |
---|
| 2 | |
---|
| 3 | global $prefixeTable, $conf; |
---|
| 4 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
| 5 | if (!defined('IN_ADMIN') or !IN_ADMIN) die('Hacking attempt!'); |
---|
| 6 | if (!defined('WHOIS_ONLINE_TABLE')) define('WHOIS_ONLINE_TABLE', $prefixeTable.'whois_online'); |
---|
| 7 | |
---|
| 8 | function plugin_activate() |
---|
| 9 | { |
---|
| 10 | global $user; |
---|
| 11 | $query = "CREATE TABLE IF NOT EXISTS ". WHOIS_ONLINE_TABLE ." ( |
---|
| 12 | `IP` varchar(39) NOT NULL default '', |
---|
| 13 | `hidden_IP` enum('true','false') NOT NULL default 'false', |
---|
| 14 | `session_id` varchar(40) NOT NULL, |
---|
| 15 | `user_id` smallint(5) NOT NULL default '0', |
---|
| 16 | `username` varchar(100) character set utf8 collate utf8_bin NOT NULL default '', |
---|
| 17 | `lang` char(2) character set utf8 collate utf8_bin NOT NULL default 'en', |
---|
| 18 | `country` VARCHAR( 256 ) NOT NULL default '', |
---|
| 19 | `permanent` enum('true','false') NOT NULL default 'false', |
---|
| 20 | `last_access` varchar(12) NOT NULL default '', |
---|
| 21 | `last_elm_ids` varchar(75) NOT NULL default '', |
---|
| 22 | `last_cat_ids` varchar(75) NOT NULL default '', |
---|
| 23 | `last_tag_ids` varchar(75) NOT NULL default '', |
---|
| 24 | `last_sch_ids` varchar(75) NOT NULL default '', |
---|
| 25 | `first_access_date` varchar(45) NOT NULL default '', |
---|
| 26 | `last_dates` varchar(110) character set utf8 collate utf8_bin NOT NULL default '', |
---|
| 27 | `elm_hits` int(10) unsigned NOT NULL default '0', |
---|
| 28 | `pag_hits` int(10) unsigned NOT NULL default '0', |
---|
| 29 | `db_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, |
---|
| 30 | PRIMARY KEY (`session_id`) |
---|
| 31 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
---|
| 32 | "; |
---|
| 33 | $result = pwg_query($query); |
---|
| 34 | if (isset($conf['Whois Online'])) { |
---|
| 35 | $conf_whois = unserialize($conf['Whois Online']); |
---|
| 36 | if (!isset($conf_whois['Active'])) $conf_whois['Active'] = true; |
---|
| 37 | if (!isset($conf_whois['Delete level'])) $conf_whois['Delete level'] = 20; |
---|
| 38 | if (!isset($conf_whois['Radar limit'])) $conf_whois['Radar limit'] = 25; |
---|
| 39 | if (!isset($conf_whois['Webmasters'])) $conf_whois['Webmasters'] = 2; |
---|
| 40 | if (!isset($conf_whois['Administrators'])) $conf_whois['Administrators'] = 2; |
---|
| 41 | if (!isset($conf_whois['Obsolete limit'])) $conf_whois['Obsolete limit'] = 20; |
---|
| 42 | if (!isset($conf_whois['Add to Plugins menu'])) $conf_whois['Add to Plugins menu'] = false; |
---|
| 43 | if (!isset($conf_whois['Add icon to History'])) $conf_whois['Add icon to History'] = true; |
---|
| 44 | if (!isset($conf_whois['Keep data'])) $conf_whois['Keep data'] = true; |
---|
| 45 | if (!isset($conf_whois['Default display'])) $conf_whois['Default display'] = true; |
---|
| 46 | if (!isset($conf_whois['Search id'])) $conf_whois['Search id'] = 0; |
---|
| 47 | if (!isset($conf_whois['Users'])) |
---|
| 48 | $conf_whois['Users'] = Array('max' => 0, 'When' => date('Y-m-d'), 'count' => 0); |
---|
| 49 | $conf['Whois Online'] = serialize($conf_whois); |
---|
| 50 | } |
---|
| 51 | else { |
---|
| 52 | $conf['Whois Online'] = serialize(Array( |
---|
| 53 | 'Active' => true, |
---|
| 54 | 'Delete level' => 20, |
---|
| 55 | 'Radar limit' => 25, |
---|
| 56 | 'Obsolete limit' => 20, |
---|
| 57 | 'Webmasters' => 2, |
---|
| 58 | 'Administrators' => 2, |
---|
| 59 | 'Search id' => 0, |
---|
| 60 | 'Users' => Array('max' => 0, 'When' => date('Y-m-d'), 'count' => 0), |
---|
| 61 | 'Add to Plugins menu' => false, |
---|
| 62 | 'Add icon to History' => true, |
---|
| 63 | 'Keep data' => true, |
---|
| 64 | 'Default display' => true, |
---|
| 65 | )); |
---|
| 66 | } |
---|
| 67 | pwg_query('REPLACE INTO ' . CONFIG_TABLE . " (param,value,comment) |
---|
| 68 | VALUES ('Whois Online','". $conf['Whois Online'] ."','Whois Online configuration');"); |
---|
| 69 | $conf_whois = unserialize($conf['Whois Online']); |
---|
| 70 | if (isset($conf_whois['Keep data']) and !$conf_whois['Keep data']) { |
---|
| 71 | pwg_query('DELETE FROM ' . WHOIS_ONLINE_TABLE); |
---|
| 72 | } |
---|
| 73 | list($hits) = mysql_fetch_row(pwg_query('SELECT SUM(hit) FROM '.IMAGES_TABLE.';')); |
---|
| 74 | $pags = floor($hits * 1.69); /* estimate : 1.69 is a frequent ratio between images hits and pages hits */ |
---|
| 75 | pwg_query('REPLACE INTO ' . WHOIS_ONLINE_TABLE . ' (`IP`, `hidden_IP`, `session_id`, `user_id`,`username`,`lang`,`permanent`,`last_access`, |
---|
| 76 | `last_elm_ids`, `last_cat_ids`, `last_tag_ids`, `last_sch_ids`, |
---|
| 77 | `first_access_date`, `last_dates`, `elm_hits`, `pag_hits`) |
---|
| 78 | VALUES (\'global\', \'true\',\'global\', 0, \'Administrator\', \'--\', \'true\', \'' |
---|
| 79 | . time() .'\', \''. implode(' ',array_fill(0, 12, 0)) |
---|
| 80 | . '\', \''. implode(' ',array_fill(0, 14, 0)) |
---|
| 81 | . '\', \''. implode(' ',array_fill(0, 14, 0)) |
---|
| 82 | . '\', \''. implode(' ',array_fill(0, 14, 0)) |
---|
| 83 | . '\', \'' |
---|
| 84 | . date('Y-m-d') . '\', \'\', \'' |
---|
| 85 | . $hits . '\', \'' . $pags . '\');'); |
---|
| 86 | } |
---|
| 87 | |
---|
| 88 | function plugin_deactivate() |
---|
| 89 | { |
---|
| 90 | global $conf; |
---|
| 91 | if (isset($conf['Whois Online'])) $conf_whois = unserialize($conf['Whois Online']); |
---|
| 92 | if (isset($conf_whois['Keep data']) and !$conf_whois['Keep data']) |
---|
| 93 | pwg_query('DROP TABLE IF EXISTS ' . WHOIS_ONLINE_TABLE); |
---|
| 94 | } |
---|
| 95 | |
---|
| 96 | function plugin_uninstall() |
---|
| 97 | { |
---|
| 98 | global $conf; |
---|
| 99 | if (isset($conf['Whois Online'])) $conf_whois = unserialize($conf['Whois Online']); |
---|
| 100 | if (isset($conf_whois['Keep data']) and !$conf_whois['Keep data']) { |
---|
| 101 | pwg_query('DELETE FROM ' . CONFIG_TABLE . ' WHERE param = ' . "'Whois Online'"); |
---|
| 102 | pwg_query('DROP TABLE IF EXISTS ' . WHOIS_ONLINE_TABLE); |
---|
| 103 | unset($conf['Whois Online']); |
---|
| 104 | } |
---|
| 105 | } |
---|
| 106 | ?> |
---|