Count per Day - Version 3.2.8

Version Description

  • Bugfix: inet_pton for windows php < 5.3
  • Bugfix: GeoIP support for online world map
Download this release

Release Info

Developer Tom Braider
Plugin Icon 128x128 Count per Day
Version 3.2.8
Comparing to
See all releases

Code changes from version 3.2.7 to 3.2.8

Files changed (7) hide show
  1. counter.php +26 -6
  2. geoip/geoip.inc +477 -436
  3. locale/cpd-ro_RO.po +0 -1
  4. locale/cpd-sr_RS.po +1119 -1119
  5. locale/cpd-ua_UA.po +0 -1
  6. map/data.xml.php +7 -2
  7. readme.txt +5 -1
counter.php CHANGED
@@ -3,14 +3,14 @@
3
Plugin Name: Count Per Day
4
Plugin URI: http://www.tomsdimension.de/wp-plugins/count-per-day
5
Description: Counter, shows reads and visitors per page; today, yesterday, last week, last months ... on dashboard, per shortcode or in widget.
6
- Version: 3.2.7
7
License: Postcardware
8
Author: Tom Braider
9
Author URI: http://www.tomsdimension.de
10
*/
11
12
$cpd_dir_name = 'count-per-day';
13
- $cpd_version = '3.2.7';
14
15
if (strpos($_SERVER['SERVER_NAME'], '.test'))
16
$cpd_path = str_replace('/', DIRECTORY_SEPARATOR, ABSPATH.PLUGINDIR.'/'.$cpd_dir_name.'/');
@@ -134,23 +134,38 @@ function count( $x, $page = 'x' )
134
// with GeoIP addon save country
135
$gi = cpd_geoip_open($cpd_path.'geoip/GeoIP.dat', GEOIP_STANDARD);
136
if ( strpos($userip,'.') !== false && strpos($userip,':') === false)
137
// IPv4
138
$country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, '::'.$userip));
139
else
140
// IPv6
141
$country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, $userip));
142
if (empty($country))
143
$country = '-';
144
$this->mysqlQuery('', $wpdb->prepare("INSERT INTO $wpdb->cpd_counter (page, ip, client, date, country, referer)
145
- VALUES (%s, $this->aton(%s), %s, %s, %s, %s)", $page, $userip, $client, $date, $country, $referer), 'count insert '.__LINE__);
146
}
147
else
148
// without country
149
$this->mysqlQuery('', $wpdb->prepare("INSERT INTO $wpdb->cpd_counter (page, ip, client, date, referer)
150
- VALUES (%s, $this->aton(%s), %s, %s, %s)", $page, $userip, $client, $date, $referer), 'count insert '.__LINE__);
151
}
152
// online counter
153
- $oc = (array) get_option('count_per_day_online', array());
154
$oc[$userip] = array( time(), $page );
155
update_option('count_per_day_online', $oc);
156
}
@@ -404,7 +419,12 @@ function getUserOnline( $frontend = false, $country = false, $return = false )
404
$vo = array();
405
foreach ( $oc as $ip=>$x )
406
{
407
- $country = strtolower(cpd_geoip_country_code_by_addr($gi, $ip));
408
$id = $geoip->GEOIP_COUNTRY_CODE_TO_NUMBER[strtoupper($country)];
409
if ( empty($id) )
410
{
3
Plugin Name: Count Per Day
4
Plugin URI: http://www.tomsdimension.de/wp-plugins/count-per-day
5
Description: Counter, shows reads and visitors per page; today, yesterday, last week, last months ... on dashboard, per shortcode or in widget.
6
+ Version: 3.2.8
7
License: Postcardware
8
Author: Tom Braider
9
Author URI: http://www.tomsdimension.de
10
*/
11
12
$cpd_dir_name = 'count-per-day';
13
+ $cpd_version = '3.2.8';
14
15
if (strpos($_SERVER['SERVER_NAME'], '.test'))
16
$cpd_path = str_replace('/', DIRECTORY_SEPARATOR, ABSPATH.PLUGINDIR.'/'.$cpd_dir_name.'/');
134
// with GeoIP addon save country
135
$gi = cpd_geoip_open($cpd_path.'geoip/GeoIP.dat', GEOIP_STANDARD);
136
if ( strpos($userip,'.') !== false && strpos($userip,':') === false)
137
+ {
138
// IPv4
139
$country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, '::'.$userip));
140
+ $userip2 = $userip;
141
+ }
142
else
143
+ {
144
// IPv6
145
$country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, $userip));
146
+
147
+ // store dummy ipv4 until we can handle ipv6
148
+ $packed = inet_pton($userip);
149
+ if (strlen($packed) === 4)
150
+ $unpacked = array_pad(unpack( "C4", $packed), -16, 0);
151
+ else
152
+ $unpacked = array_merge(unpack( "C16", $packed));
153
+ $unpacked = array_slice($unpacked, 12);
154
+ $userip2 = implode('.', $unpacked);
155
+ }
156
if (empty($country))
157
$country = '-';
158
+
159
$this->mysqlQuery('', $wpdb->prepare("INSERT INTO $wpdb->cpd_counter (page, ip, client, date, country, referer)
160
+ VALUES (%s, $this->aton(%s), %s, %s, %s, %s)", $page, $userip2, $client, $date, $country, $referer), 'count insert '.__LINE__);
161
}
162
else
163
// without country
164
$this->mysqlQuery('', $wpdb->prepare("INSERT INTO $wpdb->cpd_counter (page, ip, client, date, referer)
165
+ VALUES (%s, $this->aton(%s), %s, %s, %s)", $page, $userip2, $client, $date, $referer), 'count insert '.__LINE__);
166
}
167
// online counter
168
+ $oc = (array) get_option('count_per_day_online');
169
$oc[$userip] = array( time(), $page );
170
update_option('count_per_day_online', $oc);
171
}
419
$vo = array();
420
foreach ( $oc as $ip=>$x )
421
{
422
+ if ( strpos($ip,'.') !== false && strpos($ip,':') === false)
423
+ // IPv4
424
+ $country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, '::'.$ip));
425
+ else
426
+ // IPv6
427
+ $country = strtolower(cpd_geoip_country_code_by_addr_v6($gi, $ip));
428
$id = $geoip->GEOIP_COUNTRY_CODE_TO_NUMBER[strtoupper($country)];
429
if ( empty($id) )
430
{
geoip/geoip.inc CHANGED
@@ -52,23 +52,23 @@ define("GEOIP_UNKNOWN_SPEED", 0);
52
define("GEOIP_DIALUP_SPEED", 1);
53
define("GEOIP_CABLEDSL_SPEED", 2);
54
define("GEOIP_CORPORATE_SPEED", 3);
55
- define("GEOIP_DOMAIN_EDITION", 11);
56
- define("GEOIP_COUNTRY_EDITION_V6", 12);
57
- define("GEOIP_LOCATIONA_EDITION", 13);
58
- define("GEOIP_ACCURACYRADIUS_EDITION", 14);
59
- define("GEOIP_CITYCOMBINED_EDITION", 15);
60
- define("GEOIP_CITY_EDITION_REV1_V6", 30);
61
- define("GEOIP_CITY_EDITION_REV0_V6",31);
62
- define("GEOIP_NETSPEED_EDITION_REV1",32);
63
- define("GEOIP_NETSPEED_EDITION_REV1_V6",33);
64
- define("GEOIP_USERTYPE_EDITION",28);
65
- define("GEOIP_USERTYPE_EDITION_V6",29);
66
- define("GEOIP_ASNUM_EDITION_V6",21);
67
- define("GEOIP_ISP_EDITION_V6",22);
68
- define("GEOIP_ORG_EDITION_V6",23);
69
- define("GEOIP_DOMAIN_EDITION_V6",24);
70
-
71
- define("CITYCOMBINED_FIXED_RECORD", 7 );
72
73
class GeoIPCpd {
74
var $flags;
@@ -79,165 +79,165 @@ class GeoIPCpd {
79
var $record_length;
80
var $shmid;
81
var $GEOIP_COUNTRY_CODE_TO_NUMBER = array(
82
- "" => 0, "AP" => 1, "EU" => 2, "AD" => 3, "AE" => 4, "AF" => 5,
83
- "AG" => 6, "AI" => 7, "AL" => 8, "AM" => 9, "CW" => 10, "AO" => 11,
84
- "AQ" => 12, "AR" => 13, "AS" => 14, "AT" => 15, "AU" => 16, "AW" => 17,
85
- "AZ" => 18, "BA" => 19, "BB" => 20, "BD" => 21, "BE" => 22, "BF" => 23,
86
- "BG" => 24, "BH" => 25, "BI" => 26, "BJ" => 27, "BM" => 28, "BN" => 29,
87
- "BO" => 30, "BR" => 31, "BS" => 32, "BT" => 33, "BV" => 34, "BW" => 35,
88
- "BY" => 36, "BZ" => 37, "CA" => 38, "CC" => 39, "CD" => 40, "CF" => 41,
89
- "CG" => 42, "CH" => 43, "CI" => 44, "CK" => 45, "CL" => 46, "CM" => 47,
90
- "CN" => 48, "CO" => 49, "CR" => 50, "CU" => 51, "CV" => 52, "CX" => 53,
91
- "CY" => 54, "CZ" => 55, "DE" => 56, "DJ" => 57, "DK" => 58, "DM" => 59,
92
- "DO" => 60, "DZ" => 61, "EC" => 62, "EE" => 63, "EG" => 64, "EH" => 65,
93
- "ER" => 66, "ES" => 67, "ET" => 68, "FI" => 69, "FJ" => 70, "FK" => 71,
94
- "FM" => 72, "FO" => 73, "FR" => 74, "SX" => 75, "GA" => 76, "GB" => 77,
95
- "GD" => 78, "GE" => 79, "GF" => 80, "GH" => 81, "GI" => 82, "GL" => 83,
96
- "GM" => 84, "GN" => 85, "GP" => 86, "GQ" => 87, "GR" => 88, "GS" => 89,
97
- "GT" => 90, "GU" => 91, "GW" => 92, "GY" => 93, "HK" => 94, "HM" => 95,
98
- "HN" => 96, "HR" => 97, "HT" => 98, "HU" => 99, "ID" => 100, "IE" => 101,
99
- "IL" => 102, "IN" => 103, "IO" => 104, "IQ" => 105, "IR" => 106, "IS" => 107,
100
- "IT" => 108, "JM" => 109, "JO" => 110, "JP" => 111, "KE" => 112, "KG" => 113,
101
- "KH" => 114, "KI" => 115, "KM" => 116, "KN" => 117, "KP" => 118, "KR" => 119,
102
- "KW" => 120, "KY" => 121, "KZ" => 122, "LA" => 123, "LB" => 124, "LC" => 125,
103
- "LI" => 126, "LK" => 127, "LR" => 128, "LS" => 129, "LT" => 130, "LU" => 131,
104
- "LV" => 132, "LY" => 133, "MA" => 134, "MC" => 135, "MD" => 136, "MG" => 137,
105
- "MH" => 138, "MK" => 139, "ML" => 140, "MM" => 141, "MN" => 142, "MO" => 143,
106
- "MP" => 144, "MQ" => 145, "MR" => 146, "MS" => 147, "MT" => 148, "MU" => 149,
107
"MV" => 150, "MW" => 151, "MX" => 152, "MY" => 153, "MZ" => 154, "NA" => 155,
108
- "NC" => 156, "NE" => 157, "NF" => 158, "NG" => 159, "NI" => 160, "NL" => 161,
109
- "NO" => 162, "NP" => 163, "NR" => 164, "NU" => 165, "NZ" => 166, "OM" => 167,
110
- "PA" => 168, "PE" => 169, "PF" => 170, "PG" => 171, "PH" => 172, "PK" => 173,
111
- "PL" => 174, "PM" => 175, "PN" => 176, "PR" => 177, "PS" => 178, "PT" => 179,
112
- "PW" => 180, "PY" => 181, "QA" => 182, "RE" => 183, "RO" => 184, "RU" => 185,
113
- "RW" => 186, "SA" => 187, "SB" => 188, "SC" => 189, "SD" => 190, "SE" => 191,
114
- "SG" => 192, "SH" => 193, "SI" => 194, "SJ" => 195, "SK" => 196, "SL" => 197,
115
- "SM" => 198, "SN" => 199, "SO" => 200, "SR" => 201, "ST" => 202, "SV" => 203,
116
- "SY" => 204, "SZ" => 205, "TC" => 206, "TD" => 207, "TF" => 208, "TG" => 209,
117
- "TH" => 210, "TJ" => 211, "TK" => 212, "TM" => 213, "TN" => 214, "TO" => 215,
118
- "TL" => 216, "TR" => 217, "TT" => 218, "TV" => 219, "TW" => 220, "TZ" => 221,
119
- "UA" => 222, "UG" => 223, "UM" => 224, "US" => 225, "UY" => 226, "UZ" => 227,
120
"VA" => 228, "VC" => 229, "VE" => 230, "VG" => 231, "VI" => 232, "VN" => 233,
121
- "VU" => 234, "WF" => 235, "WS" => 236, "YE" => 237, "YT" => 238, "RS" => 239,
122
- "ZA" => 240, "ZM" => 241, "ME" => 242, "ZW" => 243, "A1" => 244, "A2" => 245,
123
"O1" => 246, "AX" => 247, "GG" => 248, "IM" => 249, "JE" => 250, "BL" => 251,
124
- "MF" => 252, "BQ" => 253,
125
);
126
var $GEOIP_COUNTRY_CODES = array(
127
- "","AP","EU","AD","AE","AF","AG","AI","AL","AM","CW",
128
- "AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB",
129
- "BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO",
130
- "BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD",
131
- "CF","CG","CH","CI","CK","CL","CM","CN","CO","CR",
132
- "CU","CV","CX","CY","CZ","DE","DJ","DK","DM","DO",
133
- "DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ",
134
- "FK","FM","FO","FR","SX","GA","GB","GD","GE","GF",
135
- "GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT",
136
- "GU","GW","GY","HK","HM","HN","HR","HT","HU","ID",
137
- "IE","IL","IN","IO","IQ","IR","IS","IT","JM","JO",
138
- "JP","KE","KG","KH","KI","KM","KN","KP","KR","KW",
139
- "KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT",
140
- "LU","LV","LY","MA","MC","MD","MG","MH","MK","ML",
141
- "MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV",
142
- "MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI",
143
- "NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF",
144
- "PG","PH","PK","PL","PM","PN","PR","PS","PT","PW",
145
- "PY","QA","RE","RO","RU","RW","SA","SB","SC","SD",
146
- "SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO",
147
- "SR","ST","SV","SY","SZ","TC","TD","TF","TG","TH",
148
- "TJ","TK","TM","TN","TO","TL","TR","TT","TV","TW",
149
- "TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE",
150
- "VG","VI","VN","VU","WF","WS","YE","YT","RS","ZA",
151
- "ZM","ME","ZW","A1","A2","O1","AX","GG","IM","JE",
152
- "BL","MF", "BQ");
153
var $GEOIP_COUNTRY_CODES3 = array(
154
- "","AP","EU","AND","ARE","AFG","ATG","AIA","ALB","ARM","CUW",
155
- "AGO","ATA","ARG","ASM","AUT","AUS","ABW","AZE","BIH","BRB",
156
- "BGD","BEL","BFA","BGR","BHR","BDI","BEN","BMU","BRN","BOL",
157
- "BRA","BHS","BTN","BVT","BWA","BLR","BLZ","CAN","CCK","COD",
158
- "CAF","COG","CHE","CIV","COK","CHL","CMR","CHN","COL","CRI",
159
- "CUB","CPV","CXR","CYP","CZE","DEU","DJI","DNK","DMA","DOM",
160
- "DZA","ECU","EST","EGY","ESH","ERI","ESP","ETH","FIN","FJI",
161
- "FLK","FSM","FRO","FRA","SXM","GAB","GBR","GRD","GEO","GUF",
162
- "GHA","GIB","GRL","GMB","GIN","GLP","GNQ","GRC","SGS","GTM",
163
- "GUM","GNB","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN",
164
- "IRL","ISR","IND","IOT","IRQ","IRN","ISL","ITA","JAM","JOR",
165
- "JPN","KEN","KGZ","KHM","KIR","COM","KNA","PRK","KOR","KWT",
166
- "CYM","KAZ","LAO","LBN","LCA","LIE","LKA","LBR","LSO","LTU",
167
- "LUX","LVA","LBY","MAR","MCO","MDA","MDG","MHL","MKD","MLI",
168
- "MMR","MNG","MAC","MNP","MTQ","MRT","MSR","MLT","MUS","MDV",
169
- "MWI","MEX","MYS","MOZ","NAM","NCL","NER","NFK","NGA","NIC",
170
- "NLD","NOR","NPL","NRU","NIU","NZL","OMN","PAN","PER","PYF",
171
- "PNG","PHL","PAK","POL","SPM","PCN","PRI","PSE","PRT","PLW",
172
- "PRY","QAT","REU","ROU","RUS","RWA","SAU","SLB","SYC","SDN",
173
- "SWE","SGP","SHN","SVN","SJM","SVK","SLE","SMR","SEN","SOM",
174
- "SUR","STP","SLV","SYR","SWZ","TCA","TCD","ATF","TGO","THA",
175
- "TJK","TKL","TKM","TUN","TON","TLS","TUR","TTO","TUV","TWN",
176
- "TZA","UKR","UGA","UMI","USA","URY","UZB","VAT","VCT","VEN",
177
- "VGB","VIR","VNM","VUT","WLF","WSM","YEM","MYT","SRB","ZAF",
178
- "ZMB","MNE","ZWE","A1","A2","O1","ALA","GGY","IMN","JEY",
179
- "BLM","MAF", "BES"
180
- );
181
var $GEOIP_COUNTRY_NAMES = array(
182
- "","Asia/Pacific Region","Europe","Andorra","United Arab Emirates","Afghanistan","Antigua and Barbuda","Anguilla","Albania","Armenia","Curacao",
183
- "Angola","Antarctica","Argentina","American Samoa","Austria","Australia","Aruba","Azerbaijan","Bosnia and Herzegovina","Barbados",
184
- "Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Bermuda","Brunei Darussalam","Bolivia",
185
- "Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belarus","Belize","Canada","Cocos (Keeling) Islands","Congo, The Democratic Republic of the",
186
- "Central African Republic","Congo","Switzerland","Cote D'Ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica",
187
- "Cuba","Cape Verde","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic",
188
- "Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji",
189
- "Falkland Islands (Malvinas)","Micronesia, Federated States of","Faroe Islands","France","Sint Maarten (Dutch part)","Gabon","United Kingdom","Grenada","Georgia","French Guiana",
190
- "Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala",
191
- "Guam","Guinea-Bissau","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia",
192
- "Ireland","Israel","India","British Indian Ocean Territory","Iraq","Iran, Islamic Republic of","Iceland","Italy","Jamaica","Jordan",
193
- "Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts and Nevis","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait",
194
- "Cayman Islands","Kazakhstan","Lao People's Democratic Republic","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania",
195
- "Luxembourg","Latvia","Libya","Morocco","Monaco","Moldova, Republic of","Madagascar","Marshall Islands","Macedonia","Mali",
196
- "Myanmar","Mongolia","Macau","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives",
197
- "Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua",
198
- "Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia",
199
- "Papua New Guinea","Philippines","Pakistan","Poland","Saint Pierre and Miquelon","Pitcairn Islands","Puerto Rico","Palestinian Territory","Portugal","Palau",
200
- "Paraguay","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sudan",
201
- "Sweden","Singapore","Saint Helena","Slovenia","Svalbard and Jan Mayen","Slovakia","Sierra Leone","San Marino","Senegal","Somalia","Suriname",
202
- "Sao Tome and Principe","El Salvador","Syrian Arab Republic","Swaziland","Turks and Caicos Islands","Chad","French Southern Territories","Togo","Thailand",
203
- "Tajikistan","Tokelau","Turkmenistan","Tunisia","Tonga","Timor-Leste","Turkey","Trinidad and Tobago","Tuvalu","Taiwan",
204
- "Tanzania, United Republic of","Ukraine","Uganda","United States Minor Outlying Islands","United States","Uruguay","Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela",
205
- "Virgin Islands, British","Virgin Islands, U.S.","Vietnam","Vanuatu","Wallis and Futuna","Samoa","Yemen","Mayotte","Serbia","South Africa",
206
- "Zambia","Montenegro","Zimbabwe","Anonymous Proxy","Satellite Provider","Other","Aland Islands","Guernsey","Isle of Man","Jersey",
207
- "Saint Barthelemy","Saint Martin", "Bonaire, Saint Eustatius and Saba"
208
- );
209
-
210
- var $GEOIP_CONTINENT_CODES = array(
211
- "--", "AS","EU","EU","AS","AS","NA","NA","EU","AS","NA",
212
- "AF","AN","SA","OC","EU","OC","NA","AS","EU","NA",
213
- "AS","EU","AF","EU","AS","AF","AF","NA","AS","SA",
214
- "SA","NA","AS","AN","AF","EU","NA","NA","AS","AF",
215
- "AF","AF","EU","AF","OC","SA","AF","AS","SA","NA",
216
- "NA","AF","AS","AS","EU","EU","AF","EU","NA","NA",
217
- "AF","SA","EU","AF","AF","AF","EU","AF","EU","OC",
218
- "SA","OC","EU","EU","NA","AF","EU","NA","AS","SA",
219
- "AF","EU","NA","AF","AF","NA","AF","EU","AN","NA",
220
- "OC","AF","SA","AS","AN","NA","EU","NA","EU","AS",
221
- "EU","AS","AS","AS","AS","AS","EU","EU","NA","AS",
222
- "AS","AF","AS","AS","OC","AF","NA","AS","AS","AS",
223
- "NA","AS","AS","AS","NA","EU","AS","AF","AF","EU",
224
- "EU","EU","AF","AF","EU","EU","AF","OC","EU","AF",
225
- "AS","AS","AS","OC","NA","AF","NA","EU","AF","AS",
226
- "AF","NA","AS","AF","AF","OC","AF","OC","AF","NA",
227
- "EU","EU","AS","OC","OC","OC","AS","NA","SA","OC",
228
- "OC","AS","AS","EU","NA","OC","NA","AS","EU","OC",
229
- "SA","AS","AF","EU","EU","AF","AS","OC","AF","AF",
230
- "EU","AS","AF","EU","EU","EU","AF","EU","AF","AF",
231
- "SA","AF","NA","AS","AF","NA","AF","AN","AF","AS",
232
- "AS","OC","AS","AF","OC","AS","EU","NA","OC","AS",
233
- "AF","EU","AF","OC","NA","SA","AS","EU","NA","SA",
234
- "NA","NA","AS","OC","OC","OC","AS","AF","EU","AF",
235
- "AF","EU","AF","--","--","--","EU","EU","EU","EU",
236
- "NA","NA","NA"
237
);
238
-
239
- }
240
241
function cpd_geoip_load_shared_mem ($file) {
242
243
$fp = fopen($file, "rb");
@@ -256,7 +256,7 @@ function cpd_geoip_load_shared_mem ($file) {
256
shmop_close ($shmid);
257
}
258
259
- function _setup_segments($gi){
260
$gi->databaseType = GEOIP_COUNTRY_EDITION;
261
$gi->record_length = STANDARD_RECORD_LENGTH;
262
if ($gi->flags & GEOIP_SHARED_MEMORY) {
@@ -275,32 +275,32 @@ function _setup_segments($gi){
275
} else if (($gi->databaseType == GEOIP_CITY_EDITION_REV0)||
276
($gi->databaseType == GEOIP_CITY_EDITION_REV1)
277
|| ($gi->databaseType == GEOIP_ORG_EDITION)
278
- || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
279
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
280
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
281
|| ($gi->databaseType == GEOIP_ISP_EDITION)
282
- || ($gi->databaseType == GEOIP_ISP_EDITION_V6)
283
- || ($gi->databaseType == GEOIP_USERTYPE_EDITION)
284
- || ($gi->databaseType == GEOIP_USERTYPE_EDITION_V6)
285
- || ($gi->databaseType == GEOIP_LOCATIONA_EDITION)
286
- || ($gi->databaseType == GEOIP_ACCURACYRADIUS_EDITION)
287
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
288
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
289
- || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1)
290
- || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1_V6)
291
- || ($gi->databaseType == GEOIP_ASNUM_EDITION)
292
- || ($gi->databaseType == GEOIP_ASNUM_EDITION_V6)){
293
$gi->databaseSegments = 0;
294
$buf = @shmop_read ($gi->shmid, $offset, SEGMENT_RECORD_LENGTH);
295
for ($j = 0;$j < SEGMENT_RECORD_LENGTH;$j++){
296
$gi->databaseSegments += (ord($buf[$j]) << ($j * 8));
297
}
298
- if (($gi->databaseType == GEOIP_ORG_EDITION)
299
- || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
300
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
301
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
302
- || ($gi->databaseType == GEOIP_ISP_EDITION)
303
- || ($gi->databaseType == GEOIP_ISP_EDITION_V6)) {
304
$gi->record_length = ORG_RECORD_LENGTH;
305
}
306
}
@@ -310,7 +310,7 @@ function _setup_segments($gi){
310
}
311
}
312
if (($gi->databaseType == GEOIP_COUNTRY_EDITION)||
313
- ($gi->databaseType == GEOIP_COUNTRY_EDITION_V6)||
314
($gi->databaseType == GEOIP_PROXY_EDITION)||
315
($gi->databaseType == GEOIP_NETSPEED_EDITION)){
316
$gi->databaseSegments = GEOIP_COUNTRY_BEGIN;
@@ -327,37 +327,37 @@ function _setup_segments($gi){
327
}
328
else if ($gi->databaseType == GEOIP_REGION_EDITION_REV1){
329
$gi->databaseSegments = GEOIP_STATE_BEGIN_REV1;
330
- } else if (($gi->databaseType == GEOIP_CITY_EDITION_REV0)
331
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV1)
332
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
333
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
334
- || ($gi->databaseType == GEOIP_ORG_EDITION)
335
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
336
- || ($gi->databaseType == GEOIP_ISP_EDITION)
337
- || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
338
- || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
339
- || ($gi->databaseType == GEOIP_ISP_EDITION_V6)
340
- || ($gi->databaseType == GEOIP_LOCATIONA_EDITION)
341
- || ($gi->databaseType == GEOIP_ACCURACYRADIUS_EDITION)
342
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
343
- || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
344
- || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1)
345
- || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1_V6)
346
- || ($gi->databaseType == GEOIP_USERTYPE_EDITION)
347
- || ($gi->databaseType == GEOIP_USERTYPE_EDITION_V6)
348
- || ($gi->databaseType == GEOIP_ASNUM_EDITION)
349
- || ($gi->databaseType == GEOIP_ASNUM_EDITION_V6)){
350
$gi->databaseSegments = 0;
351
$buf = fread($gi->filehandle,SEGMENT_RECORD_LENGTH);
352
for ($j = 0;$j < SEGMENT_RECORD_LENGTH;$j++){
353
$gi->databaseSegments += (ord($buf[$j]) << ($j * 8));
354
}
355
- if ( ( $gi->databaseType == GEOIP_ORG_EDITION )
356
- || ( $gi->databaseType == GEOIP_DOMAIN_EDITION )
357
- || ( $gi->databaseType == GEOIP_ISP_EDITION )
358
- || ( $gi->databaseType == GEOIP_ORG_EDITION_V6 )
359
- || ( $gi->databaseType == GEOIP_DOMAIN_EDITION_V6 )
360
- || ( $gi->databaseType == GEOIP_ISP_EDITION_V6 )) {
361
$gi->record_length = ORG_RECORD_LENGTH;
362
}
363
}
@@ -367,7 +367,7 @@ function _setup_segments($gi){
367
}
368
}
369
if (($gi->databaseType == GEOIP_COUNTRY_EDITION)||
370
- ($gi->databaseType == GEOIP_COUNTRY_EDITION_V6)||
371
($gi->databaseType == GEOIP_PROXY_EDITION)||
372
($gi->databaseType == GEOIP_NETSPEED_EDITION)){
373
$gi->databaseSegments = GEOIP_COUNTRY_BEGIN;
@@ -378,7 +378,7 @@ function _setup_segments($gi){
378
}
379
380
function cpd_geoip_open($filename, $flags) {
381
- $gi = new GeoIPCpd;
382
$gi->flags = $flags;
383
if ($gi->flags & GEOIP_SHARED_MEMORY) {
384
$gi->shmid = @shmop_open (GEOIP_SHM_KEY, "a", 0, 0);
@@ -390,7 +390,7 @@ function cpd_geoip_open($filename, $flags) {
390
}
391
}
392
393
- $gi = _setup_segments($gi);
394
return $gi;
395
}
396
@@ -402,18 +402,18 @@ function cpd_geoip_close($gi) {
402
return fclose($gi->filehandle);
403
}
404
405
- function cpd_geoip_country_id_by_name_v6($gi, $name) {
406
- $rec = dns_get_record($name, DNS_AAAA);
407
- if ( !$rec ) {
408
- return false;
409
- }
410
- $addr = $rec[0]["ipv6"];
411
- if (!$addr || $addr == $name) {
412
- return false;
413
- }
414
- return cpd_geoip_country_id_by_addr_v6($gi, $addr);
415
- }
416
-
417
function cpd_geoip_country_id_by_name($gi, $name) {
418
$addr = gethostbyname($name);
419
if (!$addr || $addr == $name) {
@@ -422,14 +422,14 @@ function cpd_geoip_country_id_by_name($gi, $name) {
422
return cpd_geoip_country_id_by_addr($gi, $addr);
423
}
424
425
- function cpd_geoip_country_code_by_name_v6($gi, $name) {
426
- $country_id = cpd_geoip_country_id_by_name_v6($gi,$name);
427
- if ($country_id !== false) {
428
- return $gi->GEOIP_COUNTRY_CODES[$country_id];
429
- }
430
- return false;
431
- }
432
-
433
function cpd_geoip_country_code_by_name($gi, $name) {
434
$country_id = cpd_geoip_country_id_by_name($gi,$name);
435
if ($country_id !== false) {
@@ -438,14 +438,14 @@ function cpd_geoip_country_code_by_name($gi, $name) {
438
return false;
439
}
440
441
- function cpd_geoip_country_name_by_name_v6($gi, $name) {
442
- $country_id = cpd_geoip_country_id_by_name_v6($gi,$name);
443
- if ($country_id !== false) {
444
- return $gi->GEOIP_COUNTRY_NAMES[$country_id];
445
- }
446
- return false;
447
- }
448
-
449
function cpd_geoip_country_name_by_name($gi, $name) {
450
$country_id = cpd_geoip_country_id_by_name($gi,$name);
451
if ($country_id !== false) {
@@ -454,22 +454,22 @@ function cpd_geoip_country_name_by_name($gi, $name) {
454
return false;
455
}
456
457
- function cpd_geoip_country_id_by_addr_v6($gi, $addr) {
458
- $ipnum = inet_pton($addr);
459
- return _cpd_geoip_seek_country_v6($gi, $ipnum) - GEOIP_COUNTRY_BEGIN;
460
- }
461
-
462
function cpd_geoip_country_id_by_addr($gi, $addr) {
463
$ipnum = ip2long($addr);
464
- return _cpd_geoip_seek_country($gi, $ipnum) - GEOIP_COUNTRY_BEGIN;
465
- }
466
-
467
- function cpd_geoip_country_code_by_addr_v6($gi, $addr) {
468
- $country_id = cpd_geoip_country_id_by_addr_v6($gi,$addr);
469
- if ($country_id !== false) {
470
- return $gi->GEOIP_COUNTRY_CODES[$country_id];
471
- }
472
- return false;
473
}
474
475
function cpd_geoip_country_code_by_addr($gi, $addr) {
@@ -487,14 +487,14 @@ function cpd_geoip_country_code_by_addr($gi, $addr) {
487
return false;
488
}
489
490
- function cpd_geoip_country_name_by_addr_v6($gi, $addr) {
491
- $country_id = cpd_geoip_country_id_by_addr_v6($gi,$addr);
492
- if ($country_id !== false) {
493
- return $gi->GEOIP_COUNTRY_NAMES[$country_id];
494
- }
495
- return false;
496
- }
497
-
498
function cpd_geoip_country_name_by_addr($gi, $addr) {
499
if ($gi->databaseType == GEOIP_CITY_EDITION_REV1) {
500
$record = cpd_geoip_record_by_addr($gi,$addr);
@@ -508,76 +508,79 @@ function cpd_geoip_country_name_by_addr($gi, $addr) {
508
return false;
509
}
510
511
- function _cpd_geoip_seek_country_v6($gi, $ipnum) {
512
-
513
- # arrays from unpack start with offset 1
514
- # yet another php mystery. array_merge work around
515
- # this broken behaviour
516
- $v6vec = array_merge(unpack( "C16", $ipnum));
517
-
518
- $offset = 0;
519
- for ($depth = 127; $depth >= 0; --$depth) {
520
- if ($gi->flags & GEOIP_MEMORY_CACHE) {
521
- // workaround php's broken substr, strpos, etc handling with
522
- // mbstring.func_overload and mbstring.internal_encoding
523
- $enc = mb_internal_encoding();
524
- mb_internal_encoding('ISO-8859-1');
525
-
526
- $buf = substr($gi->memory_buffer,
527
- 2 * $gi->record_length * $offset,
528
- 2 * $gi->record_length);
529
-
530
- mb_internal_encoding($enc);
531
- } elseif ($gi->flags & GEOIP_SHARED_MEMORY) {
532
- $buf = @shmop_read ($gi->shmid,
533
- 2 * $gi->record_length * $offset,
534
- 2 * $gi->record_length );
535
- } else {
536
- fseek($gi->filehandle, 2 * $gi->record_length * $offset, SEEK_SET) == 0
537
- or die("fseek failed");
538
- $buf = fread($gi->filehandle, 2 * $gi->record_length);
539
- }
540
- $x = array(0,0);
541
- for ($i = 0; $i < 2; ++$i) {
542
- for ($j = 0; $j < $gi->record_length; ++$j) {
543
- $x[$i] += ord($buf[$gi->record_length * $i + $j]) << ($j * 8);
544
- }
545
- }
546
-
547
- $bnum = 127 - $depth;
548
- $idx = $bnum >> 3;
549
- $b_mask = 1 << ( $bnum & 7 ^ 7 );
550
- if (($v6vec[$idx] & $b_mask) > 0) {
551
- if ($x[1] >= $gi->databaseSegments) {
552
- return $x[1];
553
- }
554
- $offset = $x[1];
555
- } else {
556
- if ($x[0] >= $gi->databaseSegments) {
557
- return $x[0];
558
- }
559
- $offset = $x[0];
560
- }
561
- }
562
- trigger_error("error traversing database - perhaps it is corrupt?", E_USER_ERROR);
563
- return false;
564
- }
565
-
566
- function _cpd_geoip_seek_country($gi, $ipnum) {
567
$offset = 0;
568
for ($depth = 31; $depth >= 0; --$depth) {
569
if ($gi->flags & GEOIP_MEMORY_CACHE) {
570
- // workaround php's broken substr, strpos, etc handling with
571
- // mbstring.func_overload and mbstring.internal_encoding
572
- $enc = mb_internal_encoding();
573
- mb_internal_encoding('ISO-8859-1');
574
-
575
$buf = substr($gi->memory_buffer,
576
2 * $gi->record_length * $offset,
577
2 * $gi->record_length);
578
-
579
- mb_internal_encoding($enc);
580
- } elseif ($gi->flags & GEOIP_SHARED_MEMORY) {
581
$buf = @shmop_read ($gi->shmid,
582
2 * $gi->record_length * $offset,
583
2 * $gi->record_length );
@@ -608,107 +611,145 @@ function _cpd_geoip_seek_country($gi, $ipnum) {
608
return false;
609
}
610
611
- function _cpd_common_get_org($gi, $seek_org){
612
- $record_pointer = $seek_org + (2 * $gi->record_length - 1) * $gi->databaseSegments;
613
- if ($gi->flags & GEOIP_SHARED_MEMORY) {
614
- $org_buf = @shmop_read ($gi->shmid, $record_pointer, MAX_ORG_RECORD_LENGTH);
615
- } else {
616
- fseek($gi->filehandle, $record_pointer, SEEK_SET);
617
- $org_buf = fread($gi->filehandle,MAX_ORG_RECORD_LENGTH);
618
- }
619
- // workaround php's broken substr, strpos, etc handling with
620
- // mbstring.func_overload and mbstring.internal_encoding
621
- $enc = mb_internal_encoding();
622
- mb_internal_encoding('ISO-8859-1');
623
- $org_buf = substr($org_buf, 0, strpos($org_buf, "\0"));
624
- mb_internal_encoding($enc);
625
- return $org_buf;
626
- }
627
-
628
- function _cpd_get_org_v6($gi,$ipnum){
629
- $seek_org = _cpd_geoip_seek_country_v6($gi,$ipnum);
630
- if ($seek_org == $gi->databaseSegments) {
631
- return NULL;
632
- }
633
- return _cpd_common_get_org($gi, $seek_org);
634
- }
635
-
636
- function _cpd_get_org($gi,$ipnum){
637
- $seek_org = _cpd_geoip_seek_country($gi,$ipnum);
638
- if ($seek_org == $gi->databaseSegments) {
639
- return NULL;
640
- }
641
- return _cpd_common_get_org($gi, $seek_org);
642
- }
643
-
644
-
645
-
646
- function cpd_geoip_name_by_addr_v6 ($gi,$addr) {
647
- if ($addr == NULL) {
648
- return 0;
649
- }
650
- $ipnum = inet_pton($addr);
651
- return _cpd_get_org_v6($gi, $ipnum);
652
- }
653
-
654
- function cpd_geoip_name_by_addr ($gi,$addr) {
655
- if ($addr == NULL) {
656
- return 0;
657
- }
658
- $ipnum = ip2long($addr);
659
- return _cpd_get_org($gi, $ipnum);
660
- }
661
-
662
- function cpd_geoip_org_by_addr ($gi,$addr) {
663
- return cpd_geoip_name_by_addr($gi, $addr);
664
- }
665
-
666
- function _cpd_get_region($gi,$ipnum){
667
- if ($gi->databaseType == GEOIP_REGION_EDITION_REV0){
668
- $seek_region = _cpd_geoip_seek_country($gi,$ipnum) - GEOIP_STATE_BEGIN_REV0;
669
- if ($seek_region >= 1000){
670
- $country_code = "US";
671
- $region = chr(($seek_region - 1000)/26 + 65) . chr(($seek_region - 1000)%26 + 65);
672
- } else {
673
- $country_code = $gi->GEOIP_COUNTRY_CODES[$seek_region];
674
- $region = "";
675
- }
676
- return array ($country_code,$region);
677
- } else if ($gi->databaseType == GEOIP_REGION_EDITION_REV1) {
678
- $seek_region = _cpd_geoip_seek_country($gi,$ipnum) - GEOIP_STATE_BEGIN_REV1;
679
- //print $seek_region;
680
- if ($seek_region < US_OFFSET){
681
- $country_code = "";
682
- $region = "";
683
- } else if ($seek_region < CANADA_OFFSET) {
684
- $country_code = "US";
685
- $region = chr(($seek_region - US_OFFSET)/26 + 65) . chr(($seek_region - US_OFFSET)%26 + 65);
686
- } else if ($seek_region < WORLD_OFFSET) {
687
- $country_code = "CA";
688
- $region = chr(($seek_region - CANADA_OFFSET)/26 + 65) . chr(($seek_region - CANADA_OFFSET)%26 + 65);
689
- } else {
690
- $country_code = $gi->GEOIP_COUNTRY_CODES[($seek_region - WORLD_OFFSET) / FIPS_RANGE];
691
- $region = "";
692
- }
693
- return array ($country_code,$region);
694
- }
695
- }
696
-
697
- function cpd_geoip_region_by_addr ($gi,$addr) {
698
- if ($addr == NULL) {
699
- return 0;
700
- }
701
- $ipnum = ip2long($addr);
702
- return _cpd_get_region($gi, $ipnum);
703
- }
704
-
705
- function cpd_getdnsattributes ($l,$ip){
706
- $r = new Net_DNS_Resolver();
707
- $r->nameservers = array("ws1.maxmind.com");
708
- $p = $r->search($l."." . $ip .".s.maxmind.com","TXT","IN");
709
- $str = is_object($p->answer[0])?$p->answer[0]->string():'';
710
- $str = substr( $str, 1, -1 );
711
- return $str;
712
- }
713
-
714
- ?>
52
define("GEOIP_DIALUP_SPEED", 1);
53
define("GEOIP_CABLEDSL_SPEED", 2);
54
define("GEOIP_CORPORATE_SPEED", 3);
55
+ define("GEOIP_DOMAIN_EDITION", 11);
56
+ define("GEOIP_COUNTRY_EDITION_V6", 12);
57
+ define("GEOIP_LOCATIONA_EDITION", 13);
58
+ define("GEOIP_ACCURACYRADIUS_EDITION", 14);
59
+ define("GEOIP_CITYCOMBINED_EDITION", 15);
60
+ define("GEOIP_CITY_EDITION_REV1_V6", 30);
61
+ define("GEOIP_CITY_EDITION_REV0_V6",31);
62
+ define("GEOIP_NETSPEED_EDITION_REV1",32);
63
+ define("GEOIP_NETSPEED_EDITION_REV1_V6",33);
64
+ define("GEOIP_USERTYPE_EDITION",28);
65
+ define("GEOIP_USERTYPE_EDITION_V6",29);
66
+ define("GEOIP_ASNUM_EDITION_V6",21);
67
+ define("GEOIP_ISP_EDITION_V6",22);
68
+ define("GEOIP_ORG_EDITION_V6",23);
69
+ define("GEOIP_DOMAIN_EDITION_V6",24);
70
+
71
+ define("CITYCOMBINED_FIXED_RECORD", 7 );
72
73
class GeoIPCpd {
74
var $flags;
79
var $record_length;
80
var $shmid;
81
var $GEOIP_COUNTRY_CODE_TO_NUMBER = array(
82
+ "" => 0, "AP" => 1, "EU" => 2, "AD" => 3, "AE" => 4, "AF" => 5,
83
+ "AG" => 6, "AI" => 7, "AL" => 8, "AM" => 9, "CW" => 10, "AO" => 11,
84
+ "AQ" => 12, "AR" => 13, "AS" => 14, "AT" => 15, "AU" => 16, "AW" => 17,
85
+ "AZ" => 18, "BA" => 19, "BB" => 20, "BD" => 21, "BE" => 22, "BF" => 23,
86
+ "BG" => 24, "BH" => 25, "BI" => 26, "BJ" => 27, "BM" => 28, "BN" => 29,
87
+ "BO" => 30, "BR" => 31, "BS" => 32, "BT" => 33, "BV" => 34, "BW" => 35,
88
+ "BY" => 36, "BZ" => 37, "CA" => 38, "CC" => 39, "CD" => 40, "CF" => 41,
89
+ "CG" => 42, "CH" => 43, "CI" => 44, "CK" => 45, "CL" => 46, "CM" => 47,
90
+ "CN" => 48, "CO" => 49, "CR" => 50, "CU" => 51, "CV" => 52, "CX" => 53,
91
+ "CY" => 54, "CZ" => 55, "DE" => 56, "DJ" => 57, "DK" => 58, "DM" => 59,
92
+ "DO" => 60, "DZ" => 61, "EC" => 62, "EE" => 63, "EG" => 64, "EH" => 65,
93
+ "ER" => 66, "ES" => 67, "ET" => 68, "FI" => 69, "FJ" => 70, "FK" => 71,
94
+ "FM" => 72, "FO" => 73, "FR" => 74, "SX" => 75, "GA" => 76, "GB" => 77,
95
+ "GD" => 78, "GE" => 79, "GF" => 80, "GH" => 81, "GI" => 82, "GL" => 83,
96
+ "GM" => 84, "GN" => 85, "GP" => 86, "GQ" => 87, "GR" => 88, "GS" => 89,
97
+ "GT" => 90, "GU" => 91, "GW" => 92, "GY" => 93, "HK" => 94, "HM" => 95,
98
+ "HN" => 96, "HR" => 97, "HT" => 98, "HU" => 99, "ID" => 100, "IE" => 101,
99
+ "IL" => 102, "IN" => 103, "IO" => 104, "IQ" => 105, "IR" => 106, "IS" => 107,
100
+ "IT" => 108, "JM" => 109, "JO" => 110, "JP" => 111, "KE" => 112, "KG" => 113,
101
+ "KH" => 114, "KI" => 115, "KM" => 116, "KN" => 117, "KP" => 118, "KR" => 119,
102
+ "KW" => 120, "KY" => 121, "KZ" => 122, "LA" => 123, "LB" => 124, "LC" => 125,
103
+ "LI" => 126, "LK" => 127, "LR" => 128, "LS" => 129, "LT" => 130, "LU" => 131,
104
+ "LV" => 132, "LY" => 133, "MA" => 134, "MC" => 135, "MD" => 136, "MG" => 137,
105
+ "MH" => 138, "MK" => 139, "ML" => 140, "MM" => 141, "MN" => 142, "MO" => 143,
106
+ "MP" => 144, "MQ" => 145, "MR" => 146, "MS" => 147, "MT" => 148, "MU" => 149,
107
"MV" => 150, "MW" => 151, "MX" => 152, "MY" => 153, "MZ" => 154, "NA" => 155,
108
+ "NC" => 156, "NE" => 157, "NF" => 158, "NG" => 159, "NI" => 160, "NL" => 161,
109
+ "NO" => 162, "NP" => 163, "NR" => 164, "NU" => 165, "NZ" => 166, "OM" => 167,
110
+ "PA" => 168, "PE" => 169, "PF" => 170, "PG" => 171, "PH" => 172, "PK" => 173,
111
+ "PL" => 174, "PM" => 175, "PN" => 176, "PR" => 177, "PS" => 178, "PT" => 179,
112
+ "PW" => 180, "PY" => 181, "QA" => 182, "RE" => 183, "RO" => 184, "RU" => 185,
113
+ "RW" => 186, "SA" => 187, "SB" => 188, "SC" => 189, "SD" => 190, "SE" => 191,
114
+ "SG" => 192, "SH" => 193, "SI" => 194, "SJ" => 195, "SK" => 196, "SL" => 197,
115
+ "SM" => 198, "SN" => 199, "SO" => 200, "SR" => 201, "ST" => 202, "SV" => 203,
116
+ "SY" => 204, "SZ" => 205, "TC" => 206, "TD" => 207, "TF" => 208, "TG" => 209,
117
+ "TH" => 210, "TJ" => 211, "TK" => 212, "TM" => 213, "TN" => 214, "TO" => 215,
118
+ "TL" => 216, "TR" => 217, "TT" => 218, "TV" => 219, "TW" => 220, "TZ" => 221,
119
+ "UA" => 222, "UG" => 223, "UM" => 224, "US" => 225, "UY" => 226, "UZ" => 227,
120
"VA" => 228, "VC" => 229, "VE" => 230, "VG" => 231, "VI" => 232, "VN" => 233,
121
+ "VU" => 234, "WF" => 235, "WS" => 236, "YE" => 237, "YT" => 238, "RS" => 239,
122
+ "ZA" => 240, "ZM" => 241, "ME" => 242, "ZW" => 243, "A1" => 244, "A2" => 245,
123
"O1" => 246, "AX" => 247, "GG" => 248, "IM" => 249, "JE" => 250, "BL" => 251,
124
+ "MF" => 252, "BQ" => 253, "SS" => 254
125
);
126
var $GEOIP_COUNTRY_CODES = array(
127
+ "","AP","EU","AD","AE","AF","AG","AI","AL","AM","CW",
128
+ "AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB",
129
+ "BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO",
130
+ "BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD",
131
+ "CF","CG","CH","CI","CK","CL","CM","CN","CO","CR",
132
+ "CU","CV","CX","CY","CZ","DE","DJ","DK","DM","DO",
133
+ "DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ",
134
+ "FK","FM","FO","FR","SX","GA","GB","GD","GE","GF",
135
+ "GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT",
136
+ "GU","GW","GY","HK","HM","HN","HR","HT","HU","ID",
137
+ "IE","IL","IN","IO","IQ","IR","IS","IT","JM","JO",
138
+ "JP","KE","KG","KH","KI","KM","KN","KP","KR","KW",
139
+ "KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT",
140
+ "LU","LV","LY","MA","MC","MD","MG","MH","MK","ML",
141
+ "MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV",
142
+ "MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI",
143
+ "NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF",
144
+ "PG","PH","PK","PL","PM","PN","PR","PS","PT","PW",
145
+ "PY","QA","RE","RO","RU","RW","SA","SB","SC","SD",
146
+ "SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO",
147
+ "SR","ST","SV","SY","SZ","TC","TD","TF","TG","TH",
148
+ "TJ","TK","TM","TN","TO","TL","TR","TT","TV","TW",
149
+ "TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE",
150
+ "VG","VI","VN","VU","WF","WS","YE","YT","RS","ZA",
151
+ "ZM","ME","ZW","A1","A2","O1","AX","GG","IM","JE",
152
+ "BL","MF", "BQ", "SS", "O1" );
153
var $GEOIP_COUNTRY_CODES3 = array(
154
+ "","AP","EU","AND","ARE","AFG","ATG","AIA","ALB","ARM","CUW",
155
+ "AGO","ATA","ARG","ASM","AUT","AUS","ABW","AZE","BIH","BRB",
156
+ "BGD","BEL","BFA","BGR","BHR","BDI","BEN","BMU","BRN","BOL",
157
+ "BRA","BHS","BTN","BVT","BWA","BLR","BLZ","CAN","CCK","COD",
158
+ "CAF","COG","CHE","CIV","COK","CHL","CMR","CHN","COL","CRI",
159
+ "CUB","CPV","CXR","CYP","CZE","DEU","DJI","DNK","DMA","DOM",
160
+ "DZA","ECU","EST","EGY","ESH","ERI","ESP","ETH","FIN","FJI",
161
+ "FLK","FSM","FRO","FRA","SXM","GAB","GBR","GRD","GEO","GUF",
162
+ "GHA","GIB","GRL","GMB","GIN","GLP","GNQ","GRC","SGS","GTM",
163
+ "GUM","GNB","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN",
164
+ "IRL","ISR","IND","IOT","IRQ","IRN","ISL","ITA","JAM","JOR",
165
+ "JPN","KEN","KGZ","KHM","KIR","COM","KNA","PRK","KOR","KWT",
166
+ "CYM","KAZ","LAO","LBN","LCA","LIE","LKA","LBR","LSO","LTU",
167
+ "LUX","LVA","LBY","MAR","MCO","MDA","MDG","MHL","MKD","MLI",
168
+ "MMR","MNG","MAC","MNP","MTQ","MRT","MSR","MLT","MUS","MDV",
169
+ "MWI","MEX","MYS","MOZ","NAM","NCL","NER","NFK","NGA","NIC",
170
+ "NLD","NOR","NPL","NRU","NIU","NZL","OMN","PAN","PER","PYF",
171
+ "PNG","PHL","PAK","POL","SPM","PCN","PRI","PSE","PRT","PLW",
172
+ "PRY","QAT","REU","ROU","RUS","RWA","SAU","SLB","SYC","SDN",
173
+ "SWE","SGP","SHN","SVN","SJM","SVK","SLE","SMR","SEN","SOM",
174
+ "SUR","STP","SLV","SYR","SWZ","TCA","TCD","ATF","TGO","THA",
175
+ "TJK","TKL","TKM","TUN","TON","TLS","TUR","TTO","TUV","TWN",
176
+ "TZA","UKR","UGA","UMI","USA","URY","UZB","VAT","VCT","VEN",
177
+ "VGB","VIR","VNM","VUT","WLF","WSM","YEM","MYT","SRB","ZAF",
178
+ "ZMB","MNE","ZWE","A1","A2","O1","ALA","GGY","IMN","JEY",
179
+ "BLM","MAF", "BES", "SSD", "O1"
180
+ );
181
var $GEOIP_COUNTRY_NAMES = array(
182
+ "","Asia/Pacific Region","Europe","Andorra","United Arab Emirates","Afghanistan","Antigua and Barbuda","Anguilla","Albania","Armenia","Curacao",
183
+ "Angola","Antarctica","Argentina","American Samoa","Austria","Australia","Aruba","Azerbaijan","Bosnia and Herzegovina","Barbados",
184
+ "Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Bermuda","Brunei Darussalam","Bolivia",
185
+ "Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belarus","Belize","Canada","Cocos (Keeling) Islands","Congo, The Democratic Republic of the",
186
+ "Central African Republic","Congo","Switzerland","Cote D'Ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica",
187
+ "Cuba","Cape Verde","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic",
188
+ "Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji",
189
+ "Falkland Islands (Malvinas)","Micronesia, Federated States of","Faroe Islands","France","Sint Maarten (Dutch part)","Gabon","United Kingdom","Grenada","Georgia","French Guiana",
190
+ "Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala",
191
+ "Guam","Guinea-Bissau","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia",
192
+ "Ireland","Israel","India","British Indian Ocean Territory","Iraq","Iran, Islamic Republic of","Iceland","Italy","Jamaica","Jordan",
193
+ "Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts and Nevis","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait",
194
+ "Cayman Islands","Kazakhstan","Lao People's Democratic Republic","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania",
195
+ "Luxembourg","Latvia","Libya","Morocco","Monaco","Moldova, Republic of","Madagascar","Marshall Islands","Macedonia","Mali",
196
+ "Myanmar","Mongolia","Macau","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives",
197
+ "Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua",
198
+ "Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia",
199
+ "Papua New Guinea","Philippines","Pakistan","Poland","Saint Pierre and Miquelon","Pitcairn Islands","Puerto Rico","Palestinian Territory","Portugal","Palau",
200
+ "Paraguay","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sudan",
201
+ "Sweden","Singapore","Saint Helena","Slovenia","Svalbard and Jan Mayen","Slovakia","Sierra Leone","San Marino","Senegal","Somalia","Suriname",
202
+ "Sao Tome and Principe","El Salvador","Syrian Arab Republic","Swaziland","Turks and Caicos Islands","Chad","French Southern Territories","Togo","Thailand",
203
+ "Tajikistan","Tokelau","Turkmenistan","Tunisia","Tonga","Timor-Leste","Turkey","Trinidad and Tobago","Tuvalu","Taiwan",
204
+ "Tanzania, United Republic of","Ukraine","Uganda","United States Minor Outlying Islands","United States","Uruguay","Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela",
205
+ "Virgin Islands, British","Virgin Islands, U.S.","Vietnam","Vanuatu","Wallis and Futuna","Samoa","Yemen","Mayotte","Serbia","South Africa",
206
+ "Zambia","Montenegro","Zimbabwe","Anonymous Proxy","Satellite Provider","Other","Aland Islands","Guernsey","Isle of Man","Jersey",
207
+ "Saint Barthelemy","Saint Martin", "Bonaire, Saint Eustatius and Saba",
208
+ "South Sudan", "Other"
209
);
210
211
+ var $GEOIP_CONTINENT_CODES = array(
212
+ "--", "AS","EU","EU","AS","AS","NA","NA","EU","AS","NA",
213
+ "AF","AN","SA","OC","EU","OC","NA","AS","EU","NA",
214
+ "AS","EU","AF","EU","AS","AF","AF","NA","AS","SA",
215
+ "SA","NA","AS","AN","AF","EU","NA","NA","AS","AF",
216
+ "AF","AF","EU","AF","OC","SA","AF","AS","SA","NA",
217
+ "NA","AF","AS","AS","EU","EU","AF","EU","NA","NA",
218
+ "AF","SA","EU","AF","AF","AF","EU","AF","EU","OC",
219
+ "SA","OC","EU","EU","NA","AF","EU","NA","AS","SA",
220
+ "AF","EU","NA","AF","AF","NA","AF","EU","AN","NA",
221
+ "OC","AF","SA","AS","AN","NA","EU","NA","EU","AS",
222
+ "EU","AS","AS","AS","AS","AS","EU","EU","NA","AS",
223
+ "AS","AF","AS","AS","OC","AF","NA","AS","AS","AS",
224
+ "NA","AS","AS","AS","NA","EU","AS","AF","AF","EU",
225
+ "EU","EU","AF","AF","EU","EU","AF","OC","EU","AF",
226
+ "AS","AS","AS","OC","NA","AF","NA","EU","AF","AS",
227
+ "AF","NA","AS","AF","AF","OC","AF","OC","AF","NA",
228
+ "EU","EU","AS","OC","OC","OC","AS","NA","SA","OC",
229
+ "OC","AS","AS","EU","NA","OC","NA","AS","EU","OC",
230
+ "SA","AS","AF","EU","EU","AF","AS","OC","AF","AF",
231
+ "EU","AS","AF","EU","EU","EU","AF","EU","AF","AF",
232
+ "SA","AF","NA","AS","AF","NA","AF","AN","AF","AS",
233
+ "AS","OC","AS","AF","OC","AS","EU","NA","OC","AS",
234
+ "AF","EU","AF","OC","NA","SA","AS","EU","NA","SA",
235
+ "NA","NA","AS","OC","OC","OC","AS","AF","EU","AF",
236
+ "AF","EU","AF","--","--","--","EU","EU","EU","EU",
237
+ "NA","NA","NA", "AF", "--"
238
+ );
239
+
240
+ }
241
function cpd_geoip_load_shared_mem ($file) {
242
243
$fp = fopen($file, "rb");
256
shmop_close ($shmid);
257
}
258
259
+ function _cpd_setup_segments($gi){
260
$gi->databaseType = GEOIP_COUNTRY_EDITION;
261
$gi->record_length = STANDARD_RECORD_LENGTH;
262
if ($gi->flags & GEOIP_SHARED_MEMORY) {
275
} else if (($gi->databaseType == GEOIP_CITY_EDITION_REV0)||
276
($gi->databaseType == GEOIP_CITY_EDITION_REV1)
277
|| ($gi->databaseType == GEOIP_ORG_EDITION)
278
+ || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
279
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
280
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
281
|| ($gi->databaseType == GEOIP_ISP_EDITION)
282
+ || ($gi->databaseType == GEOIP_ISP_EDITION_V6)
283
+ || ($gi->databaseType == GEOIP_USERTYPE_EDITION)
284
+ || ($gi->databaseType == GEOIP_USERTYPE_EDITION_V6)
285
+ || ($gi->databaseType == GEOIP_LOCATIONA_EDITION)
286
+ || ($gi->databaseType == GEOIP_ACCURACYRADIUS_EDITION)
287
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
288
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
289
+ || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1)
290
+ || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1_V6)
291
+ || ($gi->databaseType == GEOIP_ASNUM_EDITION)
292
+ || ($gi->databaseType == GEOIP_ASNUM_EDITION_V6)){
293
$gi->databaseSegments = 0;
294
$buf = @shmop_read ($gi->shmid, $offset, SEGMENT_RECORD_LENGTH);
295
for ($j = 0;$j < SEGMENT_RECORD_LENGTH;$j++){
296
$gi->databaseSegments += (ord($buf[$j]) << ($j * 8));
297
}
298
+ if (($gi->databaseType == GEOIP_ORG_EDITION)
299
+ || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
300
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
301
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
302
+ || ($gi->databaseType == GEOIP_ISP_EDITION)
303
+ || ($gi->databaseType == GEOIP_ISP_EDITION_V6)) {
304
$gi->record_length = ORG_RECORD_LENGTH;
305
}
306
}
310
}
311
}
312
if (($gi->databaseType == GEOIP_COUNTRY_EDITION)||
313
+ ($gi->databaseType == GEOIP_COUNTRY_EDITION_V6)||
314
($gi->databaseType == GEOIP_PROXY_EDITION)||
315
($gi->databaseType == GEOIP_NETSPEED_EDITION)){
316
$gi->databaseSegments = GEOIP_COUNTRY_BEGIN;
327
}
328
else if ($gi->databaseType == GEOIP_REGION_EDITION_REV1){
329
$gi->databaseSegments = GEOIP_STATE_BEGIN_REV1;
330
+ } else if (($gi->databaseType == GEOIP_CITY_EDITION_REV0)
331
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV1)
332
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
333
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
334
+ || ($gi->databaseType == GEOIP_ORG_EDITION)
335
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION)
336
+ || ($gi->databaseType == GEOIP_ISP_EDITION)
337
+ || ($gi->databaseType == GEOIP_ORG_EDITION_V6)
338
+ || ($gi->databaseType == GEOIP_DOMAIN_EDITION_V6)
339
+ || ($gi->databaseType == GEOIP_ISP_EDITION_V6)
340
+ || ($gi->databaseType == GEOIP_LOCATIONA_EDITION)
341
+ || ($gi->databaseType == GEOIP_ACCURACYRADIUS_EDITION)
342
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV0_V6)
343
+ || ($gi->databaseType == GEOIP_CITY_EDITION_REV1_V6)
344
+ || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1)
345
+ || ($gi->databaseType == GEOIP_NETSPEED_EDITION_REV1_V6)
346
+ || ($gi->databaseType == GEOIP_USERTYPE_EDITION)
347
+ || ($gi->databaseType == GEOIP_USERTYPE_EDITION_V6)
348
+ || ($gi->databaseType == GEOIP_ASNUM_EDITION)
349
+ || ($gi->databaseType == GEOIP_ASNUM_EDITION_V6)){
350
$gi->databaseSegments = 0;
351
$buf = fread($gi->filehandle,SEGMENT_RECORD_LENGTH);
352
for ($j = 0;$j < SEGMENT_RECORD_LENGTH;$j++){
353
$gi->databaseSegments += (ord($buf[$j]) << ($j * 8));
354
}
355
+ if ( ( $gi->databaseType == GEOIP_ORG_EDITION )
356
+ || ( $gi->databaseType == GEOIP_DOMAIN_EDITION )
357
+ || ( $gi->databaseType == GEOIP_ISP_EDITION )
358
+ || ( $gi->databaseType == GEOIP_ORG_EDITION_V6 )
359
+ || ( $gi->databaseType == GEOIP_DOMAIN_EDITION_V6 )
360
+ || ( $gi->databaseType == GEOIP_ISP_EDITION_V6 )) {
361
$gi->record_length = ORG_RECORD_LENGTH;
362
}
363
}
367
}
368
}
369
if (($gi->databaseType == GEOIP_COUNTRY_EDITION)||
370
+ ($gi->databaseType == GEOIP_COUNTRY_EDITION_V6)||
371
($gi->databaseType == GEOIP_PROXY_EDITION)||
372
($gi->databaseType == GEOIP_NETSPEED_EDITION)){
373
$gi->databaseSegments = GEOIP_COUNTRY_BEGIN;
378
}
379
380
function cpd_geoip_open($filename, $flags) {
381
+ $gi = new GeoIPCpd;
382
$gi->flags = $flags;
383
if ($gi->flags & GEOIP_SHARED_MEMORY) {
384
$gi->shmid = @shmop_open (GEOIP_SHM_KEY, "a", 0, 0);
390
}
391
}
392
393
+ $gi = _cpd_setup_segments($gi);
394
return $gi;
395
}
396
402
return fclose($gi->filehandle);
403
}
404
405
+ function cpd_geoip_country_id_by_name_v6($gi, $name) {
406
+ $rec = dns_get_record($name, DNS_AAAA);
407
+ if ( !$rec ) {
408
+ return false;
409
+ }
410
+ $addr = $rec[0]["ipv6"];
411
+ if (!$addr || $addr == $name) {
412
+ return false;
413
+ }
414
+ return cpd_geoip_country_id_by_addr_v6($gi, $addr);
415
+ }
416
+
417
function cpd_geoip_country_id_by_name($gi, $name) {
418
$addr = gethostbyname($name);
419
if (!$addr || $addr == $name) {
422
return cpd_geoip_country_id_by_addr($gi, $addr);
423
}
424
425
+ function cpd_geoip_country_code_by_name_v6($gi, $name) {
426
+ $country_id = cpd_geoip_country_id_by_name_v6($gi,$name);
427
+ if ($country_id !== false) {
428
+ return $gi->GEOIP_COUNTRY_CODES[$country_id];
429
+ }
430
+ return false;
431
+ }
432
+
433
function cpd_geoip_country_code_by_name($gi, $name) {
434
$country_id = cpd_geoip_country_id_by_name($gi,$name);
435
if ($country_id !== false) {
438
return false;
439
}
440
441
+ function cpd_geoip_country_name_by_name_v6($gi, $name) {
442
+ $country_id = cpd_geoip_country_id_by_name_v6($gi,$name);
443
+ if ($country_id !== false) {
444
+ return $gi->GEOIP_COUNTRY_NAMES[$country_id];
445
+ }
446
+ return false;
447
+ }
448
+
449
function cpd_geoip_country_name_by_name($gi, $name) {
450
$country_id = cpd_geoip_country_id_by_name($gi,$name);
451
if ($country_id !== false) {
454
return false;
455
}
456
457
+ function cpd_geoip_country_id_by_addr_v6($gi, $addr) {
458
+ $ipnum = inet_pton($addr);
459
+ return _cpd_geoip_seek_country_v6($gi, $ipnum) - GEOIP_COUNTRY_BEGIN;
460
+ }
461
+
462
function cpd_geoip_country_id_by_addr($gi, $addr) {
463
$ipnum = ip2long($addr);
464
+ return _cpd_geoip_seek_country($gi, $ipnum) - GEOIP_COUNTRY_BEGIN;
465
+ }
466
+
467
+ function cpd_geoip_country_code_by_addr_v6($gi, $addr) {
468
+ $country_id = cpd_geoip_country_id_by_addr_v6($gi,$addr);
469
+ if ($country_id !== false) {
470
+ return $gi->GEOIP_COUNTRY_CODES[$country_id];
471
+ }
472
+ return false;
473
}
474
475
function cpd_geoip_country_code_by_addr($gi, $addr) {
487
return false;
488
}
489
490
+ function cpd_geoip_country_name_by_addr_v6($gi, $addr) {
491
+ $country_id = cpd_geoip_country_id_by_addr_v6($gi,$addr);
492
+ if ($country_id !== false) {
493
+ return $gi->GEOIP_COUNTRY_NAMES[$country_id];
494
+ }
495
+ return false;
496
+ }
497
+
498
function cpd_geoip_country_name_by_addr($gi, $addr) {
499
if ($gi->databaseType == GEOIP_CITY_EDITION_REV1) {
500
$record = cpd_geoip_record_by_addr($gi,$addr);
508
return false;
509
}
510
511
+ function _cpd_geoip_seek_country_v6($gi, $ipnum) {
512
+
513
+ # arrays from unpack start with offset 1
514
+ # yet another php mystery. array_merge work around
515
+ # this broken behaviour
516
+ if (strlen($ipnum) === 4) // IPv4
517
+ $v6vec = array_pad(unpack( "C4", $ipnum), -16, 0);
518
+ else
519
+ $v6vec = array_merge(unpack( "C16", $ipnum));
520
+
521
+ $offset = 0;
522
+ for ($depth = 127; $depth >= 0; --$depth) {
523
+ if ($gi->flags & GEOIP_MEMORY_CACHE) {
524
+ // workaround php's broken substr, strpos, etc handling with
525
+ // mbstring.func_overload and mbstring.internal_encoding
526
+ $enc = mb_internal_encoding();
527
+ mb_internal_encoding('ISO-8859-1');
528
+
529
+ $buf = substr($gi->memory_buffer,
530
+ 2 * $gi->record_length * $offset,
531
+ 2 * $gi->record_length);
532
+
533
+ mb_internal_encoding($enc);
534
+ } elseif ($gi->flags & GEOIP_SHARED_MEMORY) {
535
+ $buf = @shmop_read ($gi->shmid,
536
+ 2 * $gi->record_length * $offset,
537
+ 2 * $gi->record_length );
538
+ } else {
539
+ fseek($gi->filehandle, 2 * $gi->record_length * $offset, SEEK_SET) == 0
540
+ or die("fseek failed");
541
+ $buf = fread($gi->filehandle, 2 * $gi->record_length);
542
+ }
543
+ $x = array(0,0);
544
+ for ($i = 0; $i < 2; ++$i) {
545
+ for ($j = 0; $j < $gi->record_length; ++$j) {
546
+ $x[$i] += ord($buf[$gi->record_length * $i + $j]) << ($j * 8);
547
+ }
548
+ }
549
+
550
+ $bnum = 127 - $depth;
551
+ $idx = $bnum >> 3;
552
+ $b_mask = 1 << ( $bnum & 7 ^ 7 );
553
+ if (($v6vec[$idx] & $b_mask) > 0) {
554
+ if ($x[1] >= $gi->databaseSegments) {
555
+ return $x[1];
556
+ }
557
+ $offset = $x[1];
558
+ } else {
559
+ if ($x[0] >= $gi->databaseSegments) {
560
+ return $x[0];
561
+ }
562
+ $offset = $x[0];
563
+ }
564
+ }
565
+ trigger_error("error traversing database - perhaps it is corrupt?", E_USER_ERROR);
566
+ return false;
567
+ }
568
+
569
+ function _cpd_geoip_seek_country($gi, $ipnum) {
570
$offset = 0;
571
for ($depth = 31; $depth >= 0; --$depth) {
572
if ($gi->flags & GEOIP_MEMORY_CACHE) {
573
+ // workaround php's broken substr, strpos, etc handling with
574
+ // mbstring.func_overload and mbstring.internal_encoding
575
+ $enc = mb_internal_encoding();
576
+ mb_internal_encoding('ISO-8859-1');
577
+
578
$buf = substr($gi->memory_buffer,
579
2 * $gi->record_length * $offset,
580
2 * $gi->record_length);
581
+
582
+ mb_internal_encoding($enc);
583
+ } elseif ($gi->flags & GEOIP_SHARED_MEMORY) {
584
$buf = @shmop_read ($gi->shmid,
585
2 * $gi->record_length * $offset,
586
2 * $gi->record_length );
611
return false;
612
}
613
614
+ function _cpd_common_get_org($gi, $seek_org){
615
+ $record_pointer = $seek_org + (2 * $gi->record_length - 1) * $gi->databaseSegments;
616
+ if ($gi->flags & GEOIP_SHARED_MEMORY) {
617
+ $org_buf = @shmop_read ($gi->shmid, $record_pointer, MAX_ORG_RECORD_LENGTH);
618
+ } else {
619
+ fseek($gi->filehandle, $record_pointer, SEEK_SET);
620
+ $org_buf = fread($gi->filehandle,MAX_ORG_RECORD_LENGTH);
621
+ }
622
+ // workaround php's broken substr, strpos, etc handling with
623
+ // mbstring.func_overload and mbstring.internal_encoding
624
+ $enc = mb_internal_encoding();
625
+ mb_internal_encoding('ISO-8859-1');
626
+ $org_buf = substr($org_buf, 0, strpos($org_buf, "\0"));
627
+ mb_internal_encoding($enc);
628
+ return $org_buf;
629
+ }
630
+
631
+ function _cpd_get_org_v6($gi,$ipnum){
632
+ $seek_org = _cpd_geoip_seek_country_v6($gi,$ipnum);
633
+ if ($seek_org == $gi->databaseSegments) {
634
+ return NULL;
635
+ }
636
+ return _cpd_common_get_org($gi, $seek_org);
637
+ }
638
+
639
+ function _cpd_get_org($gi,$ipnum){
640
+ $seek_org = _cpd_geoip_seek_country($gi,$ipnum);
641
+ if ($seek_org == $gi->databaseSegments) {
642
+ return NULL;
643
+ }
644
+ return _cpd_common_get_org($gi, $seek_org);
645
+ }
646
+
647
+
648
+
649
+ function cpd_geoip_name_by_addr_v6 ($gi,$addr) {
650
+ if ($addr == NULL) {
651
+ return 0;
652
+ }
653
+ $ipnum = inet_pton($addr);
654
+ return _cpd_get_org_v6($gi, $ipnum);
655
+ }
656
+
657
+ function cpd_geoip_name_by_addr ($gi,$addr) {
658
+ if ($addr == NULL) {
659
+ return 0;
660
+ }
661
+ $ipnum = ip2long($addr);
662
+ return _cpd_get_org($gi, $ipnum);
663
+ }
664
+
665
+ function cpd_geoip_org_by_addr ($gi,$addr) {
666
+ return cpd_geoip_name_by_addr($gi, $addr);
667
+ }
668
+
669
+ function _cpd_get_region($gi,$ipnum){
670
+ if ($gi->databaseType == GEOIP_REGION_EDITION_REV0){
671
+ $seek_region = _cpd_geoip_seek_country($gi,$ipnum) - GEOIP_STATE_BEGIN_REV0;
672
+ if ($seek_region >= 1000){
673
+ $country_code = "US";
674
+ $region = chr(($seek_region - 1000)/26 + 65) . chr(($seek_region - 1000)%26 + 65);
675
+ } else {
676
+ $country_code = $gi->GEOIP_COUNTRY_CODES[$seek_region];
677
+ $region = "";
678
+ }
679
+ return array ($country_code,$region);
680
+ } else if ($gi->databaseType == GEOIP_REGION_EDITION_REV1) {
681
+ $seek_region = _cpd_geoip_seek_country($gi,$ipnum) - GEOIP_STATE_BEGIN_REV1;
682
+ //print $seek_region;
683
+ if ($seek_region < US_OFFSET){
684
+ $country_code = "";
685
+ $region = "";
686
+ } else if ($seek_region < CANADA_OFFSET) {
687
+ $country_code = "US";
688
+ $region = chr(($seek_region - US_OFFSET)/26 + 65) . chr(($seek_region - US_OFFSET)%26 + 65);
689
+ } else if ($seek_region < WORLD_OFFSET) {
690
+ $country_code = "CA";
691
+ $region = chr(($seek_region - CANADA_OFFSET)/26 + 65) . chr(($seek_region - CANADA_OFFSET)%26 + 65);
692
+ } else {
693
+ $country_code = $gi->GEOIP_COUNTRY_CODES[($seek_region - WORLD_OFFSET) / FIPS_RANGE];
694
+ $region = "";
695
+ }
696
+ return array ($country_code,$region);
697
+ }
698
+ }
699
+
700
+ function cpd_geoip_region_by_addr ($gi,$addr) {
701
+ if ($addr == NULL) {
702
+ return 0;
703
+ }
704
+ $ipnum = ip2long($addr);
705
+ return _cpd_get_region($gi, $ipnum);
706
+ }
707
+
708
+ function cpd_getdnsattributes ($l,$ip){
709
+ $r = new Net_DNS_Resolver();
710
+ $r->nameservers = array("ws1.maxmind.com");
711
+ $p = $r->search($l."." . $ip .".s.maxmind.com","TXT","IN");
712
+ $str = is_object($p->answer[0])?$p->answer[0]->string():'';
713
+ $str = substr( $str, 1, -1 );
714
+ return $str;
715
+ }
716
+
717
+ // Windows server < PHP 5.3
718
+ if ( !function_exists('inet_pton') )
719
+ {
720
+ function inet_pton($ip)
721
+ {
722
+ # ipv4
723
+ if (strpos($ip, '.') !== FALSE)
724
+ {
725
+ if (strpos($ip, ':') === FALSE)
726
+ $ip = pack('N',ip2long($ip));
727
+ else
728
+ {
729
+ $ip = explode(':',$ip);
730
+ $ip = pack('N',ip2long($ip[count($ip)-1]));
731
+ }
732
+ }
733
+ # ipv6
734
+ elseif (strpos($ip, ':') !== FALSE)
735
+ {
736
+ $ip = explode(':', $ip);
737
+ $parts=8-count($ip);
738
+ $res='';$replaced=0;
739
+ foreach ($ip as $seg)
740
+ {
741
+ if ($seg!='')
742
+ $res .= str_pad($seg, 4, '0', STR_PAD_LEFT);
743
+ elseif ($replaced==0)
744
+ {
745
+ for ($i=0;$i<=$parts;$i++)
746
+ $res.='0000';
747
+ $replaced=1;
748
+ } elseif ($replaced==1)
749
+ $res.='0000';
750
+ }
751
+ $ip = pack('H'.strlen($res), $res);
752
+ }
753
+ return $ip;
754
+ }
755
+ }
locale/cpd-ro_RO.po CHANGED
@@ -959,4 +959,3 @@ msgstr "Cele mai vizitate de zi"
959
#: counter.php:1239
960
msgid "drag and drop to sort"
961
msgstr "Glisaţi şi fixaţi pentru a sorta"
962
-
959
#: counter.php:1239
960
msgid "drag and drop to sort"
961
msgstr "Glisaţi şi fixaţi pentru a sorta"
locale/cpd-sr_RS.po CHANGED
@@ -1,1119 +1,1119 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Count Per Day\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2008-11-02 12:13+0100\n"
6
- "PO-Revision-Date: 2013-04-13 12:52+0100\n"
7
- "Last-Translator: Diana <diana@wpdiscounts.com>\n"
8
- "Language-Team: \n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
13
- "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
14
- "X-Poedit-SourceCharset: UTF-8\n"
15
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
16
- "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
17
- "X-Poedit-Basepath: P:/xampp/htdocs/wp/wp-content/plugins/count-per-day\n"
18
- "X-Textdomain-Support: yes\n"
19
- "Language: sr_RS\n"
20
- "X-Generator: Poedit 1.5.5\n"
21
- "X-Poedit-SearchPath-0: .\n"
22
-
23
- # @ cpd
24
- #: Copy of counter-options.php:50 counter-options.php:52
25
- msgid "Options updated"
26
- msgstr "Opcije azurirane "
27
-
28
- # @ cpd
29
- #: Copy of counter-options.php:111 counter-options.php:113
30
- #, php-format
31
- msgid "Database cleaned. %s rows deleted."
32
- msgstr "Baza podataka ociscena. %s redova izbrisano"
33
-
34
- # @ cpd
35
- #: Copy of counter-options.php:126 counter-options.php:839
36
- #: counter-options.php:128 counter-options.php:693
37
- msgid "UNINSTALL Count per Day"
38
- msgstr "DEINSTALIRANJE broj po danu"
39
-
40
- # @ cpd
41
- #: Copy of counter-options.php:131 counter-options.php:132
42
- #: counter-options.php:133 counter-options.php:134 counter-options.php:135
43
- #, php-format
44
- msgid "Table %s deleted"
45
- msgstr "Tabla %s izbrisana"
46
-
47
- # @ cpd
48
- #: Copy of counter-options.php:134 counter-options.php:136
49
- msgid "Options deleted"
50
- msgstr "Opcije izbrisane"
51
-
52
- # @ cpd
53
- #: Copy of counter-options.php:321 counter-options.php:825
54
- #: counter-options.php:362 counter-options.php:679
55
- msgid "Uninstall"
56
- msgstr "Deinstalirati"
57
-
58
- # @ cpd
59
- #: Copy of counter-options.php:322 counter-options.php:363
60
- msgid "Click here"
61
- msgstr "Kliknite ovde"
62
-
63
- # @ cpd
64
- #: Copy of counter-options.php:322 counter-options.php:363
65
- msgid "to finish the uninstall and to deactivate \"Count per Day\"."
66
- msgstr "Da bi zavrsili deinstaliranje i aktivirali \"Brojanje po danu\"."
67
-
68
- # @ cpd
69
- #: Copy of counter-options.php:359 counter-options.php:726
70
- msgid "Online time"
71
- msgstr "Vreme online"
72
-
73
- # @ cpd
74
- #: Copy of counter-options.php:360 counter-options.php:727
75
- msgid ""
76
- "Seconds for online counter. Used for \"Visitors online\" on dashboard page."
77
- msgstr ""
78
- "Sekunde online kauntera. Koricseno za \"Posetioci online\" na strani "
79
- "kontrolna tabla "
80
-
81
- # @ cpd
82
- #: Copy of counter-options.php:363 counter-options.php:730
83
- msgid "Logged on Users"
84
- msgstr "Ulogovani korisnici"
85
-
86
- # @ cpd
87
- #: Copy of counter-options.php:365 counter-options.php:732
88
- msgid "count too"
89
- msgstr "Brojanje takodje"
90
-
91
- # @ cpd
92
- #: Copy of counter-options.php:377 counter-options.php:744
93
- msgid "Auto counter"
94
- msgstr "Auto brojanje"
95
-
96
- # @ cpd
97
- #: Copy of counter-options.php:378 counter-options.php:745
98
- msgid ""
99
- "Counts automatically single-posts and pages, no changes on template needed."
100
- msgstr ""
101
- "Broji automatski samostalne postove i stranice, nisu potrebne izmene sablona"
102
-
103
- # @ cpd
104
- #: Copy of counter-options.php:381 counter-options.php:748
105
- msgid "Bots to ignore"
106
- msgstr "Botovi za ignorisanje"
107
-
108
- # @ cpd
109
- #: Copy of counter-options.php:559 counter-options.php:926
110
- msgid "Update options"
111
- msgstr "Azuriraj opcije "
112
-
113
- # @ cpd
114
- #: Copy of counter-options.php:685 counter-options.php:694
115
- #: counter-options.php:540 counter-options.php:548
116
- msgid "Clean the database"
117
- msgstr "Ocisti bazu podataka"
118
-
119
- # @ cpd
120
- #: Copy of counter-options.php:688 counter-options.php:543
121
- msgid ""
122
- "You can clean the counter table by delete the \"spam data\".<br />If you add "
123
- "new bots above the old \"spam data\" keeps in the database.<br />Here you "
124
- "can run the bot filter again and delete the visits of the bots."
125
- msgstr ""
126
- "Mozete izbrisati tablu brojaca brisanjem e \"spam data\".<br />Ukoliko "
127
- "dodate nove botoce izned starih \"spam data\" se zadrzava u bazi podataka. "
128
- "<br /> Ovde mozete pokrenuti bot filter ponovo i izbrisati posete botova"
129
-
130
- # @ cpd
131
- #: Copy of counter-options.php:828 counter-options.php:682
132
- msgid ""
133
- "If \"Count per Day\" only disabled the tables in the database will be "
134
- "preserved."
135
- msgstr ""
136
- "Ukoliko \"Brojac po danu\" bude samo onesposobljen table u bazi podataka ce "
137
- "biti sacuvane "
138
-
139
- # @ cpd
140
- #: Copy of counter-options.php:829 counter-options.php:683
141
- msgid "Here you can delete the tables and disable \"Count per Day\"."
142
- msgstr "Ovde mozete izbrisati table i onesposobiti \"Brojac po danu\"."
143
-
144
- # @ cpd
145
- #: Copy of counter-options.php:832 counter-options.php:686
146
- msgid "WARNING"
147
- msgstr "UPOZORENJE"
148
-
149
- # @ cpd
150
- #: Copy of counter-options.php:833 counter-options.php:687
151
- msgid "These tables (with ALL counter data) will be deleted."
152
- msgstr "Ove table (sa svim podacima brojanja) bice izbrisane"
153
-
154
- # @ cpd
155
- #: Copy of counter-options.php:835 counter-options.php:689
156
- msgid "If \"Count per Day\" re-installed, the counter starts at 0."
157
- msgstr "Ako je \"brojac po danu\" reinstaliran, brojac pocinje od 0. "
158
-
159
- # @ cpd
160
- #: Copy of counter-options.php:815 counter-options.php:838
161
- #: counter-options.php:669 counter-options.php:692
162
- msgid "Yes"
163
- msgstr "Da"
164
-
165
- # @ cpd
166
- #: Copy of counter-options.php:839 counter-options.php:693
167
- msgid "You are sure to disable Count per Day and delete all data?"
168
- msgstr ""
169
- "Sigurni ste da zelite da onesposobiti Brojac po danu i izbrisete sve "
170
- "podatke? "
171
-
172
- # @ cpd
173
- #: counter-core.php:844 counter.php:1232
174
- msgid "Statistics"
175
- msgstr "Statistike "
176
-
177
- # @ cpd
178
- #: counter-core.php:812 counter.php:190 counter.php:1118 counter.php:1310
179
- msgid "Total visitors"
180
- msgstr "Ukupno poseta"
181
-
182
- # @ cpd
183
- #: counter.php:191 counter.php:1316
184
- msgid "Visitors currently online"
185
- msgstr "Posetioci trenutno online"
186
-
187
- # @ cpd
188
- #: counter.php:192 counter.php:1311
189
- msgid "Visitors today"
190
- msgstr "Posetioci danas"
191
-
192
- # @ cpd
193
- #: counter.php:193 counter.php:1312
194
- msgid "Visitors yesterday"
195
- msgstr "Posetioci juce"
196
-
197
- # @ cpd
198
- #: counter.php:194 counter.php:1313
199
- msgid "Visitors last week"
200
- msgstr "Posetioci prosle nedelje"
201
-
202
- # @ cpd
203
- #: counter.php:197 counter.php:877 counter.php:1317
204
- msgid "Counter starts on"
205
- msgstr "Projac pocinje"
206
-
207
- # @ cpd
208
- #: counter-core.php:818 counter.php:196 counter.php:295 counter.php:1120
209
- #: counter.php:1315 userperspan.php:34
210
- msgid "Visitors per day"
211
- msgstr "Posetioca po danu"
212
-
213
- # @ cpd
214
- #: counter-core.php:814 counter.php:1314
215
- msgid "Visitors per month"
216
- msgstr "Posetioca po mesecu "
217
-
218
- # @ cpd
219
- #: Copy of counter-options.php:441 counter-core.php:816
220
- #: counter-options.php:808
221
- msgid "Visitors per post"
222
- msgstr "Posetioca po postu "
223
-
224
- # @ cpd
225
- #: Copy of counter-options.php:121 counter-options.php:123
226
- msgid "Counter reseted."
227
- msgstr "Brojac resetovan "
228
-
229
- # @ cpd
230
- #: Copy of counter-options.php:442 counter-options.php:446
231
- #: counter-options.php:809 counter-options.php:813
232
- msgid "How many posts do you want to see on dashboard page?"
233
- msgstr "Koliko postova zelite da vidite na kontrolnoj tabli? "
234
-
235
- # @ cpd
236
- #: Copy of counter-options.php:445 counter-options.php:812
237
- msgid "Latest Counts - Posts"
238
- msgstr "Najnoviji brojaci - Postovi "
239
-
240
- # @ cpd
241
- #: Copy of counter-options.php:449 counter-options.php:816
242
- msgid "Latest Counts - Days"
243
- msgstr "Najnoviji brojaci - Dani"
244
-
245
- # @ cpd
246
- #: Copy of counter-options.php:450 counter-options.php:454
247
- #: counter-options.php:476 counter-options.php:817 counter-options.php:821
248
- #: counter-options.php:843
249
- msgid "How many days do you want look back?"
250
- msgstr "Koliko dana unazad zelite da pogledate? "
251
-
252
- # @ cpd
253
- #: Copy of counter-options.php:490 counter-options.php:857
254
- msgid "Show in lists"
255
- msgstr "POkazi u listama"
256
-
257
- # @ cpd
258
- #: Copy of counter-options.php:491 counter-options.php:858
259
- msgid "Show \"Reads per Post\" in a new column in post management views."
260
- msgstr ""
261
- "Pokazi \"Citanja po Postu\" u novoj koloni u upravljanju pogleda posta"
262
-
263
- # @ cpd
264
- #: Copy of counter-options.php:806 counter-options.php:816
265
- #: counter-options.php:660 counter-options.php:670
266
- msgid "Reset the counter"
267
- msgstr "Resetuj brojac"
268
-
269
- # @ cpd
270
- #: Copy of counter-options.php:809 counter-options.php:663
271
- msgid ""
272
- "You can reset the counter by empty the table. ALL TO 0!<br />Make a backup "
273
- "if you need the current data!"
274
- msgstr ""
275
- "Mozete resetovati brojac praznjenjem table. SVE ZA 0!<br /> Napravite "
276
- "rezervnu kopiju ukoliko vam trebaju trenutni podaci "
277
-
278
- # @ cpd
279
- #: counter.php:708
280
- #, php-format
281
- msgid "The %s most visited posts in last %s days:"
282
- msgstr "%s najposeceniji postovi u poslednjih %s dana"
283
-
284
- # @ default
285
- #: Copy of counter-options.php:346 counter-options.php:563
286
- #: counter-core.php:649 counter-options.php:386 counter-options.php:714
287
- msgid "Settings"
288
- msgstr "Podesavanja"
289
-
290
- # @ cpd
291
- #: Copy of counter-options.php:396 counter-core.php:714
292
- #: counter-options.php:763 counter.php:189 counter.php:927
293
- msgid "Reads"
294
- msgstr "Citanja"
295
-
296
- # @ cpd
297
- #: counter-core.php:817
298
- msgid "Latest Counts"
299
- msgstr "Poslednji brojaci "
300
-
301
- # @ cpd
302
- #: Copy of counter-options.php:453 counter-options.php:820
303
- msgid "Chart - Days"
304
- msgstr "Grafikon - Dani"
305
-
306
- # @ cpd
307
- #: Copy of counter-options.php:457 counter-options.php:824
308
- msgid "Chart - Height"
309
- msgstr "Grafikon - Visina"
310
-
311
- # @ cpd
312
- #: Copy of counter-options.php:458 counter-options.php:825
313
- msgid "Height of the biggest bar"
314
- msgstr "Visina najviseg bara"
315
-
316
- # @ cpd
317
- #: counter.php:1304
318
- msgid "This post"
319
- msgstr "Ovaj post"
320
-
321
- # @ default
322
- #: Copy of counter-options.php:406 counter-options.php:773
323
- msgid "Dashboard"
324
- msgstr "KOntrolna tabla"
325
-
326
- # @ cpd
327
- #: counter.php:294
328
- msgid "Reads per day"
329
- msgstr "Citanja po danu "
330
-
331
- # @ cpd
332
- #: Copy of counter-options.php:61 counter-options.php:63
333
- #, php-format
334
- msgid "Countries updated. <b>%s</b> entries in %s without country left"
335
- msgstr "Zemlje azurirane. <b>%s</b> unosa u %s bez ostale zemlje "
336
-
337
- # @ cpd
338
- #: Copy of counter-options.php:64 counter-options.php:66
339
- msgid "update next"
340
- msgstr "Azuriraj sledece"
341
-
342
- # @ cpd
343
- #: Copy of counter-options.php:756 counter-options.php:610
344
- msgid "GeoIP - Countries"
345
- msgstr "GeoIP - Zemlje "
346
-
347
- # @ cpd
348
- #: Copy of counter-options.php:765 counter-options.php:619
349
- msgid "Update old counter data"
350
- msgstr "Azuriraj stare podatke brojaca"
351
-
352
- # @ cpd
353
- #: Copy of counter-options.php:777 counter-options.php:631
354
- msgid "Update GeoIP database"
355
- msgstr "Azuriraj GeoIP bazu podataka"
356
-
357
- # @ cpd
358
- #: Copy of counter-options.php:772 counter-options.php:626
359
- msgid "Download a new version of GeoIP.dat file."
360
- msgstr "SKini novu verziju GeoIP.dat fajla"
361
-
362
- # @ cpd
363
- #: Copy of counter-options.php:782 counter-options.php:636
364
- msgid "More informations about GeoIP"
365
- msgstr "Vise informacija o GeoIP"
366
-
367
- # @ cpd
368
- #: counter-core.php:828
369
- msgid "Reads per Country"
370
- msgstr "Citanja po zemlji "
371
-
372
- # @ cpd
373
- #: geoip/geoip.php:114
374
- msgid "New GeoIP database installed."
375
- msgstr "Nova GeoIP baza podataka instalirana"
376
-
377
- # @ cpd
378
- #: geoip/geoip.php:116
379
- msgid ""
380
- "Sorry, an error occurred. Try again or check the access rights of directory "
381
- "\"geoip\" is 777."
382
- msgstr ""
383
- "Izvinite, doslo je do greske. Pokusajte ponovo ili proverite prava pristupa "
384
- "direktorijumu \"geoip\" je 777."
385
-
386
- # @ cpd
387
- #: geoip/geoip.php:90
388
- msgid "Sorry, necessary functions (zlib) not installed or enabled in php.ini."
389
- msgstr ""
390
- "Izvinite, neophodne funkcije (zlib) nisu instalirate ili omogucene u php.ini"
391
-
392
- # @ cpd
393
- #: Copy of counter-options.php:462 counter-options.php:829
394
- msgid "Countries"
395
- msgstr "Zemlje"
396
-
397
- # @ cpd
398
- #: Copy of counter-options.php:463 counter-options.php:830
399
- msgid "How many countries do you want to see on dashboard page?"
400
- msgstr "Koliko zemalja zelite da vidite na kontrolnoj tabli? "
401
-
402
- # @ cpd
403
- #: Copy of counter-options.php:104 counter-options.php:106
404
- #, php-format
405
- msgid "Mass Bots cleaned. %s counts deleted."
406
- msgstr "Mass Botoci ocisceni. %s zemlje izbrisane"
407
-
408
- # @ cpd
409
- #: Copy of counter-options.php:578 counter-options.php:402 massbots.php:36
410
- msgid "Mass Bots"
411
- msgstr "Mass botovi "
412
-
413
- # @ cpd
414
- #: Copy of counter-options.php:582 counter-options.php:406
415
- #, php-format
416
- msgid "Show all IPs with more than %s page views per day"
417
- msgstr "Pokazi sve IP sa vise od %s pogleda po danu "
418
-
419
- # @ cpd
420
- #: Copy of counter-options.php:583 counter-options.php:407 notes.php:71
421
- #: userperspan.php:44
422
- msgid "show"
423
- msgstr "pokazi "
424
-
425
- # @ cpd
426
- #: Copy of counter-options.php:609 counter-options.php:625
427
- #: counter-options.php:433 counter-options.php:449
428
- #, php-format
429
- msgid "Delete these %s counts"
430
- msgstr "Izbrisi ove %s brojace"
431
-
432
- # @ cpd
433
- #: counter.php:865
434
- msgid "Other"
435
- msgstr "druge"
436
-
437
- # @ default
438
- #: counter.php:1054 massbots.php:53 userperspan.php:63
439
- msgid "Front page displays"
440
- msgstr "Displej naslovne stranice "
441
-
442
- # @ cpd
443
- #: Copy of counter-options.php:467 counter-core.php:823
444
- #: counter-options.php:834
445
- msgid "Browsers"
446
- msgstr "Pretrazivaci "
447
-
448
- # @ cpd
449
- #: Copy of counter-options.php:591 counter-options.php:415
450
- msgid "IP"
451
- msgstr "IP"
452
-
453
- # @ cpd
454
- # @ default
455
- #: Copy of counter-options.php:592 counter-options.php:416 notes.php:75
456
- msgid "Date"
457
- msgstr "Datum"
458
-
459
- # @ cpd
460
- #: Copy of counter-options.php:593 counter-options.php:417
461
- msgid "Client"
462
- msgstr "Klijent"
463
-
464
- # @ cpd
465
- #: Copy of counter-options.php:594 counter-options.php:418
466
- msgid "Views"
467
- msgstr "Pogledi "
468
-
469
- # @ cpd
470
- #: Copy of counter-options.php:498 counter-options.php:865
471
- msgid "Start Values"
472
- msgstr "Pocetne vrednosti "
473
-
474
- # @ cpd
475
- #: Copy of counter-options.php:502 counter-options.php:869
476
- msgid "Here you can change the date of first count and add a start count."
477
- msgstr "Ovde mozete promeniti datum prvog brojanja i dodati startno brojanje"
478
-
479
- # @ cpd
480
- #: Copy of counter-options.php:506 counter-options.php:873
481
- msgid "Start date"
482
- msgstr "Pocetni datum"
483
-
484
- # @ cpd
485
- #: Copy of counter-options.php:507 counter-options.php:874
486
- msgid "Your old Counter starts at?"
487
- msgstr "Vas stari brojac pocinje na? "
488
-
489
- # @ cpd
490
- #: Copy of counter-options.php:510 counter-options.php:514
491
- #: counter-options.php:877 counter-options.php:881
492
- msgid "Start count"
493
- msgstr "Pocni brojanje"
494
-
495
- # @ cpd
496
- #: Copy of counter-options.php:511 counter-options.php:878
497
- msgid "Add this value to \"Total visitors\"."
498
- msgstr "Dodaj ovu vrednost u \"Ukupni posetioci\""
499
-
500
- # @ cpd
501
- #: Copy of counter-options.php:743 counter-options.php:701
502
- msgid "Support"
503
- msgstr "Podrska"
504
-
505
- # @ cpd
506
- #: counter-core.php:778
507
- msgid "Bug? Problem? Question? Hint? Praise?"
508
- msgstr "Bag? Problem? Pitanje? Savet? Pohvala?"
509
-
510
- # @ cpd
511
- #: counter-core.php:779
512
- #, php-format
513
- msgid "Write a comment on the <a href=\"%s\">plugin page</a>."
514
- msgstr "Napisite komentar o <a href=\"%s\">plagin strana</a>."
515
-
516
- # @ default
517
- #: counter.php:824
518
- msgid "Show"
519
- msgstr "Pokazi "
520
-
521
- # @ default
522
- #: counter.php:1039
523
- msgid "Edit Post"
524
- msgstr "Izmeni postove "
525
-
526
- # @ cpd
527
- #: counter-core.php:777
528
- #, php-format
529
- msgid "Time for Count per Day: <code>%s</code>."
530
- msgstr "Vreme za brojac po danu: <code>%s</code>."
531
-
532
- # @ cpd
533
- #: Copy of counter-options.php:366 counter-options.php:733
534
- msgid "until User Level"
535
- msgstr "Jedinica nivoa korisnika "
536
-
537
- # @ default
538
- #: counter-core.php:820
539
- msgid "Plugin"
540
- msgstr "Plagin"
541
-
542
- # @ cpd
543
- #: counter.php:826 notes.php:42 notes.php:76
544
- msgid "Notes"
545
- msgstr "Beleske"
546
-
547
- # @ default
548
- #: notes.php:77
549
- msgid "Action"
550
- msgstr "Akcija"
551
-
552
- # @ cpd
553
- #: notes.php:82
554
- msgid "add"
555
- msgstr "Dodaj"
556
-
557
- # @ cpd
558
- #: notes.php:98
559
- msgid "save"
560
- msgstr "sacuvaj"
561
-
562
- # @ cpd
563
- #: notes.php:99
564
- msgid "delete"
565
- msgstr "izbrisi "
566
-
567
- # @ cpd
568
- #: notes.php:110
569
- msgid "edit"
570
- msgstr "izmeni"
571
-
572
- # @ cpd
573
- #: Copy of counter-options.php:515 counter-options.php:882
574
- msgid "Add this value to \"Total reads\"."
575
- msgstr "Dodaj ovu vrednost u \"Ukupni pregledi\"."
576
-
577
- # @ cpd
578
- #: counter.php:185 counter.php:1305
579
- msgid "Total reads"
580
- msgstr "Ukupni pregledi "
581
-
582
- # @ cpd
583
- #: counter.php:186 counter.php:1306
584
- msgid "Reads today"
585
- msgstr "Pregledi danas"
586
-
587
- # @ cpd
588
- #: counter.php:187 counter.php:1307
589
- msgid "Reads yesterday"
590
- msgstr "Pregledi juce"
591
-
592
- # @ cpd
593
- #: counter.php:385 counter.php:1149
594
- msgid "Map"
595
- msgstr "Mapa"
596
-
597
- # @ cpd
598
- #: Copy of counter-options.php:385 counter-options.php:752
599
- msgid "Anonymous IP"
600
- msgstr "Anonimni IP"
601
-
602
- # @ cpd
603
- #: Copy of counter-options.php:389 counter-options.php:756
604
- msgid "Cache"
605
- msgstr "Kes"
606
-
607
- # @ cpd
608
- #: Copy of counter-options.php:390 counter-options.php:757
609
- msgid "I use a cache plugin. Count these visits with ajax."
610
- msgstr "Koristim plagin za kes. Prebroj ove posete uz pomoc ajaxa."
611
-
612
- # @ cpd
613
- #: Copy of counter-options.php:468 counter-options.php:835
614
- msgid "Substring of the user agent, separated by comma"
615
- msgstr "Podred agenta korisnika, razdvojen zapetom "
616
-
617
- # @ cpd
618
- #: counter-core.php:829
619
- msgid "Visitors per Country"
620
- msgstr "Posetioca po zemlji "
621
-
622
- # @ cpd
623
- #: Copy of counter-options.php:552 counter-options.php:919
624
- msgid "Debug mode"
625
- msgstr "Debug mod"
626
-
627
- # @ cpd
628
- #: Copy of counter-options.php:554 counter-options.php:921
629
- msgid "Show debug informations at the bottom of all pages."
630
- msgstr "Pokazi debug informacije na dnu ove strane "
631
-
632
- # @ cpd
633
- #: userperspan.php:38
634
- msgid "Start"
635
- msgstr "Start"
636
-
637
- # @ cpd
638
- #: userperspan.php:40
639
- msgid "End"
640
- msgstr "Kraj"
641
-
642
- # @ cpd
643
- #: userperspan.php:42
644
- msgid "PostID"
645
- msgstr "PostID "
646
-
647
- # @ cpd
648
- #: userperspan.php:50
649
- msgid "no data found"
650
- msgstr "Nema pronadjenih podataka"
651
-
652
- # @ cpd
653
- #: Copy of counter-options.php:759 counter-options.php:613
654
- msgid ""
655
- "You can get the country data for all entries in database by checking the IP "
656
- "adress against the GeoIP database. This can take a while!"
657
- msgstr ""
658
- "Mozete dobiti podatke o zemlji za sve unose u bazi podataka proveravanjem IP "
659
- "adrese iz GeoIP baze podataka. Ovo moze malo potrajati. "
660
-
661
- # @ cpd
662
- #: Copy of counter-options.php:355 counter-options.php:722
663
- msgid "Counter"
664
- msgstr "Brojac"
665
-
666
- # @ cpd
667
- #: Copy of counter-options.php:479 counter-options.php:846
668
- msgid "Local URLs"
669
- msgstr "Lokalno URL"
670
-
671
- # @ cpd
672
- #: Copy of counter-options.php:480 counter-options.php:847
673
- msgid "Show local referrers too."
674
- msgstr "Pokazi lokalne reference takodje"
675
-
676
- # @ default
677
- #: Copy of counter-options.php:487 counter-options.php:854
678
- msgid "Posts"
679
- msgstr "Postovi "
680
-
681
- # @ default
682
- #: Copy of counter-options.php:487 counter-options.php:854
683
- msgid "Pages"
684
- msgstr "Stranice"
685
-
686
- # @ default
687
- #: counter.php:1048
688
- msgid "Category"
689
- msgstr "Kategorije"
690
-
691
- # @ default
692
- #: counter.php:1051
693
- msgid "Tag"
694
- msgstr "Tagovi"
695
-
696
- # @ default
697
- #: counter-core.php:780
698
- msgid "License"
699
- msgstr "Dozvole "
700
-
701
- # @ cpd
702
- #: counter-core.php:824
703
- msgid "Referrer"
704
- msgstr "Reference "
705
-
706
- # @ default
707
- #: counter.php:1328
708
- msgid "Title"
709
- msgstr "Naslov"
710
-
711
- # @ cpd
712
- #: Copy of counter-options.php:396 counter-options.php:763
713
- msgid ""
714
- "Save and show clients and referrers.<br />Needs a lot of space in the "
715
- "database but gives you more detailed informations of your visitors."
716
- msgstr ""
717
- "Sacuvaj i pokazi klijente i reference. <br /> Treba puno mesta u bazi "
718
- "podataka ali dobijate mnogo detaljnije informacije o vasim posetiocima "
719
-
720
- # @ cpd
721
- #: Copy of counter-options.php:393 counter-options.php:760
722
- msgid "Clients and referrers"
723
- msgstr "Klijenti i reference"
724
-
725
- # @ cpd
726
- #: counter.php:188 counter.php:1308
727
- msgid "Reads last week"
728
- msgstr "Citanja prosle nedelje"
729
-
730
- # @ cpd
731
- #: counter-core.php:815 counter.php:1309
732
- msgid "Reads per month"
733
- msgstr "Citanja po mesecu "
734
-
735
- # @ cpd
736
- #: Copy of counter-options.php:471 counter-options.php:838
737
- msgid "Referrers - Entries"
738
- msgstr "Reference - unosi"
739
-
740
- # @ cpd
741
- #: Copy of counter-options.php:472 counter-options.php:839
742
- msgid "How many referrers do you want to see on dashboard page?"
743
- msgstr "Koliko referenci zelite videti na kontrolnoj tabli?"
744
-
745
- # @ cpd
746
- #: Copy of counter-options.php:475 counter-options.php:842
747
- msgid "Referrers - Days"
748
- msgstr "Reference - Dani "
749
-
750
- # @ cpd
751
- #: counter.php:897
752
- #, php-format
753
- msgid "The %s referrers in last %s days:"
754
- msgstr "%s reference u zadnjih %s dana "
755
-
756
- # @ cpd
757
- #: counter-core.php:813
758
- msgid "Visitors online"
759
- msgstr "Posetioci online"
760
-
761
- # @ cpd
762
- #: Copy of counter-options.php:522 counter-options.php:889
763
- msgid "Stylesheet"
764
- msgstr "Stil prikaza"
765
-
766
- # @ cpd
767
- #: Copy of counter-options.php:525 counter-options.php:892
768
- msgid "NO Stylesheet in Frontend"
769
- msgstr "Nema stila prikaza u Frontendu"
770
-
771
- # @ cpd
772
- #: Copy of counter-options.php:526 counter-options.php:893
773
- msgid "Do not load the stylesheet \"counter.css\" in frontend."
774
- msgstr "nemojte ucitavati stil prikaza \"counter.css\" u frontendu "
775
-
776
- # @ cpd
777
- #: Copy of counter-options.php:422 counter-options.php:789
778
- msgid "Who can see it"
779
- msgstr "Ko moze videti "
780
-
781
- # @ cpd
782
- #: Copy of counter-options.php:431 counter-options.php:798
783
- msgid "custom"
784
- msgstr "prilagodjen"
785
-
786
- # @ cpd
787
- #: Copy of counter-options.php:433 counter-options.php:800
788
- msgid "and higher are allowed to see the statistics page."
789
- msgstr "i vise mogu videti stranicu sa statistikama"
790
-
791
- # @ cpd
792
- #: Copy of counter-options.php:435 counter-options.php:802
793
- #, php-format
794
- msgid "Set the %s capability %s a user need:"
795
- msgstr "Podesi %s sposobnost %s posetiocu treba:"
796
-
797
- # @ cpd
798
- #: counter-core.php:252
799
- #, php-format
800
- msgid "\"Count per Day\" updated to version %s."
801
- msgstr "\"brojac po danu\" azuriran na verziju %s"
802
-
803
- # @ cpd
804
- #: counter-core.php:1016
805
- msgid "Backup failed! Cannot open file"
806
- msgstr "Bekap neuspesan! Ne mogu otvoriti fajl"
807
-
808
- # @ cpd
809
- #: counter-core.php:1042
810
- #, php-format
811
- msgid "Backup of %s entries in progress. Every point complies %s entries."
812
- msgstr "Bekap %s unosa je u toku. Svaka tacka oznacava %s unos"
813
-
814
- # @ cpd
815
- #: counter-core.php:1133 counter-core.php:1141
816
- #, php-format
817
- msgid "Backup of counter table saved in %s."
818
- msgstr "Bekap table brojaca sacuvan na %s"
819
-
820
- # @ cpd
821
- #: counter-core.php:1135 counter-core.php:1143
822
- #, php-format
823
- msgid "Backup of counter options and collection saved in %s."
824
- msgstr "Bekap opcija brojaca i kolekcije sacuvan na %s."
825
-
826
- # @ cpd
827
- #: Copy of counter-options.php:169
828
- msgid "Collection in progress..."
829
- msgstr "Kolekcija u toku..."
830
-
831
- # @ cpd
832
- #: Copy of counter-options.php:245 counter-options.php:263
833
- msgid "Get Visitors per Post..."
834
- msgstr "Dobijte posetioce po postu"
835
-
836
- # @ cpd
837
- #: Copy of counter-options.php:266 counter-options.php:284
838
- msgid "Delete old data..."
839
- msgstr "Izbirsi stare podatke"
840
-
841
- # @ cpd
842
- #: Copy of counter-options.php:290 counter-options.php:308
843
- #, php-format
844
- msgid ""
845
- "Counter entries until %s collected and counter table %s optimized (size "
846
- "before = %s &gt; size after = %s)."
847
- msgstr ""
848
- "Unosi brojaca do %s sakupljeni i tabla brojaca %s optimizirana (velicina "
849
- "pre = %s &gt; velicina posle= %s)."
850
-
851
- # @ cpd
852
- #: Copy of counter-options.php:299 counter-options.php:317
853
- msgid "Installation of \"Count per Day\" checked"
854
- msgstr "Instalacija \"Brojac po Danu\" proverena"
855
-
856
- # @ default
857
- #: Copy of counter-options.php:347 counter-options.php:564
858
- #: counter-options.php:385 counter-options.php:713
859
- msgid "Tools"
860
- msgstr "Alati"
861
-
862
- # @ cpd
863
- #: Copy of counter-options.php:398 counter-options.php:765
864
- msgid "Save URL only, no query string."
865
- msgstr "Sacuvaj samo URL bez reda za ispitivanje"
866
-
867
- # @ cpd
868
- #: Copy of counter-options.php:533 counter-options.php:637
869
- #: counter-options.php:461 counter-options.php:900
870
- msgid "Backup"
871
- msgstr "Bekap"
872
-
873
- # @ cpd
874
- #: Copy of counter-options.php:536 counter-options.php:903
875
- msgid "Entries per pass"
876
- msgstr "Unosi po pass-u"
877
-
878
- # @ cpd
879
- #: Copy of counter-options.php:539 counter-options.php:906
880
- msgid "How many entries should be saved per pass? Default: 10000"
881
- msgstr ""
882
- "Koliko unosa bi trebalo da bude sacuvano po pass-u? Predodredjeno: 10000"
883
-
884
- # @ cpd
885
- #: Copy of counter-options.php:544 counter-options.php:911
886
- msgid ""
887
- "If your PHP memory limit less then 50 MB and you get a white page or error "
888
- "messages try a smaller value."
889
- msgstr ""
890
- "Ako je limit vase PHP memorije manji od 50MB i dobijete belu stranicu ili "
891
- "poruke s greskom probajte manju vrednost"
892
-
893
- # @ cpd
894
- #: Copy of counter-options.php:641 counter-options.php:465
895
- #, php-format
896
- msgid ""
897
- "Create a backup of the counter table %s in your wp-content directory (if "
898
- "writable)."
899
- msgstr ""
900
- "Kreirajte bekap table brojaca %s u vasem wp-sadrzaj direktorijumu (ukoliko "
901
- "je upisiv)"
902
-
903
- # @ cpd
904
- #: Copy of counter-options.php:648 counter-options.php:472
905
- msgid "Backup the database"
906
- msgstr "Kreiraj bekap baze podataka"
907
-
908
- # @ cpd
909
- #: Copy of counter-options.php:703 counter-options.php:735
910
- #: counter-options.php:565 counter-options.php:597
911
- msgid "Collect old data"
912
- msgstr "Sakupi stare podatke"
913
-
914
- # @ cpd
915
- #: Copy of counter-options.php:708 counter-options.php:570
916
- #, php-format
917
- msgid "Current size of your counter table %s is %s."
918
- msgstr "Trenutna velicine vase table brojaca %s je %s"
919
-
920
- # @ cpd
921
- #: Copy of counter-options.php:710 counter-options.php:572
922
- msgid ""
923
- "You can collect old data and clean up the counter table.<br/>Reads and "
924
- "visitors will be saved per month, per country and per post.<br/>Clients and "
925
- "referrers will deleted."
926
- msgstr ""
927
- "Mozete da sakupite podatke i ocistite tablu brojaca. <br/> Citanja i "
928
- "posetioci ce biti sacuvani po mesecu, po zemlji i po postu. <br/> Klijenti i "
929
- "reference ce biti izbrisane"
930
-
931
- # @ cpd
932
- #: Copy of counter-options.php:715 counter-options.php:577
933
- #, php-format
934
- msgid "Currently your collection contains data until %s."
935
- msgstr "Trenutno vasa kolekcija sadrzi podatke do %s"
936
-
937
- # @ cpd
938
- #: Copy of counter-options.php:719 counter-options.php:581
939
- msgid "Normally new data will be added to the collection."
940
- msgstr "Normalno novi podaci bice dodati kolekciji "
941
-
942
- # @ cpd
943
- #: Copy of counter-options.php:725 counter-options.php:587
944
- msgid ""
945
- "Delete old collection and create a new one which contains only the data "
946
- "currently in counter table."
947
- msgstr ""
948
- "Izbrisi staru kolekciju i kreiraj novu koja sadrzi samo podatke koji su "
949
- "trenutno na tabli brojaca"
950
-
951
- # @ cpd
952
- #: Copy of counter-options.php:726 counter-options.php:588
953
- #, php-format
954
- msgid "All collected data until %s will deleted."
955
- msgstr "Svi prikupljeni podaci do %s ce biti izbrisani "
956
-
957
- # @ cpd
958
- #: Copy of counter-options.php:731 counter-options.php:593
959
- #, php-format
960
- msgid "Keep entries of last %s full months + current month in counter table."
961
- msgstr "Sacuvaj unose od zadnjih %s meseci + tekuci mesec u tabli brojaca"
962
-
963
- # @ cpd
964
- #: Copy of counter-options.php:790 counter-options.php:644
965
- msgid "ReActivation"
966
- msgstr "Reaktivacija"
967
-
968
- # @ cpd
969
- #: Copy of counter-options.php:793 counter-options.php:647
970
- msgid ""
971
- "Here you can start the installation functions manually.<br/>Same as "
972
- "deactivate and reactivate the plugin."
973
- msgstr ""
974
- "Ovde mozete poceti instalaciju funckija rucno. <br/> Isto kao akticiranje i "
975
- "deaktiviranje plagina"
976
-
977
- # @ cpd
978
- #: Copy of counter-options.php:798 counter-options.php:652
979
- msgid "ReActivate the plugin"
980
- msgstr "Reaktivirajte plagin"
981
-
982
- # @ cpd
983
- #: counter.php:195 counter.php:951
984
- msgid "Visitors"
985
- msgstr "Posetioci"
986
-
987
- # @ cpd
988
- #: counter.php:198 counter.php:199
989
- msgid "Most visited day"
990
- msgstr "Najposeceniji dan"
991
-
992
- # @ cpd
993
- #: counter.php:1347
994
- msgid "drag and drop to sort"
995
- msgstr "POvuci i spusti da bi sortirali "
996
-
997
- # @ cpd
998
- #: counter-core.php:1129
999
- msgid "Your can download the backup files here and now."
1000
- msgstr "Mozete skinuti bekap fajlove ovde i sada."
1001
-
1002
- # @ cpd
1003
- #: Copy of counter-options.php:644 counter-options.php:468
1004
- msgid "Download only"
1005
- msgstr "Samo download"
1006
-
1007
- # @ default
1008
- #: Copy of counter-options.php:673 counter-options.php:519
1009
- msgid "Delete"
1010
- msgstr "Izbrisi "
1011
-
1012
- # @ cpd
1013
- #: Copy of counter-options.php:674 counter-options.php:520
1014
- #, php-format
1015
- msgid "Delete the backup file %s ?"
1016
- msgstr "Izbrisati bekap fajl %s?"
1017
-
1018
- # @ cpd
1019
- #: counter-core.php:819 counter-options.php:838 counter-options.php:842
1020
- msgid "Search strings"
1021
- msgstr "Trazi redove"
1022
-
1023
- # @ cpd
1024
- #: counter-core.php:1199
1025
- msgid "Error while reading backup file!"
1026
- msgstr "Greska u citanju bekap fajla!"
1027
-
1028
- # @ cpd
1029
- #: counter-core.php:1203
1030
- #, php-format
1031
- msgid "The backup was added to counter table %s."
1032
- msgstr "Bekap je dodat tabli brojaca %s."
1033
-
1034
- # @ cpd
1035
- #: counter-core.php:1205
1036
- #, php-format
1037
- msgid "The counter table %s was restored from backup."
1038
- msgstr "Tabla brojaca %s je povracena s bekapa"
1039
-
1040
- # @ cpd
1041
- #: counter-core.php:1222
1042
- msgid "Options restored from backup."
1043
- msgstr "Opcije povracene s bekapa"
1044
-
1045
- # @ cpd
1046
- #: counter-options.php:501
1047
- msgid "Settings and collections"
1048
- msgstr "Podesavanja i kolekcije"
1049
-
1050
- # @ cpd
1051
- #: counter-options.php:506
1052
- #, php-format
1053
- msgid "Counter table %s"
1054
- msgstr "Tabla brojaca %s"
1055
-
1056
- # @ cpd
1057
- #: counter-options.php:513
1058
- #, php-format
1059
- msgid "Add data from the backup file %s to existing counter table?"
1060
- msgstr "Dodati podatke s bekap fajla %s postojecoj tabli brojaca? "
1061
-
1062
- # @ cpd
1063
- #: counter-options.php:517
1064
- #, php-format
1065
- msgid "Restore data from the backup file %s ?"
1066
- msgstr "POvratiti podatke s bekap fajla %s?"
1067
-
1068
- # @ default
1069
- #: counter-options.php:517
1070
- msgid "Restore"
1071
- msgstr "Povrati "
1072
-
1073
- # @ cpd
1074
- #: counter-options.php:526
1075
- msgid "add backup to current counter table"
1076
- msgstr "dodaj bekap trenutnoj tabli brojaca"
1077
-
1078
- # @ cpd
1079
- #: counter-options.php:527
1080
- msgid "replace current counter table with with backup"
1081
- msgstr "Zameni trenutnu tablu brojaca s bekapom"
1082
-
1083
- # @ cpd
1084
- #: counter-options.php:528
1085
- msgid "delete backup file"
1086
- msgstr "izbrisi bekap fajl"
1087
-
1088
- # @ cpd
1089
- #: counter.php:1094
1090
- #, php-format
1091
- msgid "The %s most searched strings:"
1092
- msgstr "%s najtrazeniji redovi "
1093
-
1094
- # @ cpd
1095
- #: counter.php:1103
1096
- #, php-format
1097
- msgid "The search strings of the last %s days:"
1098
- msgstr "Trazeni redovi u poslednjih %s dana"
1099
-
1100
- # @ cpd
1101
- #: counter-options.php:332
1102
- msgid "Old search strings deleted"
1103
- msgstr "Stari trazeni redovi izbrisani "
1104
-
1105
- # @ cpd
1106
- #: counter-options.php:554
1107
- #, php-format
1108
- msgid "Delete search strings older than %s days."
1109
- msgstr "Izbrisi trazene redove starije od %s dana"
1110
-
1111
- # @ cpd
1112
- #: counter-options.php:556
1113
- msgid "Delete search strings"
1114
- msgstr "Izbrisi trazene redove"
1115
-
1116
- # @ cpd
1117
- #: counter-options.php:513
1118
- msgid "Add"
1119
- msgstr "Dodaj "
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Count Per Day\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2008-11-02 12:13+0100\n"
6
+ "PO-Revision-Date: 2013-04-13 12:52+0100\n"
7
+ "Last-Translator: Diana <diana@wpdiscounts.com>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
13
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
16
+ "_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
17
+ "X-Poedit-Basepath: P:/xampp/htdocs/wp/wp-content/plugins/count-per-day\n"
18
+ "X-Textdomain-Support: yes\n"
19
+ "Language: sr_RS\n"
20
+ "X-Generator: Poedit 1.5.5\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+
23
+ # @ cpd
24
+ #: Copy of counter-options.php:50 counter-options.php:52
25
+ msgid "Options updated"
26
+ msgstr "Opcije azurirane "
27
+
28
+ # @ cpd
29
+ #: Copy of counter-options.php:111 counter-options.php:113
30
+ #, php-format
31
+ msgid "Database cleaned. %s rows deleted."
32
+ msgstr "Baza podataka ociscena. %s redova izbrisano"
33
+
34
+ # @ cpd
35
+ #: Copy of counter-options.php:126 counter-options.php:839
36
+ #: counter-options.php:128 counter-options.php:693
37
+ msgid "UNINSTALL Count per Day"
38
+ msgstr "DEINSTALIRANJE broj po danu"
39
+
40
+ # @ cpd
41
+ #: Copy of counter-options.php:131 counter-options.php:132
42
+ #: counter-options.php:133 counter-options.php:134 counter-options.php:135
43
+ #, php-format
44
+ msgid "Table %s deleted"
45
+ msgstr "Tabla %s izbrisana"
46
+
47
+ # @ cpd
48
+ #: Copy of counter-options.php:134 counter-options.php:136
49
+ msgid "Options deleted"
50
+ msgstr "Opcije izbrisane"
51
+
52
+ # @ cpd
53
+ #: Copy of counter-options.php:321 counter-options.php:825
54
+ #: counter-options.php:362 counter-options.php:679
55
+ msgid "Uninstall"
56
+ msgstr "Deinstalirati"
57
+
58
+ # @ cpd
59
+ #: Copy of counter-options.php:322 counter-options.php:363
60
+ msgid "Click here"
61
+ msgstr "Kliknite ovde"
62
+
63
+ # @ cpd
64
+ #: Copy of counter-options.php:322 counter-options.php:363
65
+ msgid "to finish the uninstall and to deactivate \"Count per Day\"."
66
+ msgstr "Da bi zavrsili deinstaliranje i aktivirali \"Brojanje po danu\"."
67
+
68
+ # @ cpd
69
+ #: Copy of counter-options.php:359 counter-options.php:726
70
+ msgid "Online time"
71
+ msgstr "Vreme online"
72
+
73
+ # @ cpd
74
+ #: Copy of counter-options.php:360 counter-options.php:727
75
+ msgid ""
76
+ "Seconds for online counter. Used for \"Visitors online\" on dashboard page."
77
+ msgstr ""
78
+ "Sekunde online kauntera. Koricseno za \"Posetioci online\" na strani "
79
+ "kontrolna tabla "
80
+
81
+ # @ cpd
82
+ #: Copy of counter-options.php:363 counter-options.php:730
83
+ msgid "Logged on Users"
84
+ msgstr "Ulogovani korisnici"
85
+
86
+ # @ cpd
87
+ #: Copy of counter-options.php:365 counter-options.php:732
88
+ msgid "count too"
89
+ msgstr "Brojanje takodje"
90
+
91
+ # @ cpd
92
+ #: Copy of counter-options.php:377 counter-options.php:744
93
+ msgid "Auto counter"
94
+ msgstr "Auto brojanje"
95
+
96
+ # @ cpd
97
+ #: Copy of counter-options.php:378 counter-options.php:745
98
+ msgid ""
99
+ "Counts automatically single-posts and pages, no changes on template needed."
100
+ msgstr ""
101
+ "Broji automatski samostalne postove i stranice, nisu potrebne izmene sablona"
102
+
103
+ # @ cpd
104
+ #: Copy of counter-options.php:381 counter-options.php:748
105
+ msgid "Bots to ignore"
106
+ msgstr "Botovi za ignorisanje"
107
+
108
+ # @ cpd
109
+ #: Copy of counter-options.php:559 counter-options.php:926
110
+ msgid "Update options"
111
+ msgstr "Azuriraj opcije "
112
+
113
+ # @ cpd
114
+ #: Copy of counter-options.php:685 counter-options.php:694
115
+ #: counter-options.php:540 counter-options.php:548
116
+ msgid "Clean the database"
117
+ msgstr "Ocisti bazu podataka"
118
+
119
+ # @ cpd
120
+ #: Copy of counter-options.php:688 counter-options.php:543
121
+ msgid ""
122
+ "You can clean the counter table by delete the \"spam data\".<br />If you add "
123
+ "new bots above the old \"spam data\" keeps in the database.<br />Here you "
124
+ "can run the bot filter again and delete the visits of the bots."
125
+ msgstr ""
126
+ "Mozete izbrisati tablu brojaca brisanjem e \"spam data\".<br />Ukoliko "
127
+ "dodate nove botoce izned starih \"spam data\" se zadrzava u bazi podataka. "
128
+ "<br /> Ovde mozete pokrenuti bot filter ponovo i izbrisati posete botova"
129
+
130
+ # @ cpd
131
+ #: Copy of counter-options.php:828 counter-options.php:682
132
+ msgid ""
133
+ "If \"Count per Day\" only disabled the tables in the database will be "
134
+ "preserved."
135
+ msgstr ""
136
+ "Ukoliko \"Brojac po danu\" bude samo onesposobljen table u bazi podataka ce "
137
+ "biti sacuvane "
138
+
139
+ # @ cpd
140
+ #: Copy of counter-options.php:829 counter-options.php:683
141
+ msgid "Here you can delete the tables and disable \"Count per Day\"."
142
+ msgstr "Ovde mozete izbrisati table i onesposobiti \"Brojac po danu\"."
143
+
144
+ # @ cpd
145
+ #: Copy of counter-options.php:832 counter-options.php:686
146
+ msgid "WARNING"
147
+ msgstr "UPOZORENJE"
148
+
149
+ # @ cpd
150
+ #: Copy of counter-options.php:833 counter-options.php:687
151
+ msgid "These tables (with ALL counter data) will be deleted."
152
+ msgstr "Ove table (sa svim podacima brojanja) bice izbrisane"
153
+
154
+ # @ cpd
155
+ #: Copy of counter-options.php:835 counter-options.php:689
156
+ msgid "If \"Count per Day\" re-installed, the counter starts at 0."
157
+ msgstr "Ako je \"brojac po danu\" reinstaliran, brojac pocinje od 0. "
158
+
159
+ # @ cpd
160
+ #: Copy of counter-options.php:815 counter-options.php:838
161
+ #: counter-options.php:669 counter-options.php:692
162
+ msgid "Yes"
163
+ msgstr "Da"
164
+
165
+ # @ cpd
166
+ #: Copy of counter-options.php:839 counter-options.php:693
167
+ msgid "You are sure to disable Count per Day and delete all data?"
168
+ msgstr ""
169
+ "Sigurni ste da zelite da onesposobiti Brojac po danu i izbrisete sve "
170
+ "podatke? "
171
+
172
+ # @ cpd
173
+ #: counter-core.php:844 counter.php:1232
174
+ msgid "Statistics"
175
+ msgstr "Statistike "
176
+
177
+ # @ cpd
178
+ #: counter-core.php:812 counter.php:190 counter.php:1118 counter.php:1310
179
+ msgid "Total visitors"
180
+ msgstr "Ukupno poseta"
181
+
182
+ # @ cpd
183
+ #: counter.php:191 counter.php:1316
184
+ msgid "Visitors currently online"
185
+ msgstr "Posetioci trenutno online"
186
+
187
+ # @ cpd
188
+ #: counter.php:192 counter.php:1311
189
+ msgid "Visitors today"
190
+ msgstr "Posetioci danas"
191
+
192
+ # @ cpd
193
+ #: counter.php:193 counter.php:1312
194
+ msgid "Visitors yesterday"
195
+ msgstr "Posetioci juce"
196
+
197
+ # @ cpd
198
+ #: counter.php:194 counter.php:1313
199
+ msgid "Visitors last week"
200
+ msgstr "Posetioci prosle nedelje"
201
+
202
+ # @ cpd
203
+ #: counter.php:197 counter.php:877 counter.php:1317
204
+ msgid "Counter starts on"
205
+ msgstr "Projac pocinje"
206
+
207
+ # @ cpd
208
+ #: counter-core.php:818 counter.php:196 counter.php:295 counter.php:1120
209
+ #: counter.php:1315 userperspan.php:34
210
+ msgid "Visitors per day"
211
+ msgstr "Posetioca po danu"
212
+
213
+ # @ cpd
214
+ #: counter-core.php:814 counter.php:1314
215
+ msgid "Visitors per month"
216
+ msgstr "Posetioca po mesecu "
217
+
218
+ # @ cpd
219
+ #: Copy of counter-options.php:441 counter-core.php:816
220
+ #: counter-options.php:808
221
+ msgid "Visitors per post"
222
+ msgstr "Posetioca po postu "
223
+
224
+ # @ cpd
225
+ #: Copy of counter-options.php:121 counter-options.php:123
226
+ msgid "Counter reseted."
227
+ msgstr "Brojac resetovan "
228
+
229
+ # @ cpd
230
+ #: Copy of counter-options.php:442 counter-options.php:446
231
+ #: counter-options.php:809 counter-options.php:813
232
+ msgid "How many posts do you want to see on dashboard page?"
233
+ msgstr "Koliko postova zelite da vidite na kontrolnoj tabli? "
234
+
235
+ # @ cpd
236
+ #: Copy of counter-options.php:445 counter-options.php:812
237
+ msgid "Latest Counts - Posts"
238
+ msgstr "Najnoviji brojaci - Postovi "
239
+
240
+ # @ cpd
241
+ #: Copy of counter-options.php:449 counter-options.php:816
242
+ msgid "Latest Counts - Days"
243
+ msgstr "Najnoviji brojaci - Dani"
244
+
245
+ # @ cpd
246
+ #: Copy of counter-options.php:450 counter-options.php:454
247
+ #: counter-options.php:476 counter-options.php:817 counter-options.php:821
248
+ #: counter-options.php:843
249
+ msgid "How many days do you want look back?"
250
+ msgstr "Koliko dana unazad zelite da pogledate? "
251
+
252
+ # @ cpd
253
+ #: Copy of counter-options.php:490 counter-options.php:857
254
+ msgid "Show in lists"
255
+ msgstr "POkazi u listama"
256
+
257
+ # @ cpd
258
+ #: Copy of counter-options.php:491 counter-options.php:858
259
+ msgid "Show \"Reads per Post\" in a new column in post management views."
260
+ msgstr ""
261
+ "Pokazi \"Citanja po Postu\" u novoj koloni u upravljanju pogleda posta"
262
+
263
+ # @ cpd
264
+ #: Copy of counter-options.php:806 counter-options.php:816
265
+ #: counter-options.php:660 counter-options.php:670
266
+ msgid "Reset the counter"
267
+ msgstr "Resetuj brojac"
268
+
269
+ # @ cpd
270
+ #: Copy of counter-options.php:809 counter-options.php:663
271
+ msgid ""
272
+ "You can reset the counter by empty the table. ALL TO 0!<br />Make a backup "
273
+ "if you need the current data!"
274
+ msgstr ""
275
+ "Mozete resetovati brojac praznjenjem table. SVE ZA 0!<br /> Napravite "
276
+ "rezervnu kopiju ukoliko vam trebaju trenutni podaci "
277
+
278
+ # @ cpd
279
+ #: counter.php:708
280
+ #, php-format
281
+ msgid "The %s most visited posts in last %s days:"
282
+ msgstr "%s najposeceniji postovi u poslednjih %s dana"
283
+
284
+ # @ default
285
+ #: Copy of counter-options.php:346 counter-options.php:563
286
+ #: counter-core.php:649 counter-options.php:386 counter-options.php:714
287
+ msgid "Settings"
288
+ msgstr "Podesavanja"
289
+
290
+ # @ cpd
291
+ #: Copy of counter-options.php:396 counter-core.php:714
292
+ #: counter-options.php:763 counter.php:189 counter.php:927
293
+ msgid "Reads"
294
+ msgstr "Citanja"
295
+
296
+ # @ cpd
297
+ #: counter-core.php:817
298
+ msgid "Latest Counts"
299
+ msgstr "Poslednji brojaci "
300
+
301
+ # @ cpd
302
+ #: Copy of counter-options.php:453 counter-options.php:820
303
+ msgid "Chart - Days"
304
+ msgstr "Grafikon - Dani"
305
+
306
+ # @ cpd
307
+ #: Copy of counter-options.php:457 counter-options.php:824
308
+ msgid "Chart - Height"
309
+ msgstr "Grafikon - Visina"
310
+
311
+ # @ cpd
312
+ #: Copy of counter-options.php:458 counter-options.php:825
313
+ msgid "Height of the biggest bar"
314
+ msgstr "Visina najviseg bara"
315
+
316
+ # @ cpd
317
+ #: counter.php:1304
318
+ msgid "This post"
319
+ msgstr "Ovaj post"
320
+
321
+ # @ default
322
+ #: Copy of counter-options.php:406 counter-options.php:773
323
+ msgid "Dashboard"
324
+ msgstr "KOntrolna tabla"
325
+
326
+ # @ cpd
327
+ #: counter.php:294
328
+ msgid "Reads per day"
329
+ msgstr "Citanja po danu "
330
+
331
+ # @ cpd
332
+ #: Copy of counter-options.php:61 counter-options.php:63
333
+ #, php-format
334
+ msgid "Countries updated. <b>%s</b> entries in %s without country left"
335
+ msgstr "Zemlje azurirane. <b>%s</b> unosa u %s bez ostale zemlje "
336
+
337
+ # @ cpd
338
+ #: Copy of counter-options.php:64 counter-options.php:66
339
+ msgid "update next"
340
+ msgstr "Azuriraj sledece"
341
+
342
+ # @ cpd
343
+ #: Copy of counter-options.php:756 counter-options.php:610
344
+ msgid "GeoIP - Countries"
345
+ msgstr "GeoIP - Zemlje "
346
+
347
+ # @ cpd
348
+ #: Copy of counter-options.php:765 counter-options.php:619
349
+ msgid "Update old counter data"
350
+ msgstr "Azuriraj stare podatke brojaca"
351
+
352
+ # @ cpd
353
+ #: Copy of counter-options.php:777 counter-options.php:631
354
+ msgid "Update GeoIP database"
355
+ msgstr "Azuriraj GeoIP bazu podataka"
356
+
357
+ # @ cpd
358
+ #: Copy of counter-options.php:772 counter-options.php:626
359
+ msgid "Download a new version of GeoIP.dat file."
360
+ msgstr "SKini novu verziju GeoIP.dat fajla"
361
+
362
+ # @ cpd
363
+ #: Copy of counter-options.php:782 counter-options.php:636
364
+ msgid "More informations about GeoIP"
365
+ msgstr "Vise informacija o GeoIP"
366
+
367
+ # @ cpd
368
+ #: counter-core.php:828
369
+ msgid "Reads per Country"
370
+ msgstr "Citanja po zemlji "
371
+
372
+ # @ cpd
373
+ #: geoip/geoip.php:114
374
+ msgid "New GeoIP database installed."
375
+ msgstr "Nova GeoIP baza podataka instalirana"
376
+
377
+ # @ cpd
378
+ #: geoip/geoip.php:116
379
+ msgid ""
380
+ "Sorry, an error occurred. Try again or check the access rights of directory "
381
+ "\"geoip\" is 777."
382
+ msgstr ""
383
+ "Izvinite, doslo je do greske. Pokusajte ponovo ili proverite prava pristupa "
384
+ "direktorijumu \"geoip\" je 777."
385
+
386
+ # @ cpd
387
+ #: geoip/geoip.php:90
388
+ msgid "Sorry, necessary functions (zlib) not installed or enabled in php.ini."
389
+ msgstr ""
390
+ "Izvinite, neophodne funkcije (zlib) nisu instalirate ili omogucene u php.ini"
391
+
392
+ # @ cpd
393
+ #: Copy of counter-options.php:462 counter-options.php:829
394
+ msgid "Countries"
395
+ msgstr "Zemlje"
396
+
397
+ # @ cpd
398
+ #: Copy of counter-options.php:463 counter-options.php:830
399
+ msgid "How many countries do you want to see on dashboard page?"
400
+ msgstr "Koliko zemalja zelite da vidite na kontrolnoj tabli? "
401
+
402
+ # @ cpd
403
+ #: Copy of counter-options.php:104 counter-options.php:106
404
+ #, php-format
405
+ msgid "Mass Bots cleaned. %s counts deleted."
406
+ msgstr "Mass Botoci ocisceni. %s zemlje izbrisane"
407
+
408
+ # @ cpd
409
+ #: Copy of counter-options.php:578 counter-options.php:402 massbots.php:36
410
+ msgid "Mass Bots"
411
+ msgstr "Mass botovi "
412
+
413
+ # @ cpd
414
+ #: Copy of counter-options.php:582 counter-options.php:406
415
+ #, php-format
416
+ msgid "Show all IPs with more than %s page views per day"
417
+ msgstr "Pokazi sve IP sa vise od %s pogleda po danu "
418
+
419
+ # @ cpd
420
+ #: Copy of counter-options.php:583 counter-options.php:407 notes.php:71
421
+ #: userperspan.php:44
422
+ msgid "show"
423
+ msgstr "pokazi "
424
+
425
+ # @ cpd
426
+ #: Copy of counter-options.php:609 counter-options.php:625
427
+ #: counter-options.php:433 counter-options.php:449
428
+ #, php-format
429
+ msgid "Delete these %s counts"
430
+ msgstr "Izbrisi ove %s brojace"
431
+
432
+ # @ cpd
433
+ #: counter.php:865
434
+ msgid "Other"
435
+ msgstr "druge"
436
+
437
+ # @ default
438
+ #: counter.php:1054 massbots.php:53 userperspan.php:63
439
+ msgid "Front page displays"
440
+ msgstr "Displej naslovne stranice "
441
+
442
+ # @ cpd
443
+ #: Copy of counter-options.php:467 counter-core.php:823
444
+ #: counter-options.php:834
445
+ msgid "Browsers"
446
+ msgstr "Pretrazivaci "
447
+
448
+ # @ cpd
449
+ #: Copy of counter-options.php:591 counter-options.php:415
450
+ msgid "IP"
451
+ msgstr "IP"
452
+
453
+ # @ cpd
454
+ # @ default
455
+ #: Copy of counter-options.php:592 counter-options.php:416 notes.php:75
456
+ msgid "Date"
457
+ msgstr "Datum"
458
+
459
+ # @ cpd
460
+ #: Copy of counter-options.php:593 counter-options.php:417
461
+ msgid "Client"
462
+ msgstr "Klijent"
463
+
464
+ # @ cpd
465
+ #: Copy of counter-options.php:594 counter-options.php:418
466
+ msgid "Views"
467
+ msgstr "Pogledi "
468
+
469
+ # @ cpd
470
+ #: Copy of counter-options.php:498 counter-options.php:865
471
+ msgid "Start Values"
472
+ msgstr "Pocetne vrednosti "
473
+
474
+ # @ cpd
475
+ #: Copy of counter-options.php:502 counter-options.php:869
476
+ msgid "Here you can change the date of first count and add a start count."
477
+ msgstr "Ovde mozete promeniti datum prvog brojanja i dodati startno brojanje"
478
+
479
+ # @ cpd
480
+ #: Copy of counter-options.php:506 counter-options.php:873
481
+ msgid "Start date"
482
+ msgstr "Pocetni datum"
483
+
484
+ # @ cpd
485
+ #: Copy of counter-options.php:507 counter-options.php:874
486
+ msgid "Your old Counter starts at?"
487
+ msgstr "Vas stari brojac pocinje na? "
488
+
489
+ # @ cpd
490
+ #: Copy of counter-options.php:510 counter-options.php:514
491
+ #: counter-options.php:877 counter-options.php:881
492
+ msgid "Start count"
493
+ msgstr "Pocni brojanje"
494
+
495
+ # @ cpd
496
+ #: Copy of counter-options.php:511 counter-options.php:878
497
+ msgid "Add this value to \"Total visitors\"."
498
+ msgstr "Dodaj ovu vrednost u \"Ukupni posetioci\""
499
+
500
+ # @ cpd
501
+ #: Copy of counter-options.php:743 counter-options.php:701
502
+ msgid "Support"
503
+ msgstr "Podrska"
504
+
505
+ # @ cpd
506
+ #: counter-core.php:778
507
+ msgid "Bug? Problem? Question? Hint? Praise?"
508
+ msgstr "Bag? Problem? Pitanje? Savet? Pohvala?"
509
+
510
+ # @ cpd
511
+ #: counter-core.php:779
512
+ #, php-format
513
+ msgid "Write a comment on the <a href=\"%s\">plugin page</a>."
514
+ msgstr "Napisite komentar o <a href=\"%s\">plagin strana</a>."
515
+
516
+ # @ default
517
+ #: counter.php:824
518
+ msgid "Show"
519
+ msgstr "Pokazi "
520
+
521
+ # @ default
522
+ #: counter.php:1039
523
+ msgid "Edit Post"
524
+ msgstr "Izmeni postove "
525
+
526
+ # @ cpd
527
+ #: counter-core.php:777
528
+ #, php-format
529
+ msgid "Time for Count per Day: <code>%s</code>."
530
+ msgstr "Vreme za brojac po danu: <code>%s</code>."
531
+
532
+ # @ cpd
533
+ #: Copy of counter-options.php:366 counter-options.php:733
534
+ msgid "until User Level"
535
+ msgstr "Jedinica nivoa korisnika "
536
+
537
+ # @ default
538
+ #: counter-core.php:820
539
+ msgid "Plugin"
540
+ msgstr "Plagin"
541
+
542
+ # @ cpd
543
+ #: counter.php:826 notes.php:42 notes.php:76
544
+ msgid "Notes"
545
+ msgstr "Beleske"
546
+
547
+ # @ default
548
+ #: notes.php:77
549
+ msgid "Action"
550
+ msgstr "Akcija"
551
+
552
+ # @ cpd
553
+ #: notes.php:82
554
+ msgid "add"
555
+ msgstr "Dodaj"
556
+
557
+ # @ cpd
558
+ #: notes.php:98
559
+ msgid "save"
560
+ msgstr "sacuvaj"
561
+
562
+ # @ cpd
563
+ #: notes.php:99
564
+ msgid "delete"
565
+ msgstr "izbrisi "
566
+
567
+ # @ cpd
568
+ #: notes.php:110
569
+ msgid "edit"
570
+ msgstr "izmeni"
571
+
572
+ # @ cpd
573
+ #: Copy of counter-options.php:515 counter-options.php:882
574
+ msgid "Add this value to \"Total reads\"."
575
+ msgstr "Dodaj ovu vrednost u \"Ukupni pregledi\"."
576
+
577
+ # @ cpd
578
+ #: counter.php:185 counter.php:1305
579
+ msgid "Total reads"
580
+ msgstr "Ukupni pregledi "
581
+
582
+ # @ cpd
583
+ #: counter.php:186 counter.php:1306
584
+ msgid "Reads today"
585
+ msgstr "Pregledi danas"
586
+
587
+ # @ cpd
588
+ #: counter.php:187 counter.php:1307
589
+ msgid "Reads yesterday"
590
+ msgstr "Pregledi juce"
591
+
592
+ # @ cpd
593
+ #: counter.php:385 counter.php:1149
594
+ msgid "Map"
595
+ msgstr "Mapa"
596
+
597
+ # @ cpd
598
+ #: Copy of counter-options.php:385 counter-options.php:752
599
+ msgid "Anonymous IP"
600
+ msgstr "Anonimni IP"
601
+
602
+ # @ cpd
603
+ #: Copy of counter-options.php:389 counter-options.php:756
604
+ msgid "Cache"
605
+ msgstr "Kes"
606
+
607
+ # @ cpd
608
+ #: Copy of counter-options.php:390 counter-options.php:757
609
+ msgid "I use a cache plugin. Count these visits with ajax."
610
+ msgstr "Koristim plagin za kes. Prebroj ove posete uz pomoc ajaxa."
611
+
612
+ # @ cpd
613
+ #: Copy of counter-options.php:468 counter-options.php:835
614
+ msgid "Substring of the user agent, separated by comma"
615
+ msgstr "Podred agenta korisnika, razdvojen zapetom "
616
+
617
+ # @ cpd
618
+ #: counter-core.php:829
619
+ msgid "Visitors per Country"
620
+ msgstr "Posetioca po zemlji "
621
+
622
+ # @ cpd
623
+ #: Copy of counter-options.php:552 counter-options.php:919
624
+ msgid "Debug mode"
625
+ msgstr "Debug mod"
626
+
627
+ # @ cpd
628
+ #: Copy of counter-options.php:554 counter-options.php:921
629
+ msgid "Show debug informations at the bottom of all pages."
630
+ msgstr "Pokazi debug informacije na dnu ove strane "
631
+
632
+ # @ cpd
633
+ #: userperspan.php:38
634
+ msgid "Start"
635
+ msgstr "Start"
636
+
637
+ # @ cpd
638
+ #: userperspan.php:40
639
+ msgid "End"
640
+ msgstr "Kraj"
641
+
642
+ # @ cpd
643
+ #: userperspan.php:42
644
+ msgid "PostID"
645
+ msgstr "PostID "
646
+
647
+ # @ cpd
648
+ #: userperspan.php:50
649
+ msgid "no data found"
650
+ msgstr "Nema pronadjenih podataka"
651
+
652
+ # @ cpd
653
+ #: Copy of counter-options.php:759 counter-options.php:613
654
+ msgid ""
655
+ "You can get the country data for all entries in database by checking the IP "
656
+ "adress against the GeoIP database. This can take a while!"
657
+ msgstr ""
658
+ "Mozete dobiti podatke o zemlji za sve unose u bazi podataka proveravanjem IP "
659
+ "adrese iz GeoIP baze podataka. Ovo moze malo potrajati. "
660
+
661