Wordfence Security – Firewall & Malware Scan - Version 5.2.8

Version Description

  • Detailed documentation for all options on the Wordfence options page. Launching docs.wordfence.com wiki.
  • Fixed server-side issue where diff'ing certain files would give a blank page or an API error.
  • Removed now unused whois library because we're now using Wordfence API server to get around whois port blocking.
Download this release

Release Info

Developer mmaunder
Plugin Icon 128x128 Wordfence Security – Firewall & Malware Scan
Version 5.2.8
Comparing to
See all releases

Code changes from version 5.2.7 to 5.2.8

Files changed (132) hide show
  1. css/main.css +12 -0
  2. images/help.png +0 -0
  3. lib/menu_options.php +78 -78
  4. lib/whois/.htaccess +0 -2
  5. lib/whois/LICENSE +0 -340
  6. lib/whois/handler.template.php +0 -40
  7. lib/whois/npdata.ser +0 -1
  8. lib/whois/whois.ae.php +0 -58
  9. lib/whois/whois.aero.php +0 -45
  10. lib/whois/whois.ag.php +0 -45
  11. lib/whois/whois.asia.php +0 -44
  12. lib/whois/whois.at.php +0 -102
  13. lib/whois/whois.au.php +0 -63
  14. lib/whois/whois.be.php +0 -76
  15. lib/whois/whois.biz.php +0 -45
  16. lib/whois/whois.br.php +0 -84
  17. lib/whois/whois.ca.php +0 -76
  18. lib/whois/whois.cat.php +0 -47
  19. lib/whois/whois.ch.php +0 -82
  20. lib/whois/whois.cl.php +0 -56
  21. lib/whois/whois.client.php +0 -595
  22. lib/whois/whois.cn.php +0 -91
  23. lib/whois/whois.co.php +0 -43
  24. lib/whois/whois.co.za.php +0 -73
  25. lib/whois/whois.coop.php +0 -106
  26. lib/whois/whois.cz.php +0 -73
  27. lib/whois/whois.de.php +0 -78
  28. lib/whois/whois.edu.php +0 -62
  29. lib/whois/whois.eu.php +0 -85
  30. lib/whois/whois.fi.php +0 -57
  31. lib/whois/whois.fj.php +0 -67
  32. lib/whois/whois.fm.php +0 -80
  33. lib/whois/whois.fr.php +0 -78
  34. lib/whois/whois.gtld.afternic.php +0 -51
  35. lib/whois/whois.gtld.alldomains.php +0 -49
  36. lib/whois/whois.gtld.ascio.php +0 -51
  37. lib/whois/whois.gtld.assorted.php +0 -51
  38. lib/whois/whois.gtld.corporatedomains.php +0 -53
  39. lib/whois/whois.gtld.directnic.php +0 -53
  40. lib/whois/whois.gtld.domaindiscover.php +0 -51
  41. lib/whois/whois.gtld.domainpeople.php +0 -59
  42. lib/whois/whois.gtld.dotster.php +0 -53
  43. lib/whois/whois.gtld.dreamhost.php +0 -54
  44. lib/whois/whois.gtld.enom.php +0 -62
  45. lib/whois/whois.gtld.fabulous.php +0 -54
  46. lib/whois/whois.gtld.fastdomain.php +0 -78
  47. lib/whois/whois.gtld.gandi.php +0 -56
  48. lib/whois/whois.gtld.genericb.php +0 -40
  49. lib/whois/whois.gtld.godaddy.php +0 -56
  50. lib/whois/whois.gtld.iana.php +0 -51
  51. lib/whois/whois.gtld.interdomain.php +0 -80
  52. lib/whois/whois.gtld.itsyourdomain.php +0 -52
  53. lib/whois/whois.gtld.joker.php +0 -78
  54. lib/whois/whois.gtld.markmonitor.php +0 -55
  55. lib/whois/whois.gtld.melbourneit.php +0 -59
  56. lib/whois/whois.gtld.moniker.php +0 -52
  57. lib/whois/whois.gtld.namejuice.php +0 -53
  58. lib/whois/whois.gtld.nameking.php +0 -70
  59. lib/whois/whois.gtld.names4ever.php +0 -54
  60. lib/whois/whois.gtld.namevault.php +0 -52
  61. lib/whois/whois.gtld.networksolutions.php +0 -50
  62. lib/whois/whois.gtld.nicco.php +0 -62
  63. lib/whois/whois.gtld.nicline.php +0 -51
  64. lib/whois/whois.gtld.onlinenic.php +0 -83
  65. lib/whois/whois.gtld.opensrs.php +0 -58
  66. lib/whois/whois.gtld.ovh.php +0 -51
  67. lib/whois/whois.gtld.php +0 -81
  68. lib/whois/whois.gtld.psiusa.php +0 -90
  69. lib/whois/whois.gtld.publicdomainregistry.php +0 -57
  70. lib/whois/whois.gtld.register.php +0 -62
  71. lib/whois/whois.gtld.rrpproxy.php +0 -92
  72. lib/whois/whois.gtld.schlund.php +0 -86
  73. lib/whois/whois.gtld.srsplus.php +0 -51
  74. lib/whois/whois.gtld.tmagnic.php +0 -52
  75. lib/whois/whois.gtld.tvcorp.php +0 -50
  76. lib/whois/whois.gtld.wildwestdomains.php +0 -52
  77. lib/whois/whois.hu.php +0 -95
  78. lib/whois/whois.icon.png +0 -0
  79. lib/whois/whois.idna.php +0 -969
  80. lib/whois/whois.ie.php +0 -64
  81. lib/whois/whois.in.php +0 -45
  82. lib/whois/whois.info.php +0 -45
  83. lib/whois/whois.int.php +0 -44
  84. lib/whois/whois.ip.afrinic.php +0 -77
  85. lib/whois/whois.ip.apnic.php +0 -122
  86. lib/whois/whois.ip.arin.php +0 -78
  87. lib/whois/whois.ip.krnic.php +0 -112
  88. lib/whois/whois.ip.lacnic.php +0 -79
  89. lib/whois/whois.ip.lib.php +0 -120
  90. lib/whois/whois.ip.php +0 -285
  91. lib/whois/whois.ip.ripe.php +0 -85
  92. lib/whois/whois.ir.php +0 -60
  93. lib/whois/whois.is.php +0 -69
  94. lib/whois/whois.it.php +0 -78
  95. lib/whois/whois.jp.php +0 -111
  96. lib/whois/whois.lt.php +0 -64
  97. lib/whois/whois.lu.php +0 -78
  98. lib/whois/whois.ly.php +0 -72
  99. lib/whois/whois.main.php +0 -327
  100. lib/whois/whois.me.php +0 -45
  101. lib/whois/whois.mobi.php +0 -47
  102. lib/whois/whois.museum.php +0 -45
  103. lib/whois/whois.mx.php +0 -70
  104. lib/whois/whois.name.php +0 -45
  105. lib/whois/whois.nl.php +0 -88
  106. lib/whois/whois.nu.php +0 -90
  107. lib/whois/whois.nz.php +0 -102
  108. lib/whois/whois.org.php +0 -47
  109. lib/whois/whois.org.za.php +0 -64
  110. lib/whois/whois.parser.php +0 -873
  111. lib/whois/whois.pl.php +0 -54
  112. lib/whois/whois.pro.php +0 -43
  113. lib/whois/whois.pt.php +0 -81
  114. lib/whois/whois.ro.php +0 -99
  115. lib/whois/whois.ru.php +0 -63
  116. lib/whois/whois.rwhois.php +0 -58
  117. lib/whois/whois.sc.php +0 -45
  118. lib/whois/whois.se.php +0 -58
  119. lib/whois/whois.servers.php +0 -252
  120. lib/whois/whois.si.php +0 -55
  121. lib/whois/whois.su.php +0 -63
  122. lib/whois/whois.tel.php +0 -45
  123. lib/whois/whois.travel.php +0 -43
  124. lib/whois/whois.uk.php +0 -72
  125. lib/whois/whois.us.php +0 -44
  126. lib/whois/whois.utils.php +0 -152
  127. lib/whois/whois.ve.php +0 -75
  128. lib/whois/whois.ws.php +0 -76
  129. lib/whois/whois.zanet.php +0 -90
  130. lib/wordfenceConstants.php +1 -1
  131. readme.txt +6 -1
  132. wordfence.php +2 -2
css/main.css CHANGED
@@ -46,6 +46,18 @@ div.wordfenceLive p {
46
  div.wordfence-lock-icon {
47
  background-image: url(../images/wordfence-logo-32x32.png);
48
  }
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  .wordfence .resulticon {
51
  display: block;
46
  div.wordfence-lock-icon {
47
  background-image: url(../images/wordfence-logo-32x32.png);
48
  }
49
+ a.wfhelp {
50
+ background-image: url(../images/help.png);
51
+ width: 12px;
52
+ height: 12px;
53
+ background-position: 0 0;
54
+ background-repeat: no-repeat;
55
+ padding: 0;
56
+ margin: 0 3px 0 3px;
57
+ text-decoration: none;
58
+ display: inline-block;
59
+ vertical-align: middle;
60
+ }
61
 
62
  .wordfence .resulticon {
63
  display: block;
images/help.png ADDED
Binary file
lib/menu_options.php CHANGED
@@ -18,7 +18,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
18
  <table class="wfConfigForm">
19
  <tr><td colspan="2"><h2>License</h2></td></tr>
20
 
21
- <tr><th>Your Wordfence API Key:</th><td><input type="text" id="apiKey" name="apiKey" value="<?php $w->f('apiKey'); ?>" size="80" /></td></tr>
22
  <tr><th>Key type currently active:</th><td>
23
  <?php if(wfConfig::get('isPaid')){ ?>
24
  The currently active API Key is a Premium Key. <span style="font-weight: bold; color: #0A0;">Premium scanning enabled!</span>
@@ -32,22 +32,22 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
32
  <?php } ?>
33
 
34
 
35
- <tr><td colspan="2"><h2>Basic Options</h2></td></tr>
36
- <tr><th class="wfConfigEnable">Enable firewall </th><td><input type="checkbox" id="firewallEnabled" class="wfConfigElem" name="firewallEnabled" value="1" <?php $w->cb('firewallEnabled'); ?> />&nbsp;<span style="color: #F00;">NOTE:</span> This checkbox enables ALL firewall functions including IP, country and advanced blocking and the "Firewall Rules" below.</td></tr>
37
  <tr><td colspan="2">&nbsp;</td></tr>
38
- <tr><th class="wfConfigEnable">Enable login security</th><td><input type="checkbox" id="loginSecurityEnabled" class="wfConfigElem" name="loginSecurityEnabled" value="1" <?php $w->cb('loginSecurityEnabled'); ?> />&nbsp;This option enables all "Login Security" options. You can modify individual options further down this page.</td></tr>
39
  <tr><td colspan="2">&nbsp;</td></tr>
40
- <tr><th class="wfConfigEnable">Enable Live Traffic View</th><td><input type="checkbox" id="liveTrafficEnabled" class="wfConfigElem" name="liveTrafficEnabled" value="1" <?php $w->cb('liveTrafficEnabled'); ?> onclick="WFAD.reloadConfigPage = true; return true;" />&nbsp;This option enables live traffic logging.</td></tr>
41
  <tr><td colspan="2">&nbsp;</td></tr>
42
- <tr><th class="wfConfigEnable">Advanced Comment Spam Filter</th><td><input type="checkbox" id="advancedCommentScanning" class="wfConfigElem" name="advancedCommentScanning" value="1" <?php $w->cbp('advancedCommentScanning'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#advancedCommentScanning').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> In addition to free comment filtering (see below) this option filters comments against several additional real-time lists of known spammers and infected hosts.</td></tr>
43
- <tr><th class="wfConfigEnable">Check if this website is being "Spamvertised"</th><td><input type="checkbox" id="spamvertizeCheck" class="wfConfigElem" name="spamvertizeCheck" value="1" <?php $w->cbp('spamvertizeCheck'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#spamvertizeCheck').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam services if your site domain name is appearing as a link in spam emails.</td></tr>
44
- <tr><th class="wfConfigEnable">Check if this website IP is generating spam</th><td><input type="checkbox" id="checkSpamIP" class="wfConfigElem" name="checkSpamIP" value="1" <?php $w->cbp('checkSpamIP'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#checkSpamIP').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam services if your website IP address is listed as a known source of spam email.</td></tr>
45
  <tr><td colspan="2">&nbsp;</td></tr>
46
  <?php /* <tr><th class="wfConfigEnable">Enable Performance Monitoring</th><td><input type="checkbox" id="perfLoggingEnabled" class="wfConfigElem" name="perfLoggingEnabled" value="1" <?php $w->cb('perfLoggingEnabled'); ?> onclick="WFAD.reloadConfigPage = true; return true;" />&nbsp;This option enables performance monitoring.</td></tr> */ ?>
47
  <tr><td colspan="2">&nbsp;</td></tr>
48
- <tr><th class="wfConfigEnable">Enable automatic scheduled scans</th><td><input type="checkbox" id="scheduledScansEnabled" class="wfConfigElem" name="scheduledScansEnabled" value="1" <?php $w->cb('scheduledScansEnabled'); ?> />&nbsp;Regular scans ensure your site stays secure.</td></tr>
49
  <tr><td colspan="2">&nbsp;</td></tr>
50
- <tr><th class="wfConfigEnable">Update Wordfence automatically when a new version is released?</th><td><input type="checkbox" id="autoUpdate" class="wfConfigElem" name="autoUpdate" value="1" <?php $w->cb('autoUpdate'); ?> />&nbsp;Automatically updates Wordfence to the newest version within 24 hours of a new release.<br />
51
  <?php if(getenv('noabort') != '1' && stristr($_SERVER['SERVER_SOFTWARE'], 'litespeed') !== false){ ?>
52
  <span style="color: #F00;">Warning: </span>You are running LiteSpeed web server and you don't have the "noabort" variable set in your .htaccess.<br />
53
  <a href="https://support.wordfence.com/solution/articles/1000129050-running-wordfence-under-litespeed-web-server-and-preventing-process-killing-or" target="_blank">Please read this article in our FAQ to make an important change that will ensure your site stability during an update.<br />
@@ -55,9 +55,9 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
55
  </td></tr>
56
  <tr><td colspan="2">&nbsp;</td></tr>
57
 
58
- <tr><th>Where to email alerts:</th><td><input type="text" id="alertEmails" name="alertEmails" value="<?php $w->f('alertEmails'); ?>" size="50" />&nbsp;<span class="wfTipText">Separate multiple emails with commas</span></td></tr>
59
  <tr><th colspan="2">&nbsp;</th></tr>
60
- <tr><th>Security Level:</th><td>
61
  <select id="securityLevel" name="securityLevel" onchange="WFAD.changeSecurityLevel(); return true;">
62
  <option value="0"<?php $w->sel('securityLevel', '0'); ?>>Level 0: Disable all Wordfence security measures</option>
63
  <option value="1"<?php $w->sel('securityLevel', '1'); ?>>Level 1: Light protection. Just the basics</option>
@@ -67,7 +67,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
67
  <option value="CUSTOM"<?php $w->sel('securityLevel', 'CUSTOM'); ?>>Custom settings</option>
68
  </select>
69
  </td></tr>
70
- <tr><th>How does Wordfence get IPs:</th><td>
71
  <select id="howGetIPs" name="howGetIPs">
72
  <option value="">Let Wordfence use the most secure method to get visitor IP addresses. Prevents spoofing and works with most sites.</option>
73
  <option value="REMOTE_ADDR"<?php $w->sel('howGetIPs', 'REMOTE_ADDR'); ?>>Use PHP's built in REMOTE_ADDR and don't use anything else. Very secure if this is compatible with your site.</option>
@@ -80,14 +80,14 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
80
  <p><table border="0" cellpadding="0" cellspacing="0"><tr><td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes" onclick="WFAD.saveConfig();" /></td><td style="height: 24px;"><div class="wfAjax24"></div><span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td></tr></table></p>
81
  <div class="wfMarker" id="wfMarkerBasicOptions"></div>
82
  <div style="margin-top: 25px;">
83
- <h2>Advanced Options:</h2>
84
  <p style="width: 600px;">
85
  Wordfence works great out of the box for most websites. Simply install Wordfence and your site and content is protected. For finer granularity of control, we have provided advanced options.
86
  </p>
87
  </div>
88
  <div id="wfConfigAdvanced">
89
  <table class="wfConfigForm">
90
- <tr><td colspan="2"><h3 class="wfConfigHeading">Alerts</h3></td></tr>
91
  <?php
92
  $emails = wfConfig::getAlertEmails();
93
  if(sizeof($emails) < 1){
@@ -105,7 +105,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
105
  <tr><th>Maximum email alerts to send per hour</th><td>&nbsp;<input type="text" id="alert_maxHourly" name="alert_maxHourly" value="<?php $w->f('alert_maxHourly'); ?>" size="4" />0 or empty means unlimited alerts will be sent.</td></tr>
106
  <tr><td colspan="2">
107
  <div class="wfMarker" id="wfMarkerLiveTrafficOptions"></div>
108
- <h3 class="wfConfigHeading">Live Traffic View</h3>
109
  </td></tr>
110
  <tr><th>Don't log signed-in users with publishing access:</th><td><input type="checkbox" id="liveTraf_ignorePublishers" name="liveTraf_ignorePublishers" value="1" <?php $w->cb('liveTraf_ignorePublishers'); ?> /></td></tr>
111
  <tr><th>List of comma separated usernames to ignore:</th><td><input type="text" name="liveTraf_ignoreUsers" id="liveTraf_ignoreUsers" value="<?php echo $w->getHTML('liveTraf_ignoreUsers'); ?>" /></td></tr>
@@ -113,48 +113,48 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
113
  <tr><th>Browser user-agent to ignore:</th><td><input type="text" name="liveTraf_ignoreUA" id="liveTraf_ignoreUA" value="<?php echo $w->getHTML('liveTraf_ignoreUA'); ?>" /></td></tr>
114
  <tr><td colspan="2">
115
  <div class="wfMarker" id="wfMarkerScansToInclude"></div>
116
- <h3 class="wfConfigHeading">Scans to include</h3></td></tr>
117
  <?php if(wfConfig::get('isPaid')){ ?>
118
- <tr><th>Scan public facing site for vulnerabilities?</th><td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem" name="scansEnabled_public" value="1" <?php $w->cb('scansEnabled_public'); ?></td></tr>
119
  <?php } else { ?>
120
- <tr><th style="color: #F00;">Scan public facing site for vulnerabilities? (<a href="https://www.wordfence.com/wordfence-signup/" target="_blank">Paid members only</a>)</th><td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem" name="scansEnabled_public" value="1" DISABLED ?></td></tr>
121
  <?php } ?>
122
- <tr><th>Scan for the HeartBleed vulnerability?</th><td><input type="checkbox" id="scansEnabled_heartbleed" class="wfConfigElem" name="scansEnabled_heartbleed" value="1" <?php $w->cb('scansEnabled_heartbleed'); ?></td></tr>
123
- <tr><th>Scan core files against repository versions for changes</th><td><input type="checkbox" id="scansEnabled_core" class="wfConfigElem" name="scansEnabled_core" value="1" <?php $w->cb('scansEnabled_core'); ?>/></td></tr>
124
 
125
- <tr><th>Scan theme files against repository versions for changes</th><td><input type="checkbox" id="scansEnabled_themes" class="wfConfigElem" name="scansEnabled_themes" value="1" <?php $w->cb('scansEnabled_themes'); ?>/></td></tr>
126
- <tr><th>Scan plugin files against repository versions for changes</th><td><input type="checkbox" id="scansEnabled_plugins" class="wfConfigElem" name="scansEnabled_plugins" value="1" <?php $w->cb('scansEnabled_plugins'); ?>/></td></tr>
127
- <tr><th>Scan for signatures of known malicious files</th><td><input type="checkbox" id="scansEnabled_malware" class="wfConfigElem" name="scansEnabled_malware" value="1" <?php $w->cb('scansEnabled_malware'); ?>/></td></tr>
128
- <tr><th>Scan file contents for backdoors, trojans and suspicious code</th><td><input type="checkbox" id="scansEnabled_fileContents" class="wfConfigElem" name="scansEnabled_fileContents" value="1" <?php $w->cb('scansEnabled_fileContents'); ?>/></td></tr>
129
- <tr><th>Scan posts for known dangerous URLs and suspicious content</th><td><input type="checkbox" id="scansEnabled_posts" class="wfConfigElem" name="scansEnabled_posts" value="1" <?php $w->cb('scansEnabled_posts'); ?>/></td></tr>
130
- <tr><th>Scan comments for known dangerous URLs and suspicious content</th><td><input type="checkbox" id="scansEnabled_comments" class="wfConfigElem" name="scansEnabled_comments" value="1" <?php $w->cb('scansEnabled_comments'); ?>/></td></tr>
131
- <tr><th>Scan for out of date plugins, themes and WordPress versions</th><td><input type="checkbox" id="scansEnabled_oldVersions" class="wfConfigElem" name="scansEnabled_oldVersions" value="1" <?php $w->cb('scansEnabled_oldVersions'); ?>/></td></tr>
132
- <tr><th>Check the strength of passwords</th><td><input type="checkbox" id="scansEnabled_passwds" class="wfConfigElem" name="scansEnabled_passwds" value="1" <?php $w->cb('scansEnabled_passwds'); ?>/></td></tr>
133
- <tr><th>Scan options table</th><td><input type="checkbox" id="scansEnabled_options" class="wfConfigElem" name="scansEnabled_options" value="1" <?php $w->cb('scansEnabled_options'); ?>/></td></tr>
134
- <tr><th>Monitor disk space</th><td><input type="checkbox" id="scansEnabled_diskSpace" class="wfConfigElem" name="scansEnabled_diskSpace" value="1" <?php $w->cb('scansEnabled_diskSpace'); ?>/></td></tr>
135
- <tr><th>Scan for unauthorized DNS changes</th><td><input type="checkbox" id="scansEnabled_dns" class="wfConfigElem" name="scansEnabled_dns" value="1" <?php $w->cb('scansEnabled_dns'); ?>/></td></tr>
136
- <tr><th>Scan files outside your WordPress installation</th><td><input type="checkbox" id="other_scanOutside" class="wfConfigElem" name="other_scanOutside" value="1" <?php $w->cb('other_scanOutside'); ?> /></td></tr>
137
- <tr><th>Scan image files as if they were executable</th><td><input type="checkbox" id="scansEnabled_scanImages" class="wfConfigElem" name="scansEnabled_scanImages" value="1" <?php $w->cb('scansEnabled_scanImages'); ?> /></td></tr>
138
- <tr><th>Enable HIGH SENSITIVITY scanning. May give false positives.</th><td><input type="checkbox" id="scansEnabled_highSense" class="wfConfigElem" name="scansEnabled_highSense" value="1" <?php $w->cb('scansEnabled_highSense'); ?> /></td></tr>
139
- <tr><th>Exclude files from scan that match these wildcard patterns. Comma separated.</th><td><input type="text" id="scan_exclude" class="wfConfigElem" name="scan_exclude" size="20" value="<?php echo $w->getHTML('scan_exclude'); ?>" />e.g. *.sql,*.tar,backup*.zip</td></tr>
140
  <tr><td colspan="2">
141
  <div class="wfMarker" id="wfMarkerFirewallRules"></div>
142
- <h3 class="wfConfigHeading">Firewall Rules</h3>
143
  </td></tr>
144
- <tr><th>Immediately block fake Google crawlers:</th><td><input type="checkbox" id="blockFakeBots" class="wfConfigElem" name="blockFakeBots" value="1" <?php $w->cb('blockFakeBots'); ?>/></td></tr>
145
- <tr><th>How should we treat Google's crawlers</th><td>
146
  <select id="neverBlockBG" class="wfConfigElem" name="neverBlockBG">
147
  <option value="neverBlockVerified"<?php $w->sel('neverBlockBG', 'neverBlockVerified'); ?>>Verified Google crawlers have unlimited access to this site</option>
148
  <option value="neverBlockUA"<?php $w->sel('neverBlockBG', 'neverBlockUA'); ?>>Anyone claiming to be Google has unlimited access</option>
149
  <option value="treatAsOtherCrawlers"<?php $w->sel('neverBlockBG', 'treatAsOtherCrawlers'); ?>>Treat Google like any other Crawler</option>
150
  </select></td></tr>
151
- <tr><th>If anyone's requests exceed:</th><td><?php $rateName='maxGlobalRequests'; require('wfRate.php'); ?> then <?php $throtName='maxGlobalRequests_action'; require('wfAction.php'); ?></td></tr>
152
- <tr><th>If a crawler's page views exceed:</th><td><?php $rateName='maxRequestsCrawlers'; require('wfRate.php'); ?> then <?php $throtName='maxRequestsCrawlers_action'; require('wfAction.php'); ?></td></tr>
153
- <tr><th>If a crawler's pages not found (404s) exceed:</th><td><?php $rateName='max404Crawlers'; require('wfRate.php'); ?> then <?php $throtName='max404Crawlers_action'; require('wfAction.php'); ?></td></tr>
154
- <tr><th>If a human's page views exceed:</th><td><?php $rateName='maxRequestsHumans'; require('wfRate.php'); ?> then <?php $throtName='maxRequestsHumans_action'; require('wfAction.php'); ?></td></tr>
155
- <tr><th>If a human's pages not found (404s) exceed:</th><td><?php $rateName='max404Humans'; require('wfRate.php'); ?> then <?php $throtName='max404Humans_action'; require('wfAction.php'); ?></td></tr>
156
- <tr><th>If 404's for known vulnerable URL's exceed:</th><td><?php $rateName='maxScanHits'; require('wfRate.php'); ?> then <?php $throtName='maxScanHits_action'; require('wfAction.php'); ?></td></tr>
157
- <tr><th>How long is an IP address blocked when it breaks a rule:</th><td>
158
  <select id="blockedTime" class="wfConfigElem" name="blockedTime">
159
  <option value="60"<?php $w->sel('blockedTime', '60'); ?>>1 minute</option>
160
  <option value="300"<?php $w->sel('blockedTime', '300'); ?>>5 minutes</option>
@@ -172,15 +172,15 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
172
 
173
  <tr><td colspan="2">
174
  <div class="wfMarker" id="wfMarkerLoginSecurity"></div>
175
- <h3 class="wfConfigHeading">Login Security Options</h3>
176
  </td></tr>
177
- <tr><th>Enforce strong passwords?</th><td>
178
  <select class="wfConfigElem" id="loginSec_strongPasswds" name="loginSec_strongPasswds">
179
  <option value="">Do not force users to use strong passwords</option>
180
  <option value="pubs"<?php $w->sel('loginSec_strongPasswds', 'pubs'); ?>>Force admins and publishers to use strong passwords (recommended)</option>
181
  <option value="all"<?php $w->sel('loginSec_strongPasswds', 'all'); ?>>Force all members to use strong passwords</option>
182
  </select>
183
- <tr><th>Lock out after how many login failures</th><td>
184
  <select id="loginSec_maxFailures" class="wfConfigElem" name="loginSec_maxFailures">
185
  <option value="1"<?php $w->sel('loginSec_maxFailures', '1'); ?>>1</option>
186
  <option value="2"<?php $w->sel('loginSec_maxFailures', '2'); ?>>2</option>
@@ -201,7 +201,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
201
  <option value="500"<?php $w->sel('loginSec_maxFailures', '500'); ?>>500</option>
202
  </select>
203
  </td></tr>
204
- <tr><th>Lock out after how many forgot password attempts</th><td>
205
  <select id="loginSec_maxForgotPasswd" class="wfConfigElem" name="loginSec_maxForgotPasswd">
206
  <option value="1"<?php $w->sel('loginSec_maxForgotPasswd', '1'); ?>>1</option>
207
  <option value="2"<?php $w->sel('loginSec_maxForgotPasswd', '2'); ?>>2</option>
@@ -222,7 +222,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
222
  <option value="500"<?php $w->sel('loginSec_maxForgotPasswd', '500'); ?>>500</option>
223
  </select>
224
  </td></tr>
225
- <tr><th>Count failures over what time period</th><td>
226
  <select id="loginSec_countFailMins" class="wfConfigElem" name="loginSec_countFailMins">
227
  <option value="5"<?php $w->sel('loginSec_countFailMins', '5'); ?>>5 minutes</option>
228
  <option value="10"<?php $w->sel('loginSec_countFailMins', '10'); ?>>10 minutes</option>
@@ -234,7 +234,7 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
234
  <option value="1440"<?php $w->sel('loginSec_countFailMins', '1440'); ?>>1 day</option>
235
  </select>
236
  </td></tr>
237
- <tr><th>Amount of time a user is locked out</th><td>
238
  <select id="loginSec_lockoutMins" class="wfConfigElem" name="loginSec_lockoutMins">
239
  <option value="5"<?php $w->sel('loginSec_lockoutMins', '5'); ?>>5 minutes</option>
240
  <option value="10"<?php $w->sel('loginSec_lockoutMins', '10'); ?>>10 minutes</option>
@@ -252,44 +252,44 @@ var WFSLevels = <?php echo json_encode(wfConfig::$securityLevels); ?>;
252
  <option value="86400"<?php $w->sel('loginSec_lockoutMins', '86400'); ?>>60 days</option>
253
  </select>
254
  </td></tr>
255
- <tr><th>Immediately lock out invalid usernames</th><td><input type="checkbox" id="loginSec_lockInvalidUsers" class="wfConfigElem" name="loginSec_lockInvalidUsers" <?php $w->cb('loginSec_lockInvalidUsers'); ?> /></td></tr>
256
- <tr><th>Don't let WordPress reveal valid users in login errors</th><td><input type="checkbox" id="loginSec_maskLoginErrors" class="wfConfigElem" name="loginSec_maskLoginErrors" <?php $w->cb('loginSec_maskLoginErrors'); ?> /></td></tr>
257
- <tr><th>Prevent users registering 'admin' username if it doesn't exist</th><td><input type="checkbox" id="loginSec_blockAdminReg" class="wfConfigElem" name="loginSec_blockAdminReg" <?php $w->cb('loginSec_blockAdminReg'); ?> /></td></tr>
258
- <tr><th>Prevent discovery of usernames through '?/author=N' scans</th><td><input type="checkbox" id="loginSec_disableAuthorScan" class="wfConfigElem" name="loginSec_disableAuthorScan" <?php $w->cb('loginSec_disableAuthorScan'); ?> /></td></tr>
259
- <tr><th>Immediately block the IP of users who try to sign in as these usernames</th><td><input type="text" name="loginSec_userBlacklist" id="loginSec_userBlacklist" value="<?php echo $w->getHTML('loginSec_userBlacklist'); ?>" size="40" />&nbsp;(Comma separated. Existing users won't be blocked.)</td></tr>
260
  <tr><td colspan="2">
261
  <div class="wfMarker" id="wfMarkerOtherOptions"></div>
262
- <h3 class="wfConfigHeading">Other Options</h3>
263
  </td></tr>
264
 
265
- <tr><th>Whitelisted IP addresses that bypass all rules:</th><td><input type="text" name="whitelisted" id="whitelisted" value="<?php echo $w->getHTML('whitelisted'); ?>" size="40" /></td></tr>
266
  <tr><th colspan="2" style="color: #999;">Whitelisted IP's must be separated by commas. You can specify ranges using the following format: 123.23.34.[1-50]<br />Wordfence automatically whitelists <a href="http://en.wikipedia.org/wiki/Private_network" target="_blank">private networks</a> because these are not routable on the public Internet.<br /><br /></th></tr>
267
 
268
- <tr><th>Immediately block IP's that access these URLs:</th><td><input type="text" name="bannedURLs" id="bannedURLs" value="<?php echo $w->getHTML('bannedURLs'); ?>" size="40" /></td></tr>
269
  <tr><th colspan="2" style="color: #999;">Separate multiple URL's with commas. If you see an attacker repeatedly probing your site for a known vulnerability you can use this to immediately block them.<br />
270
  All URL's must start with a '/' without quotes and must be relative. e.g. /badURLone/, /bannedPage.html, /dont-access/this/URL/
271
  <br /><br /></th></tr>
272
 
273
- <tr><th>Hide WordPress version</th><td><input type="checkbox" id="other_hideWPVersion" class="wfConfigElem" name="other_hideWPVersion" value="1" <?php $w->cb('other_hideWPVersion'); ?> /></td></tr>
274
- <tr><th>Hold anonymous comments using member emails for moderation</th><td><input type="checkbox" id="other_noAnonMemberComments" class="wfConfigElem" name="other_noAnonMemberComments" value="1" <?php $w->cb('other_noAnonMemberComments'); ?> /></td></tr>
275
- <tr><th>Filter comments for malware and phishing URL's</th><td><input type="checkbox" id="other_scanComments" class="wfConfigElem" name="other_scanComments" value="1" <?php $w->cb('other_scanComments'); ?> /></td></tr>
276
- <tr><th>Check password strength on profile update</th><td><input type="checkbox" id="other_pwStrengthOnUpdate" class="wfConfigElem" name="other_pwStrengthOnUpdate" value="1" <?php $w->cb('other_pwStrengthOnUpdate'); ?> /></td></tr>
277
- <tr><th>Participate in the Real-Time WordPress Security Network</th><td><input type="checkbox" id="other_WFNet" class="wfConfigElem" name="other_WFNet" value="1" <?php $w->cb('other_WFNet'); ?> /></td></tr>
278
- <tr><th>How much memory should Wordfence request when scanning</th><td><input type="text" id="maxMem" name="maxMem" value="<?php $w->f('maxMem'); ?>" size="4" />Megabytes</td></tr>
279
- <tr><th>Maximum execution time for each scan stage</th><td><input type="text" id="maxExecutionTime" name="maxExecutionTime" value="<?php $w->f('maxExecutionTime'); ?>" size="4" />Blank for default. Must be greater than 9.</td></tr>
280
- <tr><th>Update interval in seconds (2 is default)</th><td><input type="text" id="actUpdateInterval" name="actUpdateInterval" value="<?php $w->f('actUpdateInterval'); ?>" size="4" />Setting higher will reduce browser traffic but slow scan starts, live traffic &amp; status updates.</td></tr>
281
- <tr><th>Enable debugging mode (increases database load)</th><td><input type="checkbox" id="debugOn" class="wfConfigElem" name="debugOn" value="1" <?php $w->cb('debugOn'); ?> /></td></tr>
282
- <tr><th>Delete Wordfence tables and data on deactivation?</th><td><input type="checkbox" id="deleteTablesOnDeact" class="wfConfigElem" name="deleteTablesOnDeact" value="1" <?php $w->cb('deleteTablesOnDeact'); ?> /></td></tr>
283
 
284
 
285
- <tr><th>Disable Wordfence Cookies</th><td><input type="checkbox" id="disableCookies" class="wfConfigElem" name="disableCookies" value="1" <?php $w->cb('disableCookies'); ?> />(when enabled all visits in live traffic will appear to be new visits)</td></tr>
286
- <tr><th>Start all scans remotely</th><td><input type="checkbox" id="startScansRemotely" class="wfConfigElem" name="startScansRemotely" value="1" <?php $w->cb('startScansRemotely'); ?> />(Try this if your scans aren't starting and your site is publicly accessible)</td></tr>
287
- <tr><th>Disable config caching</th><td><input type="checkbox" id="disableConfigCaching" class="wfConfigElem" name="disableConfigCaching" value="1" <?php $w->cb('disableConfigCaching'); ?> />(Try this if your options aren't saving)</td></tr>
288
- <tr><th>Add a debugging comment to HTML source of cached pages.</th><td><input type="checkbox" id="addCacheComment" class="wfConfigElem" name="addCacheComment" value="1" <?php $w->cb('addCacheComment'); ?> /></td></tr>
289
- <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=conntest&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Click to test connectivity to the Wordfence API servers</a></th></tr>
290
- <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=sysinfo&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Click to view your system's configuration in a new window</a></th></tr>
291
- <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=testmem&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Test your WordPress host's available memory</a></th></tr>
292
- <tr><th>Send a test email from this WordPress server to an email address:</th><td><input type="text" id="testEmailDest" value="" size="20" maxlength="255" class="wfConfigElem" />
293
  <input type="button" value="Send Test Email" onclick="WFAD.sendTestEmail(jQuery('#testEmailDest').val());" /></td></tr>
294
  </table>
295
  <p><table border="0" cellpadding="0" cellspacing="0"><tr><td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes" onclick="WFAD.saveConfig();" /></td><td style="height: 24px;"><div class="wfAjax24"></div><span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td></tr></table></p>
18
  <table class="wfConfigForm">
19
  <tr><td colspan="2"><h2>License</h2></td></tr>
20
 
21
+ <tr><th>Your Wordfence API Key:<a href="http://docs.wordfence.com/en/Wordfence_options#Wordfence_API_Key" target="_blank" class="wfhelp"></a></th><td><input type="text" id="apiKey" name="apiKey" value="<?php $w->f('apiKey'); ?>" size="80" /></td></tr>
22
  <tr><th>Key type currently active:</th><td>
23
  <?php if(wfConfig::get('isPaid')){ ?>
24
  The currently active API Key is a Premium Key. <span style="font-weight: bold; color: #0A0;">Premium scanning enabled!</span>
32
  <?php } ?>
33
 
34
 
35
+ <tr><td colspan="2"><h2>Basic Options<a href="http://docs.wordfence.com/en/Wordfence_options#Basic_Options" target="_blank" class="wfhelp"></a></h2></td></tr>
36
+ <tr><th class="wfConfigEnable">Enable firewall<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_Firewall" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="firewallEnabled" class="wfConfigElem" name="firewallEnabled" value="1" <?php $w->cb('firewallEnabled'); ?> />&nbsp;<span style="color: #F00;">NOTE:</span> This checkbox enables ALL firewall functions including IP, country and advanced blocking and the "Firewall Rules" below.</td></tr>
37
  <tr><td colspan="2">&nbsp;</td></tr>
38
+ <tr><th class="wfConfigEnable">Enable login security<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_login_security" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="loginSecurityEnabled" class="wfConfigElem" name="loginSecurityEnabled" value="1" <?php $w->cb('loginSecurityEnabled'); ?> />&nbsp;This option enables all "Login Security" options. You can modify individual options further down this page.</td></tr>
39
  <tr><td colspan="2">&nbsp;</td></tr>
40
+ <tr><th class="wfConfigEnable">Enable Live Traffic View<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_Live_Traffic_View" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="liveTrafficEnabled" class="wfConfigElem" name="liveTrafficEnabled" value="1" <?php $w->cb('liveTrafficEnabled'); ?> onclick="WFAD.reloadConfigPage = true; return true;" />&nbsp;This option enables live traffic logging.</td></tr>
41
  <tr><td colspan="2">&nbsp;</td></tr>
42
+ <tr><th class="wfConfigEnable">Advanced Comment Spam Filter<a href="http://docs.wordfence.com/en/Wordfence_options#Advanced_Comment_Spam_Filter" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="advancedCommentScanning" class="wfConfigElem" name="advancedCommentScanning" value="1" <?php $w->cbp('advancedCommentScanning'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#advancedCommentScanning').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> In addition to free comment filtering (see below) this option filters comments against several additional real-time lists of known spammers and infected hosts.</td></tr>
43
+ <tr><th class="wfConfigEnable">Check if this website is being "Spamvertised"<a href="http://docs.wordfence.com/en/Wordfence_options#Check_if_this_website_is_being_.22Spamvertized.22" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="spamvertizeCheck" class="wfConfigElem" name="spamvertizeCheck" value="1" <?php $w->cbp('spamvertizeCheck'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#spamvertizeCheck').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam services if your site domain name is appearing as a link in spam emails.</td></tr>
44
+ <tr><th class="wfConfigEnable">Check if this website IP is generating spam<a href="http://docs.wordfence.com/en/Wordfence_options#Check_if_this_website_IP_is_generating_spam" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="checkSpamIP" class="wfConfigElem" name="checkSpamIP" value="1" <?php $w->cbp('checkSpamIP'); if(! wfConfig::get('isPaid')){ ?>onclick="alert('This is a paid feature because it places significant additional load on our servers.'); jQuery('#checkSpamIP').attr('checked', false); return false;" <?php } ?> />&nbsp;<span style="color: #F00;">Premium Feature</span> When doing a scan, Wordfence will check with spam services if your website IP address is listed as a known source of spam email.</td></tr>
45
  <tr><td colspan="2">&nbsp;</td></tr>
46
  <?php /* <tr><th class="wfConfigEnable">Enable Performance Monitoring</th><td><input type="checkbox" id="perfLoggingEnabled" class="wfConfigElem" name="perfLoggingEnabled" value="1" <?php $w->cb('perfLoggingEnabled'); ?> onclick="WFAD.reloadConfigPage = true; return true;" />&nbsp;This option enables performance monitoring.</td></tr> */ ?>
47
  <tr><td colspan="2">&nbsp;</td></tr>
48
+ <tr><th class="wfConfigEnable">Enable automatic scheduled scans<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_automatic_scheduled_scans" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scheduledScansEnabled" class="wfConfigElem" name="scheduledScansEnabled" value="1" <?php $w->cb('scheduledScansEnabled'); ?> />&nbsp;Regular scans ensure your site stays secure.</td></tr>
49
  <tr><td colspan="2">&nbsp;</td></tr>
50
+ <tr><th class="wfConfigEnable">Update Wordfence automatically when a new version is released?<a href="http://docs.wordfence.com/en/Wordfence_options#Update_Wordfence_Automatically_when_a_new_version_is_released" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="autoUpdate" class="wfConfigElem" name="autoUpdate" value="1" <?php $w->cb('autoUpdate'); ?> />&nbsp;Automatically updates Wordfence to the newest version within 24 hours of a new release.<br />
51
  <?php if(getenv('noabort') != '1' && stristr($_SERVER['SERVER_SOFTWARE'], 'litespeed') !== false){ ?>
52
  <span style="color: #F00;">Warning: </span>You are running LiteSpeed web server and you don't have the "noabort" variable set in your .htaccess.<br />
53
  <a href="https://support.wordfence.com/solution/articles/1000129050-running-wordfence-under-litespeed-web-server-and-preventing-process-killing-or" target="_blank">Please read this article in our FAQ to make an important change that will ensure your site stability during an update.<br />
55
  </td></tr>
56
  <tr><td colspan="2">&nbsp;</td></tr>
57
 
58
+ <tr><th>Where to email alerts:<a href="http://docs.wordfence.com/en/Wordfence_options#Where_to_email_alerts" target="_blank" class="wfhelp"></a></th><td><input type="text" id="alertEmails" name="alertEmails" value="<?php $w->f('alertEmails'); ?>" size="50" />&nbsp;<span class="wfTipText">Separate multiple emails with commas</span></td></tr>
59
  <tr><th colspan="2">&nbsp;</th></tr>
60
+ <tr><th>Security Level:<a href="http://docs.wordfence.com/en/Wordfence_options#Security_Level" target="_blank" class="wfhelp"></a></th><td>
61
  <select id="securityLevel" name="securityLevel" onchange="WFAD.changeSecurityLevel(); return true;">
62
  <option value="0"<?php $w->sel('securityLevel', '0'); ?>>Level 0: Disable all Wordfence security measures</option>
63
  <option value="1"<?php $w->sel('securityLevel', '1'); ?>>Level 1: Light protection. Just the basics</option>
67
  <option value="CUSTOM"<?php $w->sel('securityLevel', 'CUSTOM'); ?>>Custom settings</option>
68
  </select>
69
  </td></tr>
70
+ <tr><th>How does Wordfence get IPs:<a href="http://docs.wordfence.com/en/Wordfence_options#How_does_Wordfence_get_IPs" target="_blank" class="wfhelp"></a></th><td>
71
  <select id="howGetIPs" name="howGetIPs">
72
  <option value="">Let Wordfence use the most secure method to get visitor IP addresses. Prevents spoofing and works with most sites.</option>
73
  <option value="REMOTE_ADDR"<?php $w->sel('howGetIPs', 'REMOTE_ADDR'); ?>>Use PHP's built in REMOTE_ADDR and don't use anything else. Very secure if this is compatible with your site.</option>
80
  <p><table border="0" cellpadding="0" cellspacing="0"><tr><td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes" onclick="WFAD.saveConfig();" /></td><td style="height: 24px;"><div class="wfAjax24"></div><span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td></tr></table></p>
81
  <div class="wfMarker" id="wfMarkerBasicOptions"></div>
82
  <div style="margin-top: 25px;">
83
+ <h2>Advanced Options:<a href="http://docs.wordfence.com/en/Wordfence_options#Advanced_Options" target="_blank" class="wfhelp"></a></h2>
84
  <p style="width: 600px;">
85
  Wordfence works great out of the box for most websites. Simply install Wordfence and your site and content is protected. For finer granularity of control, we have provided advanced options.
86
  </p>
87
  </div>
88
  <div id="wfConfigAdvanced">
89
  <table class="wfConfigForm">
90
+ <tr><td colspan="2"><h3 class="wfConfigHeading">Alerts<a href="http://docs.wordfence.com/en/Wordfence_options#Alerts" target="_blank" class="wfhelp"></a></h3></td></tr>
91
  <?php
92
  $emails = wfConfig::getAlertEmails();
93
  if(sizeof($emails) < 1){
105
  <tr><th>Maximum email alerts to send per hour</th><td>&nbsp;<input type="text" id="alert_maxHourly" name="alert_maxHourly" value="<?php $w->f('alert_maxHourly'); ?>" size="4" />0 or empty means unlimited alerts will be sent.</td></tr>
106
  <tr><td colspan="2">
107
  <div class="wfMarker" id="wfMarkerLiveTrafficOptions"></div>
108
+ <h3 class="wfConfigHeading">Live Traffic View<a href="http://docs.wordfence.com/en/Wordfence_options#Live_Traffic_View" target="_blank" class="wfhelp"></a></h3>
109
  </td></tr>
110
  <tr><th>Don't log signed-in users with publishing access:</th><td><input type="checkbox" id="liveTraf_ignorePublishers" name="liveTraf_ignorePublishers" value="1" <?php $w->cb('liveTraf_ignorePublishers'); ?> /></td></tr>
111
  <tr><th>List of comma separated usernames to ignore:</th><td><input type="text" name="liveTraf_ignoreUsers" id="liveTraf_ignoreUsers" value="<?php echo $w->getHTML('liveTraf_ignoreUsers'); ?>" /></td></tr>
113
  <tr><th>Browser user-agent to ignore:</th><td><input type="text" name="liveTraf_ignoreUA" id="liveTraf_ignoreUA" value="<?php echo $w->getHTML('liveTraf_ignoreUA'); ?>" /></td></tr>
114
  <tr><td colspan="2">
115
  <div class="wfMarker" id="wfMarkerScansToInclude"></div>
116
+ <h3 class="wfConfigHeading">Scans to include<a href="http://docs.wordfence.com/en/Wordfence_options#Scans_to_Include" target="_blank" class="wfhelp"></a></h3></td></tr>
117
  <?php if(wfConfig::get('isPaid')){ ?>
118
+ <tr><th>Scan public facing site for vulnerabilities?<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_public_facing_site" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem" name="scansEnabled_public" value="1" <?php $w->cb('scansEnabled_public'); ?></td></tr>
119
  <?php } else { ?>
120
+ <tr><th style="color: #F00;">Scan public facing site for vulnerabilities?<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_public_facing_site" target="_blank" class="wfhelp"></a>(<a href="https://www.wordfence.com/wordfence-signup/" target="_blank">Paid members only</a>)</th><td><input type="checkbox" id="scansEnabled_public" class="wfConfigElem" name="scansEnabled_public" value="1" DISABLED ?></td></tr>
121
  <?php } ?>
122
+ <tr><th>Scan for the HeartBleed vulnerability?<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_the_HeartBleed_vulnerability" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_heartbleed" class="wfConfigElem" name="scansEnabled_heartbleed" value="1" <?php $w->cb('scansEnabled_heartbleed'); ?></td></tr>
123
+ <tr><th>Scan core files against repository versions for changes<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_core_files_against_repository_version_for_changes" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_core" class="wfConfigElem" name="scansEnabled_core" value="1" <?php $w->cb('scansEnabled_core'); ?>/></td></tr>
124
 
125
+ <tr><th>Scan theme files against repository versions for changes<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_theme_files_against_repository_versions_for_changes" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_themes" class="wfConfigElem" name="scansEnabled_themes" value="1" <?php $w->cb('scansEnabled_themes'); ?>/></td></tr>
126
+ <tr><th>Scan plugin files against repository versions for changes<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_plugin_files_against_repository_versions_for_changes" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_plugins" class="wfConfigElem" name="scansEnabled_plugins" value="1" <?php $w->cb('scansEnabled_plugins'); ?>/></td></tr>
127
+ <tr><th>Scan for signatures of known malicious files<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_signatures_of_known_malicious_files" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_malware" class="wfConfigElem" name="scansEnabled_malware" value="1" <?php $w->cb('scansEnabled_malware'); ?>/></td></tr>
128
+ <tr><th>Scan file contents for backdoors, trojans and suspicious code<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_file_contents_for_backdoors.2C_trojans_and_suspicious_code" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_fileContents" class="wfConfigElem" name="scansEnabled_fileContents" value="1" <?php $w->cb('scansEnabled_fileContents'); ?>/></td></tr>
129
+ <tr><th>Scan posts for known dangerous URLs and suspicious content<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_posts_for_known_dangerous_URLs_and_suspicious_content" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_posts" class="wfConfigElem" name="scansEnabled_posts" value="1" <?php $w->cb('scansEnabled_posts'); ?>/></td></tr>
130
+ <tr><th>Scan comments for known dangerous URLs and suspicious content<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_comments_for_known_dangerous_URLs_and_suspicious_content" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_comments" class="wfConfigElem" name="scansEnabled_comments" value="1" <?php $w->cb('scansEnabled_comments'); ?>/></td></tr>
131
+ <tr><th>Scan for out of date plugins, themes and WordPress versions<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_out_of_date_plugins.2C_themes_and_WordPress_versions" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_oldVersions" class="wfConfigElem" name="scansEnabled_oldVersions" value="1" <?php $w->cb('scansEnabled_oldVersions'); ?>/></td></tr>
132
+ <tr><th>Check the strength of passwords<a href="http://docs.wordfence.com/en/Wordfence_options#Check_the_strength_of_passwords" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_passwds" class="wfConfigElem" name="scansEnabled_passwds" value="1" <?php $w->cb('scansEnabled_passwds'); ?>/></td></tr>
133
+ <tr><th>Scan options table<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_options_table" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_options" class="wfConfigElem" name="scansEnabled_options" value="1" <?php $w->cb('scansEnabled_options'); ?>/></td></tr>
134
+ <tr><th>Monitor disk space<a href="http://docs.wordfence.com/en/Wordfence_options#Monitor_disk_space" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_diskSpace" class="wfConfigElem" name="scansEnabled_diskSpace" value="1" <?php $w->cb('scansEnabled_diskSpace'); ?>/></td></tr>
135
+ <tr><th>Scan for unauthorized DNS changes<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_for_unauthorized_DNS_changes" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_dns" class="wfConfigElem" name="scansEnabled_dns" value="1" <?php $w->cb('scansEnabled_dns'); ?>/></td></tr>
136
+ <tr><th>Scan files outside your WordPress installation<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_files_outside_your_WordPress_installation" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_scanOutside" class="wfConfigElem" name="other_scanOutside" value="1" <?php $w->cb('other_scanOutside'); ?> /></td></tr>
137
+ <tr><th>Scan image files as if they were executable<a href="http://docs.wordfence.com/en/Wordfence_options#Scan_image_files_as_if_they_were_executable" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_scanImages" class="wfConfigElem" name="scansEnabled_scanImages" value="1" <?php $w->cb('scansEnabled_scanImages'); ?> /></td></tr>
138
+ <tr><th>Enable HIGH SENSITIVITY scanning. May give false positives.<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_HIGH_SENSITIVITY_scanning" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="scansEnabled_highSense" class="wfConfigElem" name="scansEnabled_highSense" value="1" <?php $w->cb('scansEnabled_highSense'); ?> /></td></tr>
139
+ <tr><th>Exclude files from scan that match these wildcard patterns. Comma separated.<a href="http://docs.wordfence.com/en/Wordfence_options#Exclude_files_from_scan_that_match_these_wildcard_patterns." target="_blank" class="wfhelp"></a></th><td><input type="text" id="scan_exclude" class="wfConfigElem" name="scan_exclude" size="20" value="<?php echo $w->getHTML('scan_exclude'); ?>" />e.g. *.sql,*.tar,backup*.zip</td></tr>
140
  <tr><td colspan="2">
141
  <div class="wfMarker" id="wfMarkerFirewallRules"></div>
142
+ <h3 class="wfConfigHeading">Firewall Rules<a href="http://docs.wordfence.com/en/Wordfence_options#Firewall_Rules" target="_blank" class="wfhelp"></a></h3>
143
  </td></tr>
144
+ <tr><th>Immediately block fake Google crawlers:<a href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_fake_Google_crawlers:" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="blockFakeBots" class="wfConfigElem" name="blockFakeBots" value="1" <?php $w->cb('blockFakeBots'); ?>/></td></tr>
145
+ <tr><th>How should we treat Google's crawlers<a href="http://docs.wordfence.com/en/Wordfence_options#How_should_we_treat_Google.27s_crawlers" target="_blank" class="wfhelp"></a></th><td>
146
  <select id="neverBlockBG" class="wfConfigElem" name="neverBlockBG">
147
  <option value="neverBlockVerified"<?php $w->sel('neverBlockBG', 'neverBlockVerified'); ?>>Verified Google crawlers have unlimited access to this site</option>
148
  <option value="neverBlockUA"<?php $w->sel('neverBlockBG', 'neverBlockUA'); ?>>Anyone claiming to be Google has unlimited access</option>
149
  <option value="treatAsOtherCrawlers"<?php $w->sel('neverBlockBG', 'treatAsOtherCrawlers'); ?>>Treat Google like any other Crawler</option>
150
  </select></td></tr>
151
+ <tr><th>If anyone's requests exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_anyone.27s_requests_exceed:" target="_blank" class="wfhelp"></a></th><td><?php $rateName='maxGlobalRequests'; require('wfRate.php'); ?> then <?php $throtName='maxGlobalRequests_action'; require('wfAction.php'); ?></td></tr>
152
+ <tr><th>If a crawler's page views exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_a_crawler.27s_page_views_exceed" target="_blank" class="wfhelp"></a></th><td><?php $rateName='maxRequestsCrawlers'; require('wfRate.php'); ?> then <?php $throtName='maxRequestsCrawlers_action'; require('wfAction.php'); ?></td></tr>
153
+ <tr><th>If a crawler's pages not found (404s) exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_a_crawler.27s_pages_not_found_.28404s.29_exceed" target="_blank" class="wfhelp"></a></th><td><?php $rateName='max404Crawlers'; require('wfRate.php'); ?> then <?php $throtName='max404Crawlers_action'; require('wfAction.php'); ?></td></tr>
154
+ <tr><th>If a human's page views exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_a_human.27s_page_views_exceed" target="_blank" class="wfhelp"></a></th><td><?php $rateName='maxRequestsHumans'; require('wfRate.php'); ?> then <?php $throtName='maxRequestsHumans_action'; require('wfAction.php'); ?></td></tr>
155
+ <tr><th>If a human's pages not found (404s) exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_a_human.27s_pages_not_found_.28404s.29_exceed" target="_blank" class="wfhelp"></a></th><td><?php $rateName='max404Humans'; require('wfRate.php'); ?> then <?php $throtName='max404Humans_action'; require('wfAction.php'); ?></td></tr>
156
+ <tr><th>If 404's for known vulnerable URL's exceed:<a href="http://docs.wordfence.com/en/Wordfence_options#If_404.27s_for_known_vulnerable_URL.27s_exceed" target="_blank" class="wfhelp"></a></th><td><?php $rateName='maxScanHits'; require('wfRate.php'); ?> then <?php $throtName='maxScanHits_action'; require('wfAction.php'); ?></td></tr>
157
+ <tr><th>How long is an IP address blocked when it breaks a rule:<a href="http://docs.wordfence.com/en/Wordfence_options#How_long_is_an_IP_address_blocked_when_it_breaks_a_rule" target="_blank" class="wfhelp"></a></th><td>
158
  <select id="blockedTime" class="wfConfigElem" name="blockedTime">
159
  <option value="60"<?php $w->sel('blockedTime', '60'); ?>>1 minute</option>
160
  <option value="300"<?php $w->sel('blockedTime', '300'); ?>>5 minutes</option>
172
 
173
  <tr><td colspan="2">
174
  <div class="wfMarker" id="wfMarkerLoginSecurity"></div>
175
+ <h3 class="wfConfigHeading">Login Security Options<a href="http://docs.wordfence.com/en/Wordfence_options#Login_Security_Options" target="_blank" class="wfhelp"></a></h3>
176
  </td></tr>
177
+ <tr><th>Enforce strong passwords?<a href="http://docs.wordfence.com/en/Wordfence_options#Enforce_strong_passwords.3F" target="_blank" class="wfhelp"></a></th><td>
178
  <select class="wfConfigElem" id="loginSec_strongPasswds" name="loginSec_strongPasswds">
179
  <option value="">Do not force users to use strong passwords</option>
180
  <option value="pubs"<?php $w->sel('loginSec_strongPasswds', 'pubs'); ?>>Force admins and publishers to use strong passwords (recommended)</option>
181
  <option value="all"<?php $w->sel('loginSec_strongPasswds', 'all'); ?>>Force all members to use strong passwords</option>
182
  </select>
183
+ <tr><th>Lock out after how many login failures<a href="http://docs.wordfence.com/en/Wordfence_options#Lock_out_after_how_many_login_failures" target="_blank" class="wfhelp"></a></th><td>
184
  <select id="loginSec_maxFailures" class="wfConfigElem" name="loginSec_maxFailures">
185
  <option value="1"<?php $w->sel('loginSec_maxFailures', '1'); ?>>1</option>
186
  <option value="2"<?php $w->sel('loginSec_maxFailures', '2'); ?>>2</option>
201
  <option value="500"<?php $w->sel('loginSec_maxFailures', '500'); ?>>500</option>
202
  </select>
203
  </td></tr>
204
+ <tr><th>Lock out after how many forgot password attempts<a href="http://docs.wordfence.com/en/Wordfence_options#Lock_out_after_how_many_forgot_password_attempts" target="_blank" class="wfhelp"></a></th><td>
205
  <select id="loginSec_maxForgotPasswd" class="wfConfigElem" name="loginSec_maxForgotPasswd">
206
  <option value="1"<?php $w->sel('loginSec_maxForgotPasswd', '1'); ?>>1</option>
207
  <option value="2"<?php $w->sel('loginSec_maxForgotPasswd', '2'); ?>>2</option>
222
  <option value="500"<?php $w->sel('loginSec_maxForgotPasswd', '500'); ?>>500</option>
223
  </select>
224
  </td></tr>
225
+ <tr><th>Count failures over what time period<a href="http://docs.wordfence.com/en/Wordfence_options#Count_failures_over_what_time_period" target="_blank" class="wfhelp"></a></th><td>
226
  <select id="loginSec_countFailMins" class="wfConfigElem" name="loginSec_countFailMins">
227
  <option value="5"<?php $w->sel('loginSec_countFailMins', '5'); ?>>5 minutes</option>
228
  <option value="10"<?php $w->sel('loginSec_countFailMins', '10'); ?>>10 minutes</option>
234
  <option value="1440"<?php $w->sel('loginSec_countFailMins', '1440'); ?>>1 day</option>
235
  </select>
236
  </td></tr>
237
+ <tr><th>Amount of time a user is locked out<a href="http://docs.wordfence.com/en/Wordfence_options#Amount_of_time_a_user_is_locked_out" target="_blank" class="wfhelp"></a></th><td>
238
  <select id="loginSec_lockoutMins" class="wfConfigElem" name="loginSec_lockoutMins">
239
  <option value="5"<?php $w->sel('loginSec_lockoutMins', '5'); ?>>5 minutes</option>
240
  <option value="10"<?php $w->sel('loginSec_lockoutMins', '10'); ?>>10 minutes</option>
252
  <option value="86400"<?php $w->sel('loginSec_lockoutMins', '86400'); ?>>60 days</option>
253
  </select>
254
  </td></tr>
255
+ <tr><th>Immediately lock out invalid usernames<a href="http://docs.wordfence.com/en/Wordfence_options#Immediately_lock_out_invalid_usernames" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="loginSec_lockInvalidUsers" class="wfConfigElem" name="loginSec_lockInvalidUsers" <?php $w->cb('loginSec_lockInvalidUsers'); ?> /></td></tr>
256
+ <tr><th>Don't let WordPress reveal valid users in login errors<a href="http://docs.wordfence.com/en/Wordfence_options#Don.27t_let_WordPress_reveal_valid_users_in_login_errors" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="loginSec_maskLoginErrors" class="wfConfigElem" name="loginSec_maskLoginErrors" <?php $w->cb('loginSec_maskLoginErrors'); ?> /></td></tr>
257
+ <tr><th>Prevent users registering 'admin' username if it doesn't exist<a href="http://docs.wordfence.com/en/Wordfence_options#Prevent_users_registering_.27admin.27_username_if_it_doesn.27t_exist" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="loginSec_blockAdminReg" class="wfConfigElem" name="loginSec_blockAdminReg" <?php $w->cb('loginSec_blockAdminReg'); ?> /></td></tr>
258
+ <tr><th>Prevent discovery of usernames through '?/author=N' scans<a href="http://docs.wordfence.com/en/Wordfence_options#Prevent_discovery_of_usernames_through_.27.3F.2Fauthor.3DN.27_scans" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="loginSec_disableAuthorScan" class="wfConfigElem" name="loginSec_disableAuthorScan" <?php $w->cb('loginSec_disableAuthorScan'); ?> /></td></tr>
259
+ <tr><th>Immediately block the IP of users who try to sign in as these usernames<a href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_the_IP_of_users_who_try_to_sign_in_as_these_usernames" target="_blank" class="wfhelp"></a></th><td><input type="text" name="loginSec_userBlacklist" id="loginSec_userBlacklist" value="<?php echo $w->getHTML('loginSec_userBlacklist'); ?>" size="40" />&nbsp;(Comma separated. Existing users won't be blocked.)</td></tr>
260
  <tr><td colspan="2">
261
  <div class="wfMarker" id="wfMarkerOtherOptions"></div>
262
+ <h3 class="wfConfigHeading">Other Options<a href="http://docs.wordfence.com/en/Wordfence_options#Other_Options" target="_blank" class="wfhelp"></a></h3>
263
  </td></tr>
264
 
265
+ <tr><th>Whitelisted IP addresses that bypass all rules:<a href="http://docs.wordfence.com/en/Wordfence_options#Whitelisted_IP_addresses_that_bypass_all_rules" target="_blank" class="wfhelp"></a></th><td><input type="text" name="whitelisted" id="whitelisted" value="<?php echo $w->getHTML('whitelisted'); ?>" size="40" /></td></tr>
266
  <tr><th colspan="2" style="color: #999;">Whitelisted IP's must be separated by commas. You can specify ranges using the following format: 123.23.34.[1-50]<br />Wordfence automatically whitelists <a href="http://en.wikipedia.org/wiki/Private_network" target="_blank">private networks</a> because these are not routable on the public Internet.<br /><br /></th></tr>
267
 
268
+ <tr><th>Immediately block IP's that access these URLs:<a href="http://docs.wordfence.com/en/Wordfence_options#Immediately_block_IP.27s_that_access_these_URLs" target="_blank" class="wfhelp"></a></th><td><input type="text" name="bannedURLs" id="bannedURLs" value="<?php echo $w->getHTML('bannedURLs'); ?>" size="40" /></td></tr>
269
  <tr><th colspan="2" style="color: #999;">Separate multiple URL's with commas. If you see an attacker repeatedly probing your site for a known vulnerability you can use this to immediately block them.<br />
270
  All URL's must start with a '/' without quotes and must be relative. e.g. /badURLone/, /bannedPage.html, /dont-access/this/URL/
271
  <br /><br /></th></tr>
272
 
273
+ <tr><th>Hide WordPress version<a href="http://docs.wordfence.com/en/Wordfence_options#Hide_WordPress_version" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_hideWPVersion" class="wfConfigElem" name="other_hideWPVersion" value="1" <?php $w->cb('other_hideWPVersion'); ?> /></td></tr>
274
+ <tr><th>Hold anonymous comments using member emails for moderation<a href="http://docs.wordfence.com/en/Wordfence_options#Hold_anonymous_comments_using_member_emails_for_moderation" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_noAnonMemberComments" class="wfConfigElem" name="other_noAnonMemberComments" value="1" <?php $w->cb('other_noAnonMemberComments'); ?> /></td></tr>
275
+ <tr><th>Filter comments for malware and phishing URL's<a href="http://docs.wordfence.com/en/Wordfence_options#Filter_comments_for_malware_and_phishing_URL.27s" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_scanComments" class="wfConfigElem" name="other_scanComments" value="1" <?php $w->cb('other_scanComments'); ?> /></td></tr>
276
+ <tr><th>Check password strength on profile update<a href="http://docs.wordfence.com/en/Wordfence_options#Check_password_strength_on_profile_update" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_pwStrengthOnUpdate" class="wfConfigElem" name="other_pwStrengthOnUpdate" value="1" <?php $w->cb('other_pwStrengthOnUpdate'); ?> /></td></tr>
277
+ <tr><th>Participate in the Real-Time WordPress Security Network<a href="http://docs.wordfence.com/en/Wordfence_options#Participate_in_the_Real-Time_WordPress_Security_Network" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="other_WFNet" class="wfConfigElem" name="other_WFNet" value="1" <?php $w->cb('other_WFNet'); ?> /></td></tr>
278
+ <tr><th>How much memory should Wordfence request when scanning<a href="http://docs.wordfence.com/en/Wordfence_options#How_much_memory_should_Wordfence_request_when_scanning" target="_blank" class="wfhelp"></a></th><td><input type="text" id="maxMem" name="maxMem" value="<?php $w->f('maxMem'); ?>" size="4" />Megabytes</td></tr>
279
+ <tr><th>Maximum execution time for each scan stage<a href="http://docs.wordfence.com/en/Wordfence_options#Maximum_execution_time_for_each_scan_stage" target="_blank" class="wfhelp"></a></th><td><input type="text" id="maxExecutionTime" name="maxExecutionTime" value="<?php $w->f('maxExecutionTime'); ?>" size="4" />Blank for default. Must be greater than 9.</td></tr>
280
+ <tr><th>Update interval in seconds (2 is default)<a href="http://docs.wordfence.com/en/Wordfence_options#Update_interval_in_seconds" target="_blank" class="wfhelp"></a></th><td><input type="text" id="actUpdateInterval" name="actUpdateInterval" value="<?php $w->f('actUpdateInterval'); ?>" size="4" />Setting higher will reduce browser traffic but slow scan starts, live traffic &amp; status updates.</td></tr>
281
+ <tr><th>Enable debugging mode (increases database load)<a href="http://docs.wordfence.com/en/Wordfence_options#Enable_debugging_mode_.28increases_database_load.29" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="debugOn" class="wfConfigElem" name="debugOn" value="1" <?php $w->cb('debugOn'); ?> /></td></tr>
282
+ <tr><th>Delete Wordfence tables and data on deactivation?<a href="http://docs.wordfence.com/en/Wordfence_options#Delete_Wordfence_tables_and_data_on_deactivation.3F" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="deleteTablesOnDeact" class="wfConfigElem" name="deleteTablesOnDeact" value="1" <?php $w->cb('deleteTablesOnDeact'); ?> /></td></tr>
283
 
284
 
285
+ <tr><th>Disable Wordfence Cookies<a href="http://docs.wordfence.com/en/Wordfence_options#Disable_Wordfence_Cookies" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="disableCookies" class="wfConfigElem" name="disableCookies" value="1" <?php $w->cb('disableCookies'); ?> />(when enabled all visits in live traffic will appear to be new visits)</td></tr>
286
+ <tr><th>Start all scans remotely<a href="http://docs.wordfence.com/en/Wordfence_options#Start_all_scans_remotely" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="startScansRemotely" class="wfConfigElem" name="startScansRemotely" value="1" <?php $w->cb('startScansRemotely'); ?> />(Try this if your scans aren't starting and your site is publicly accessible)</td></tr>
287
+ <tr><th>Disable config caching<a href="http://docs.wordfence.com/en/Wordfence_options#Disable_config_caching" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="disableConfigCaching" class="wfConfigElem" name="disableConfigCaching" value="1" <?php $w->cb('disableConfigCaching'); ?> />(Try this if your options aren't saving)</td></tr>
288
+ <tr><th>Add a debugging comment to HTML source of cached pages.<a href="http://docs.wordfence.com/en/Wordfence_options#Add_a_debugging_comment_to_HTML_source_of_cached_pages" target="_blank" class="wfhelp"></a></th><td><input type="checkbox" id="addCacheComment" class="wfConfigElem" name="addCacheComment" value="1" <?php $w->cb('addCacheComment'); ?> /></td></tr>
289
+ <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=conntest&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Click to test connectivity to the Wordfence API servers</a><a href="http://docs.wordfence.com/en/Wordfence_options#Click_to_test_connectivity_to_the_Wordfence_API_servers" target="_blank" class="wfhelp"></a></th></tr>
290
+ <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=sysinfo&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Click to view your system's configuration in a new window</a><a href="http://docs.wordfence.com/en/Wordfence_options#Click_to_view_your_system.27s_configuration_in_a_new_window" target="_blank" class="wfhelp"></a></th></tr>
291
+ <tr><th colspan="2"><a href="<?php echo wfUtils::siteURLRelative(); ?>?_wfsf=testmem&nonce=<?php echo wp_create_nonce('wp-ajax'); ?>" target="_blank">Test your WordPress host's available memory</a><a href="http://docs.wordfence.com/en/Wordfence_options#Test_your_WordPress_host.27s_available_memory" target="_blank" class="wfhelp"></a></th></tr>
292
+ <tr><th>Send a test email from this WordPress server to an email address:<a href="http://docs.wordfence.com/en/Wordfence_options#Send_a_test_email_from_this_WordPress_server_to_an_email_address" target="_blank" class="wfhelp"></a></th><td><input type="text" id="testEmailDest" value="" size="20" maxlength="255" class="wfConfigElem" />
293
  <input type="button" value="Send Test Email" onclick="WFAD.sendTestEmail(jQuery('#testEmailDest').val());" /></td></tr>
294
  </table>
295
  <p><table border="0" cellpadding="0" cellspacing="0"><tr><td><input type="button" id="button1" name="button1" class="button-primary" value="Save Changes" onclick="WFAD.saveConfig();" /></td><td style="height: 24px;"><div class="wfAjax24"></div><span class="wfSavedMsg">&nbsp;Your changes have been saved!</span></td></tr></table></p>
lib/whois/.htaccess DELETED
@@ -1,2 +0,0 @@
1
- deny from all
2
-
 
 
lib/whois/LICENSE DELETED
@@ -1,340 +0,0 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 2, June 1991
3
-
4
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
6
- Everyone is permitted to copy and distribute verbatim copies
7
- of this license document, but changing it is not allowed.
8
-
9
- Preamble
10
-
11
- The licenses for most software are designed to take away your
12
- freedom to share and change it. By contrast, the GNU General Public
13
- License is intended to guarantee your freedom to share and change free
14
- software--to make sure the software is free for all its users. This
15
- General Public License applies to most of the Free Software
16
- Foundation's software and to any other program whose authors commit to
17
- using it. (Some other Free Software Foundation software is covered by
18
- the GNU Library General Public License instead.) You can apply it to
19
- your programs, too.
20
-
21
- When we speak of free software, we are referring to freedom, not
22
- price. Our General Public Licenses are designed to make sure that you
23
- have the freedom to distribute copies of free software (and charge for
24
- this service if you wish), that you receive source code or can get it
25
- if you want it, that you can change the software or use pieces of it
26
- in new free programs; and that you know you can do these things.
27
-
28
- To protect your rights, we need to make restrictions that forbid
29
- anyone to deny you these rights or to ask you to surrender the rights.
30
- These restrictions translate to certain responsibilities for you if you
31
- distribute copies of the software, or if you modify it.
32
-
33
- For example, if you distribute copies of such a program, whether
34
- gratis or for a fee, you must give the recipients all the rights that
35
- you have. You must make sure that they, too, receive or can get the
36
- source code. And you must show them these terms so they know their
37
- rights.
38
-
39
- We protect your rights with two steps: (1) copyright the software, and
40
- (2) offer you this license which gives you legal permission to copy,
41
- distribute and/or modify the software.
42
-
43
- Also, for each author's protection and ours, we want to make certain
44
- that everyone understands that there is no warranty for this free
45
- software. If the software is modified by someone else and passed on, we
46
- want its recipients to know that what they have is not the original, so
47
- that any problems introduced by others will not reflect on the original
48
- authors' reputations.
49
-
50
- Finally, any free program is threatened constantly by software
51
- patents. We wish to avoid the danger that redistributors of a free
52
- program will individually obtain patent licenses, in effect making the
53
- program proprietary. To prevent this, we have made it clear that any
54
- patent must be licensed for everyone's free use or not licensed at all.
55
-
56
- The precise terms and conditions for copying, distribution and
57
- modification follow.
58
-
59
- GNU GENERAL PUBLIC LICENSE
60
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
-
62
- 0. This License applies to any program or other work which contains
63
- a notice placed by the copyright holder saying it may be distributed
64
- under the terms of this General Public License. The "Program", below,
65
- refers to any such program or work, and a "work based on the Program"
66
- means either the Program or any derivative work under copyright law:
67
- that is to say, a work containing the Program or a portion of it,
68
- either verbatim or with modifications and/or translated into another
69
- language. (Hereinafter, translation is included without limitation in
70
- the term "modification".) Each licensee is addressed as "you".
71
-
72
- Activities other than copying, distribution and modification are not
73
- covered by this License; they are outside its scope. The act of
74
- running the Program is not restricted, and the output from the Program
75
- is covered only if its contents constitute a work based on the
76
- Program (independent of having been made by running the Program).
77
- Whether that is true depends on what the Program does.
78
-
79
- 1. You may copy and distribute verbatim copies of the Program's
80
- source code as you receive it, in any medium, provided that you
81
- conspicuously and appropriately publish on each copy an appropriate
82
- copyright notice and disclaimer of warranty; keep intact all the
83
- notices that refer to this License and to the absence of any warranty;
84
- and give any other recipients of the Program a copy of this License
85
- along with the Program.
86
-
87
- You may charge a fee for the physical act of transferring a copy, and
88
- you may at your option offer warranty protection in exchange for a fee.
89
-
90
- 2. You may modify your copy or copies of the Program or any portion
91
- of it, thus forming a work based on the Program, and copy and
92
- distribute such modifications or work under the terms of Section 1
93
- above, provided that you also meet all of these conditions:
94
-
95
- a) You must cause the modified files to carry prominent notices
96
- stating that you changed the files and the date of any change.
97
-
98
- b) You must cause any work that you distribute or publish, that in
99
- whole or in part contains or is derived from the Program or any
100
- part thereof, to be licensed as a whole at no charge to all third
101
- parties under the terms of this License.
102
-
103
- c) If the modified program normally reads commands interactively
104
- when run, you must cause it, when started running for such
105
- interactive use in the most ordinary way, to print or display an
106
- announcement including an appropriate copyright notice and a
107
- notice that there is no warranty (or else, saying that you provide
108
- a warranty) and that users may redistribute the program under
109
- these conditions, and telling the user how to view a copy of this
110
- License. (Exception: if the Program itself is interactive but
111
- does not normally print such an announcement, your work based on
112
- the Program is not required to print an announcement.)
113
-
114
- These requirements apply to the modified work as a whole. If
115
- identifiable sections of that work are not derived from the Program,
116
- and can be reasonably considered independent and separate works in
117
- themselves, then this License, and its terms, do not apply to those
118
- sections when you distribute them as separate works. But when you
119
- distribute the same sections as part of a whole which is a work based
120
- on the Program, the distribution of the whole must be on the terms of
121
- this License, whose permissions for other licensees extend to the
122
- entire whole, and thus to each and every part regardless of who wrote it.
123
-
124
- Thus, it is not the intent of this section to claim rights or contest
125
- your rights to work written entirely by you; rather, the intent is to
126
- exercise the right to control the distribution of derivative or
127
- collective works based on the Program.
128
-
129
- In addition, mere aggregation of another work not based on the Program
130
- with the Program (or with a work based on the Program) on a volume of
131
- a storage or distribution medium does not bring the other work under
132
- the scope of this License.
133
-
134
- 3. You may copy and distribute the Program (or a work based on it,
135
- under Section 2) in object code or executable form under the terms of
136
- Sections 1 and 2 above provided that you also do one of the following:
137
-
138
- a) Accompany it with the complete corresponding machine-readable
139
- source code, which must be distributed under the terms of Sections
140
- 1 and 2 above on a medium customarily used for software interchange; or,
141
-
142
- b) Accompany it with a written offer, valid for at least three
143
- years, to give any third party, for a charge no more than your
144
- cost of physically performing source distribution, a complete
145
- machine-readable copy of the corresponding source code, to be
146
- distributed under the terms of Sections 1 and 2 above on a medium
147
- customarily used for software interchange; or,
148
-
149
- c) Accompany it with the information you received as to the offer
150
- to distribute corresponding source code. (This alternative is
151
- allowed only for noncommercial distribution and only if you
152
- received the program in object code or executable form with such
153
- an offer, in accord with Subsection b above.)
154
-
155
- The source code for a work means the preferred form of the work for
156
- making modifications to it. For an executable work, complete source
157
- code means all the source code for all modules it contains, plus any
158
- associated interface definition files, plus the scripts used to
159
- control compilation and installation of the executable. However, as a
160
- special exception, the source code distributed need not include
161
- anything that is normally distributed (in either source or binary
162
- form) with the major components (compiler, kernel, and so on) of the
163
- operating system on which the executable runs, unless that component
164
- itself accompanies the executable.
165
-
166
- If distribution of executable or object code is made by offering
167
- access to copy from a designated place, then offering equivalent
168
- access to copy the source code from the same place counts as
169
- distribution of the source code, even though third parties are not
170
- compelled to copy the source along with the object code.
171
-
172
- 4. You may not copy, modify, sublicense, or distribute the Program
173
- except as expressly provided under this License. Any attempt
174
- otherwise to copy, modify, sublicense or distribute the Program is
175
- void, and will automatically terminate your rights under this License.
176
- However, parties who have received copies, or rights, from you under
177
- this License will not have their licenses terminated so long as such
178
- parties remain in full compliance.
179
-
180
- 5. You are not required to accept this License, since you have not
181
- signed it. However, nothing else grants you permission to modify or
182
- distribute the Program or its derivative works. These actions are
183
- prohibited by law if you do not accept this License. Therefore, by
184
- modifying or distributing the Program (or any work based on the
185
- Program), you indicate your acceptance of this License to do so, and
186
- all its terms and conditions for copying, distributing or modifying
187
- the Program or works based on it.
188
-
189
- 6. Each time you redistribute the Program (or any work based on the
190
- Program), the recipient automatically receives a license from the
191
- original licensor to copy, distribute or modify the Program subject to
192
- these terms and conditions. You may not impose any further
193
- restrictions on the recipients' exercise of the rights granted herein.
194
- You are not responsible for enforcing compliance by third parties to
195
- this License.
196
-
197
- 7. If, as a consequence of a court judgment or allegation of patent
198
- infringement or for any other reason (not limited to patent issues),
199
- conditions are imposed on you (whether by court order, agreement or
200
- otherwise) that contradict the conditions of this License, they do not
201
- excuse you from the conditions of this License. If you cannot
202
- distribute so as to satisfy simultaneously your obligations under this
203
- License and any other pertinent obligations, then as a consequence you
204
- may not distribute the Program at all. For example, if a patent
205
- license would not permit royalty-free redistribution of the Program by
206
- all those who receive copies directly or indirectly through you, then
207
- the only way you could satisfy both it and this License would be to
208
- refrain entirely from distribution of the Program.
209
-
210
- If any portion of this section is held invalid or unenforceable under
211
- any particular circumstance, the balance of the section is intended to
212
- apply and the section as a whole is intended to apply in other
213
- circumstances.
214
-
215
- It is not the purpose of this section to induce you to infringe any
216
- patents or other property right claims or to contest validity of any
217
- such claims; this section has the sole purpose of protecting the
218
- integrity of the free software distribution system, which is
219
- implemented by public license practices. Many people have made
220
- generous contributions to the wide range of software distributed
221
- through that system in reliance on consistent application of that
222
- system; it is up to the author/donor to decide if he or she is willing
223
- to distribute software through any other system and a licensee cannot
224
- impose that choice.
225
-
226
- This section is intended to make thoroughly clear what is believed to
227
- be a consequence of the rest of this License.
228
-
229
- 8. If the distribution and/or use of the Program is restricted in
230
- certain countries either by patents or by copyrighted interfaces, the
231
- original copyright holder who places the Program under this License
232
- may add an explicit geographical distribution limitation excluding
233
- those countries, so that distribution is permitted only in or among
234
- countries not thus excluded. In such case, this License incorporates
235
- the limitation as if written in the body of this License.
236
-
237
- 9. The Free Software Foundation may publish revised and/or new versions
238
- of the General Public License from time to time. Such new versions will
239
- be similar in spirit to the present version, but may differ in detail to
240
- address new problems or concerns.
241
-
242
- Each version is given a distinguishing version number. If the Program
243
- specifies a version number of this License which applies to it and "any
244
- later version", you have the option of following the terms and conditions
245
- either of that version or of any later version published by the Free
246
- Software Foundation. If the Program does not specify a version number of
247
- this License, you may choose any version ever published by the Free Software
248
- Foundation.
249
-
250
- 10. If you wish to incorporate parts of the Program into other free
251
- programs whose distribution conditions are different, write to the author
252
- to ask for permission. For software which is copyrighted by the Free
253
- Software Foundation, write to the Free Software Foundation; we sometimes
254
- make exceptions for this. Our decision will be guided by the two goals
255
- of preserving the free status of all derivatives of our free software and
256
- of promoting the sharing and reuse of software generally.
257
-
258
- NO WARRANTY
259
-
260
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
- REPAIR OR CORRECTION.
269
-
270
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
- POSSIBILITY OF SUCH DAMAGES.
279
-
280
- END OF TERMS AND CONDITIONS
281
-
282
- How to Apply These Terms to Your New Programs
283
-
284
- If you develop a new program, and you want it to be of the greatest
285
- possible use to the public, the best way to achieve this is to make it
286
- free software which everyone can redistribute and change under these terms.
287
-
288
- To do so, attach the following notices to the program. It is safest
289
- to attach them to the start of each source file to most effectively
290
- convey the exclusion of warranty; and each file should have at least
291
- the "copyright" line and a pointer to where the full notice is found.
292
-
293
- <one line to give the program's name and a brief idea of what it does.>
294
- Copyright (C) <year> <name of author>
295
-
296
- This program is free software; you can redistribute it and/or modify
297
- it under the terms of the GNU General Public License as published by
298
- the Free Software Foundation; either version 2 of the License, or
299
- (at your option) any later version.
300
-
301
- This program is distributed in the hope that it will be useful,
302
- but WITHOUT ANY WARRANTY; without even the implied warranty of
303
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
- GNU General Public License for more details.
305
-
306
- You should have received a copy of the GNU General Public License
307
- along with this program; if not, write to the Free Software
308
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
309
-
310
-
311
- Also add information on how to contact you by electronic and paper mail.
312
-
313
- If the program is interactive, make it output a short notice like this
314
- when it starts in an interactive mode:
315
-
316
- Gnomovision version 69, Copyright (C) year name of author
317
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
318
- This is free software, and you are welcome to redistribute it
319
- under certain conditions; type `show c' for details.
320
-
321
- The hypothetical commands `show w' and `show c' should show the appropriate
322
- parts of the General Public License. Of course, the commands you use may
323
- be called something other than `show w' and `show c'; they could even be
324
- mouse-clicks or menu items--whatever suits your program.
325
-
326
- You should also get your employer (if you work as a programmer) or your
327
- school, if any, to sign a "copyright disclaimer" for the program, if
328
- necessary. Here is a sample; alter the names:
329
-
330
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
331
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
332
-
333
- <signature of Ty Coon>, 1 April 1989
334
- Ty Coon, President of Vice
335
-
336
- This General Public License does not permit incorporating your program into
337
- proprietary programs. If your program is a subroutine library, you may
338
- consider it more useful to permit linking proprietary applications with the
339
- library. If this is what you want to do, use the GNU Library General
340
- Public License instead of this License.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/handler.template.php DELETED
@@ -1,40 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__XX_HANDLER__'))
29
- define('__XX_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class xx_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- return $r;
38
- }
39
- }
40
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/npdata.ser DELETED
@@ -1 +0,0 @@
1
- a:6:{s:11:"map_nothing";a:27:{i:0;i:173;i:1;i:847;i:2;i:6150;i:3;i:6155;i:4;i:6156;i:5;i:6157;i:6;i:8203;i:7;i:8204;i:8;i:8205;i:9;i:8288;i:10;i:65024;i:11;i:65025;i:12;i:65026;i:13;i:65027;i:14;i:65028;i:15;i:65029;i:16;i:65030;i:17;i:65031;i:18;i:65032;i:19;i:65033;i:20;i:65034;i:21;i:65035;i:22;i:65036;i:23;i:65037;i:24;i:65038;i:25;i:65039;i:26;i:65279;}s:18:"general_prohibited";a:64:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;i:10;i:11;i:11;i:12;i:12;i:13;i:13;i:14;i:14;i:15;i:15;i:16;i:16;i:17;i:17;i:18;i:18;i:19;i:19;i:20;i:20;i:21;i:21;i:22;i:22;i:23;i:23;i:24;i:24;i:25;i:25;i:26;i:26;i:27;i:27;i:28;i:28;i:29;i:29;i:30;i:30;i:31;i:31;i:32;i:32;i:33;i:33;i:34;i:34;i:35;i:35;i:36;i:36;i:37;i:37;i:38;i:38;i:39;i:39;i:40;i:40;i:41;i:41;i:42;i:42;i:43;i:43;i:44;i:44;i:45;i:47;i:46;i:59;i:47;i:60;i:48;i:61;i:49;i:62;i:50;i:63;i:51;i:64;i:52;i:91;i:53;i:92;i:54;i:93;i:55;i:94;i:56;i:95;i:57;i:96;i:58;i:123;i:59;i:124;i:60;i:125;i:61;i:126;i:62;i:127;i:63;i:12290;}s:8:"prohibit";a:84:{i:0;i:160;i:1;i:5760;i:2;i:8192;i:3;i:8193;i:4;i:8194;i:5;i:8195;i:6;i:8196;i:7;i:8197;i:8;i:8198;i:9;i:8199;i:10;i:8200;i:11;i:8201;i:12;i:8202;i:13;i:8203;i:14;i:8239;i:15;i:8287;i:16;i:12288;i:17;i:1757;i:18;i:1807;i:19;i:6158;i:20;i:8204;i:21;i:8205;i:22;i:8232;i:23;i:8233;i:24;i:65279;i:25;i:65529;i:26;i:65530;i:27;i:65531;i:28;i:65532;i:29;i:65534;i:30;i:65535;i:31;i:131070;i:32;i:131071;i:33;i:196606;i:34;i:196607;i:35;i:262142;i:36;i:262143;i:37;i:327678;i:38;i:327679;i:39;i:393214;i:40;i:393215;i:41;i:458750;i:42;i:458751;i:43;i:524286;i:44;i:524287;i:45;i:589822;i:46;i:589823;i:47;i:655358;i:48;i:655359;i:49;i:720894;i:50;i:720895;i:51;i:786430;i:52;i:786431;i:53;i:851966;i:54;i:851967;i:55;i:917502;i:56;i:917503;i:57;i:983038;i:58;i:983039;i:59;i:1048574;i:60;i:1048575;i:61;i:1114110;i:62;i:1114111;i:63;i:65529;i:64;i:65530;i:65;i:65531;i:66;i:65532;i:67;i:65533;i:68;i:832;i:69;i:833;i:70;i:8206;i:71;i:8207;i:72;i:8234;i:73;i:8235;i:74;i:8236;i:75;i:8237;i:76;i:8238;i:77;i:8298;i:78;i:8299;i:79;i:8300;i:80;i:8301;i:81;i:8302;i:82;i:8303;i:83;i:917505;}s:15:"prohibit_ranges";a:10:{i:0;a:2:{i:0;i:128;i:1;i:159;}i:1;a:2:{i:0;i:8288;i:1;i:8303;}i:2;a:2:{i:0;i:119155;i:1;i:119162;}i:3;a:2:{i:0;i:57344;i:1;i:63743;}i:4;a:2:{i:0;i:983040;i:1;i:1048573;}i:5;a:2:{i:0;i:1048576;i:1;i:1114109;}i:6;a:2:{i:0;i:64976;i:1;i:65007;}i:7;a:2:{i:0;i:55296;i:1;i:57343;}i:8;a:2:{i:0;i:12272;i:1;i:12283;}i:9;a:2:{i:0;i:917536;i:1;i:917631;}}s:11:"replacemaps";a:1401:{i:65;a:1:{i:0;i:97;}i:66;a:1:{i:0;i:98;}i:67;a:1:{i:0;i:99;}i:68;a:1:{i:0;i:100;}i:69;a:1:{i:0;i:101;}i:70;a:1:{i:0;i:102;}i:71;a:1:{i:0;i:103;}i:72;a:1:{i:0;i:104;}i:73;a:1:{i:0;i:105;}i:74;a:1:{i:0;i:106;}i:75;a:1:{i:0;i:107;}i:76;a:1:{i:0;i:108;}i:77;a:1:{i:0;i:109;}i:78;a:1:{i:0;i:110;}i:79;a:1:{i:0;i:111;}i:80;a:1:{i:0;i:112;}i:81;a:1:{i:0;i:113;}i:82;a:1:{i:0;i:114;}i:83;a:1:{i:0;i:115;}i:84;a:1:{i:0;i:116;}i:85;a:1:{i:0;i:117;}i:86;a:1:{i:0;i:118;}i:87;a:1:{i:0;i:119;}i:88;a:1:{i:0;i:120;}i:89;a:1:{i:0;i:121;}i:90;a:1:{i:0;i:122;}i:181;a:1:{i:0;i:956;}i:192;a:1:{i:0;i:224;}i:193;a:1:{i:0;i:225;}i:194;a:1:{i:0;i:226;}i:195;a:1:{i:0;i:227;}i:196;a:1:{i:0;i:228;}i:197;a:1:{i:0;i:229;}i:198;a:1:{i:0;i:230;}i:199;a:1:{i:0;i:231;}i:200;a:1:{i:0;i:232;}i:201;a:1:{i:0;i:233;}i:202;a:1:{i:0;i:234;}i:203;a:1:{i:0;i:235;}i:204;a:1:{i:0;i:236;}i:205;a:1:{i:0;i:237;}i:206;a:1:{i:0;i:238;}i:207;a:1:{i:0;i:239;}i:208;a:1:{i:0;i:240;}i:209;a:1:{i:0;i:241;}i:210;a:1:{i:0;i:242;}i:211;a:1:{i:0;i:243;}i:212;a:1:{i:0;i:244;}i:213;a:1:{i:0;i:245;}i:214;a:1:{i:0;i:246;}i:216;a:1:{i:0;i:248;}i:217;a:1:{i:0;i:249;}i:218;a:1:{i:0;i:250;}i:219;a:1:{i:0;i:251;}i:220;a:1:{i:0;i:252;}i:221;a:1:{i:0;i:253;}i:222;a:1:{i:0;i:254;}i:223;a:2:{i:0;i:115;i:1;i:115;}i:256;a:1:{i:0;i:257;}i:258;a:1:{i:0;i:259;}i:260;a:1:{i:0;i:261;}i:262;a:1:{i:0;i:263;}i:264;a:1:{i:0;i:265;}i:266;a:1:{i:0;i:267;}i:268;a:1:{i:0;i:269;}i:270;a:1:{i:0;i:271;}i:272;a:1:{i:0;i:273;}i:274;a:1:{i:0;i:275;}i:276;a:1:{i:0;i:277;}i:278;a:1:{i:0;i:279;}i:280;a:1:{i:0;i:281;}i:282;a:1:{i:0;i:283;}i:284;a:1:{i:0;i:285;}i:286;a:1:{i:0;i:287;}i:288;a:1:{i:0;i:289;}i:290;a:1:{i:0;i:291;}i:292;a:1:{i:0;i:293;}i:294;a:1:{i:0;i:295;}i:296;a:1:{i:0;i:297;}i:298;a:1:{i:0;i:299;}i:300;a:1:{i:0;i:301;}i:302;a:1:{i:0;i:303;}i:304;a:2:{i:0;i:105;i:1;i:775;}i:306;a:1:{i:0;i:307;}i:308;a:1:{i:0;i:309;}i:310;a:1:{i:0;i:311;}i:313;a:1:{i:0;i:314;}i:315;a:1:{i:0;i:316;}i:317;a:1:{i:0;i:318;}i:319;a:1:{i:0;i:320;}i:321;a:1:{i:0;i:322;}i:323;a:1:{i:0;i:324;}i:325;a:1:{i:0;i:326;}i:327;a:1:{i:0;i:328;}i:329;a:2:{i:0;i:700;i:1;i:110;}i:330;a:1:{i:0;i:331;}i:332;a:1:{i:0;i:333;}i:334;a:1:{i:0;i:335;}i:336;a:1:{i:0;i:337;}i:338;a:1:{i:0;i:339;}i:340;a:1:{i:0;i:341;}i:342;a:1:{i:0;i:343;}i:344;a:1:{i:0;i:345;}i:346;a:1:{i:0;i:347;}i:348;a:1:{i:0;i:349;}i:350;a:1:{i:0;i:351;}i:352;a:1:{i:0;i:353;}i:354;a:1:{i:0;i:355;}i:356;a:1:{i:0;i:357;}i:358;a:1:{i:0;i:359;}i:360;a:1:{i:0;i:361;}i:362;a:1:{i:0;i:363;}i:364;a:1:{i:0;i:365;}i:366;a:1:{i:0;i:367;}i:368;a:1:{i:0;i:369;}i:370;a:1:{i:0;i:371;}i:372;a:1:{i:0;i:373;}i:374;a:1:{i:0;i:375;}i:376;a:1:{i:0;i:255;}i:377;a:1:{i:0;i:378;}i:379;a:1:{i:0;i:380;}i:381;a:1:{i:0;i:382;}i:383;a:1:{i:0;i:115;}i:385;a:1:{i:0;i:595;}i:386;a:1:{i:0;i:387;}i:388;a:1:{i:0;i:389;}i:390;a:1:{i:0;i:596;}i:391;a:1:{i:0;i:392;}i:393;a:1:{i:0;i:598;}i:394;a:1:{i:0;i:599;}i:395;a:1:{i:0;i:396;}i:398;a:1:{i:0;i:477;}i:399;a:1:{i:0;i:601;}i:400;a:1:{i:0;i:603;}i:401;a:1:{i:0;i:402;}i:403;a:1:{i:0;i:608;}i:404;a:1:{i:0;i:611;}i:406;a:1:{i:0;i:617;}i:407;a:1:{i:0;i:616;}i:408;a:1:{i:0;i:409;}i:412;a:1:{i:0;i:623;}i:413;a:1:{i:0;i:626;}i:415;a:1:{i:0;i:629;}i:416;a:1:{i:0;i:417;}i:418;a:1:{i:0;i:419;}i:420;a:1:{i:0;i:421;}i:422;a:1:{i:0;i:640;}i:423;a:1:{i:0;i:424;}i:425;a:1:{i:0;i:643;}i:428;a:1:{i:0;i:429;}i:430;a:1:{i:0;i:648;}i:431;a:1:{i:0;i:432;}i:433;a:1:{i:0;i:650;}i:434;a:1:{i:0;i:651;}i:435;a:1:{i:0;i:436;}i:437;a:1:{i:0;i:438;}i:439;a:1:{i:0;i:658;}i:440;a:1:{i:0;i:441;}i:444;a:1:{i:0;i:445;}i:452;a:1:{i:0;i:454;}i:453;a:1:{i:0;i:454;}i:455;a:1:{i:0;i:457;}i:456;a:1:{i:0;i:457;}i:458;a:1:{i:0;i:460;}i:459;a:1:{i:0;i:460;}i:461;a:1:{i:0;i:462;}i:463;a:1:{i:0;i:464;}i:465;a:1:{i:0;i:466;}i:467;a:1:{i:0;i:468;}i:469;a:1:{i:0;i:470;}i:471;a:1:{i:0;i:472;}i:473;a:1:{i:0;i:474;}i:475;a:1:{i:0;i:476;}i:478;a:1:{i:0;i:479;}i:480;a:1:{i:0;i:481;}i:482;a:1:{i:0;i:483;}i:484;a:1:{i:0;i:485;}i:486;a:1:{i:0;i:487;}i:488;a:1:{i:0;i:489;}i:490;a:1:{i:0;i:491;}i:492;a:1:{i:0;i:493;}i:494;a:1:{i:0;i:495;}i:496;a:2:{i:0;i:106;i:1;i:780;}i:497;a:1:{i:0;i:499;}i:498;a:1:{i:0;i:499;}i:500;a:1:{i:0;i:501;}i:502;a:1:{i:0;i:405;}i:503;a:1:{i:0;i:447;}i:504;a:1:{i:0;i:505;}i:506;a:1:{i:0;i:507;}i:508;a:1:{i:0;i:509;}i:510;a:1:{i:0;i:511;}i:512;a:1:{i:0;i:513;}i:514;a:1:{i:0;i:515;}i:516;a:1:{i:0;i:517;}i:518;a:1:{i:0;i:519;}i:520;a:1:{i:0;i:521;}i:522;a:1:{i:0;i:523;}i:524;a:1:{i:0;i:525;}i:526;a:1:{i:0;i:527;}i:528;a:1:{i:0;i:529;}i:530;a:1:{i:0;i:531;}i:532;a:1:{i:0;i:533;}i:534;a:1:{i:0;i:535;}i:536;a:1:{i:0;i:537;}i:538;a:1:{i:0;i:539;}i:540;a:1:{i:0;i:541;}i:542;a:1:{i:0;i:543;}i:544;a:1:{i:0;i:414;}i:546;a:1:{i:0;i:547;}i:548;a:1:{i:0;i:549;}i:550;a:1:{i:0;i:551;}i:552;a:1:{i:0;i:553;}i:554;a:1:{i:0;i:555;}i:556;a:1:{i:0;i:557;}i:558;a:1:{i:0;i:559;}i:560;a:1:{i:0;i:561;}i:562;a:1:{i:0;i:563;}i:837;a:1:{i:0;i:953;}i:890;a:2:{i:0;i:32;i:1;i:953;}i:902;a:1:{i:0;i:940;}i:904;a:1:{i:0;i:941;}i:905;a:1:{i:0;i:942;}i:906;a:1:{i:0;i:943;}i:908;a:1:{i:0;i:972;}i:910;a:1:{i:0;i:973;}i:911;a:1:{i:0;i:974;}i:912;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:913;a:1:{i:0;i:945;}i:914;a:1:{i:0;i:946;}i:915;a:1:{i:0;i:947;}i:916;a:1:{i:0;i:948;}i:917;a:1:{i:0;i:949;}i:918;a:1:{i:0;i:950;}i:919;a:1:{i:0;i:951;}i:920;a:1:{i:0;i:952;}i:921;a:1:{i:0;i:953;}i:922;a:1:{i:0;i:954;}i:923;a:1:{i:0;i:955;}i:924;a:1:{i:0;i:956;}i:925;a:1:{i:0;i:957;}i:926;a:1:{i:0;i:958;}i:927;a:1:{i:0;i:959;}i:928;a:1:{i:0;i:960;}i:929;a:1:{i:0;i:961;}i:931;a:1:{i:0;i:963;}i:932;a:1:{i:0;i:964;}i:933;a:1:{i:0;i:965;}i:934;a:1:{i:0;i:966;}i:935;a:1:{i:0;i:967;}i:936;a:1:{i:0;i:968;}i:937;a:1:{i:0;i:969;}i:938;a:1:{i:0;i:970;}i:939;a:1:{i:0;i:971;}i:944;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:962;a:1:{i:0;i:963;}i:976;a:1:{i:0;i:946;}i:977;a:1:{i:0;i:952;}i:978;a:1:{i:0;i:965;}i:979;a:1:{i:0;i:973;}i:980;a:1:{i:0;i:971;}i:981;a:1:{i:0;i:966;}i:982;a:1:{i:0;i:960;}i:984;a:1:{i:0;i:985;}i:986;a:1:{i:0;i:987;}i:988;a:1:{i:0;i:989;}i:990;a:1:{i:0;i:991;}i:992;a:1:{i:0;i:993;}i:994;a:1:{i:0;i:995;}i:996;a:1:{i:0;i:997;}i:998;a:1:{i:0;i:999;}i:1000;a:1:{i:0;i:1001;}i:1002;a:1:{i:0;i:1003;}i:1004;a:1:{i:0;i:1005;}i:1006;a:1:{i:0;i:1007;}i:1008;a:1:{i:0;i:954;}i:1009;a:1:{i:0;i:961;}i:1010;a:1:{i:0;i:963;}i:1012;a:1:{i:0;i:952;}i:1013;a:1:{i:0;i:949;}i:1024;a:1:{i:0;i:1104;}i:1025;a:1:{i:0;i:1105;}i:1026;a:1:{i:0;i:1106;}i:1027;a:1:{i:0;i:1107;}i:1028;a:1:{i:0;i:1108;}i:1029;a:1:{i:0;i:1109;}i:1030;a:1:{i:0;i:1110;}i:1031;a:1:{i:0;i:1111;}i:1032;a:1:{i:0;i:1112;}i:1033;a:1:{i:0;i:1113;}i:1034;a:1:{i:0;i:1114;}i:1035;a:1:{i:0;i:1115;}i:1036;a:1:{i:0;i:1116;}i:1037;a:1:{i:0;i:1117;}i:1038;a:1:{i:0;i:1118;}i:1039;a:1:{i:0;i:1119;}i:1040;a:1:{i:0;i:1072;}i:1041;a:1:{i:0;i:1073;}i:1042;a:1:{i:0;i:1074;}i:1043;a:1:{i:0;i:1075;}i:1044;a:1:{i:0;i:1076;}i:1045;a:1:{i:0;i:1077;}i:1046;a:1:{i:0;i:1078;}i:1047;a:1:{i:0;i:1079;}i:1048;a:1:{i:0;i:1080;}i:1049;a:1:{i:0;i:1081;}i:1050;a:1:{i:0;i:1082;}i:1051;a:1:{i:0;i:1083;}i:1052;a:1:{i:0;i:1084;}i:1053;a:1:{i:0;i:1085;}i:1054;a:1:{i:0;i:1086;}i:1055;a:1:{i:0;i:1087;}i:1056;a:1:{i:0;i:1088;}i:1057;a:1:{i:0;i:1089;}i:1058;a:1:{i:0;i:1090;}i:1059;a:1:{i:0;i:1091;}i:1060;a:1:{i:0;i:1092;}i:1061;a:1:{i:0;i:1093;}i:1062;a:1:{i:0;i:1094;}i:1063;a:1:{i:0;i:1095;}i:1064;a:1:{i:0;i:1096;}i:1065;a:1:{i:0;i:1097;}i:1066;a:1:{i:0;i:1098;}i:1067;a:1:{i:0;i:1099;}i:1068;a:1:{i:0;i:1100;}i:1069;a:1:{i:0;i:1101;}i:1070;a:1:{i:0;i:1102;}i:1071;a:1:{i:0;i:1103;}i:1120;a:1:{i:0;i:1121;}i:1122;a:1:{i:0;i:1123;}i:1124;a:1:{i:0;i:1125;}i:1126;a:1:{i:0;i:1127;}i:1128;a:1:{i:0;i:1129;}i:1130;a:1:{i:0;i:1131;}i:1132;a:1:{i:0;i:1133;}i:1134;a:1:{i:0;i:1135;}i:1136;a:1:{i:0;i:1137;}i:1138;a:1:{i:0;i:1139;}i:1140;a:1:{i:0;i:1141;}i:1142;a:1:{i:0;i:1143;}i:1144;a:1:{i:0;i:1145;}i:1146;a:1:{i:0;i:1147;}i:1148;a:1:{i:0;i:1149;}i:1150;a:1:{i:0;i:1151;}i:1152;a:1:{i:0;i:1153;}i:1162;a:1:{i:0;i:1163;}i:1164;a:1:{i:0;i:1165;}i:1166;a:1:{i:0;i:1167;}i:1168;a:1:{i:0;i:1169;}i:1170;a:1:{i:0;i:1171;}i:1172;a:1:{i:0;i:1173;}i:1174;a:1:{i:0;i:1175;}i:1176;a:1:{i:0;i:1177;}i:1178;a:1:{i:0;i:1179;}i:1180;a:1:{i:0;i:1181;}i:1182;a:1:{i:0;i:1183;}i:1184;a:1:{i:0;i:1185;}i:1186;a:1:{i:0;i:1187;}i:1188;a:1:{i:0;i:1189;}i:1190;a:1:{i:0;i:1191;}i:1192;a:1:{i:0;i:1193;}i:1194;a:1:{i:0;i:1195;}i:1196;a:1:{i:0;i:1197;}i:1198;a:1:{i:0;i:1199;}i:1200;a:1:{i:0;i:1201;}i:1202;a:1:{i:0;i:1203;}i:1204;a:1:{i:0;i:1205;}i:1206;a:1:{i:0;i:1207;}i:1208;a:1:{i:0;i:1209;}i:1210;a:1:{i:0;i:1211;}i:1212;a:1:{i:0;i:1213;}i:1214;a:1:{i:0;i:1215;}i:1217;a:1:{i:0;i:1218;}i:1219;a:1:{i:0;i:1220;}i:1221;a:1:{i:0;i:1222;}i:1223;a:1:{i:0;i:1224;}i:1225;a:1:{i:0;i:1226;}i:1227;a:1:{i:0;i:1228;}i:1229;a:1:{i:0;i:1230;}i:1232;a:1:{i:0;i:1233;}i:1234;a:1:{i:0;i:1235;}i:1236;a:1:{i:0;i:1237;}i:1238;a:1:{i:0;i:1239;}i:1240;a:1:{i:0;i:1241;}i:1242;a:1:{i:0;i:1243;}i:1244;a:1:{i:0;i:1245;}i:1246;a:1:{i:0;i:1247;}i:1248;a:1:{i:0;i:1249;}i:1250;a:1:{i:0;i:1251;}i:1252;a:1:{i:0;i:1253;}i:1254;a:1:{i:0;i:1255;}i:1256;a:1:{i:0;i:1257;}i:1258;a:1:{i:0;i:1259;}i:1260;a:1:{i:0;i:1261;}i:1262;a:1:{i:0;i:1263;}i:1264;a:1:{i:0;i:1265;}i:1266;a:1:{i:0;i:1267;}i:1268;a:1:{i:0;i:1269;}i:1272;a:1:{i:0;i:1273;}i:1280;a:1:{i:0;i:1281;}i:1282;a:1:{i:0;i:1283;}i:1284;a:1:{i:0;i:1285;}i:1286;a:1:{i:0;i:1287;}i:1288;a:1:{i:0;i:1289;}i:1290;a:1:{i:0;i:1291;}i:1292;a:1:{i:0;i:1293;}i:1294;a:1:{i:0;i:1295;}i:1329;a:1:{i:0;i:1377;}i:1330;a:1:{i:0;i:1378;}i:1331;a:1:{i:0;i:1379;}i:1332;a:1:{i:0;i:1380;}i:1333;a:1:{i:0;i:1381;}i:1334;a:1:{i:0;i:1382;}i:1335;a:1:{i:0;i:1383;}i:1336;a:1:{i:0;i:1384;}i:1337;a:1:{i:0;i:1385;}i:1338;a:1:{i:0;i:1386;}i:1339;a:1:{i:0;i:1387;}i:1340;a:1:{i:0;i:1388;}i:1341;a:1:{i:0;i:1389;}i:1342;a:1:{i:0;i:1390;}i:1343;a:1:{i:0;i:1391;}i:1344;a:1:{i:0;i:1392;}i:1345;a:1:{i:0;i:1393;}i:1346;a:1:{i:0;i:1394;}i:1347;a:1:{i:0;i:1395;}i:1348;a:1:{i:0;i:1396;}i:1349;a:1:{i:0;i:1397;}i:1350;a:1:{i:0;i:1398;}i:1351;a:1:{i:0;i:1399;}i:1352;a:1:{i:0;i:1400;}i:1353;a:1:{i:0;i:1401;}i:1354;a:1:{i:0;i:1402;}i:1355;a:1:{i:0;i:1403;}i:1356;a:1:{i:0;i:1404;}i:1357;a:1:{i:0;i:1405;}i:1358;a:1:{i:0;i:1406;}i:1359;a:1:{i:0;i:1407;}i:1360;a:1:{i:0;i:1408;}i:1361;a:1:{i:0;i:1409;}i:1362;a:1:{i:0;i:1410;}i:1363;a:1:{i:0;i:1411;}i:1364;a:1:{i:0;i:1412;}i:1365;a:1:{i:0;i:1413;}i:1366;a:1:{i:0;i:1414;}i:1415;a:2:{i:0;i:1381;i:1;i:1410;}i:7680;a:1:{i:0;i:7681;}i:7682;a:1:{i:0;i:7683;}i:7684;a:1:{i:0;i:7685;}i:7686;a:1:{i:0;i:7687;}i:7688;a:1:{i:0;i:7689;}i:7690;a:1:{i:0;i:7691;}i:7692;a:1:{i:0;i:7693;}i:7694;a:1:{i:0;i:7695;}i:7696;a:1:{i:0;i:7697;}i:7698;a:1:{i:0;i:7699;}i:7700;a:1:{i:0;i:7701;}i:7702;a:1:{i:0;i:7703;}i:7704;a:1:{i:0;i:7705;}i:7706;a:1:{i:0;i:7707;}i:7708;a:1:{i:0;i:7709;}i:7710;a:1:{i:0;i:7711;}i:7712;a:1:{i:0;i:7713;}i:7714;a:1:{i:0;i:7715;}i:7716;a:1:{i:0;i:7717;}i:7718;a:1:{i:0;i:7719;}i:7720;a:1:{i:0;i:7721;}i:7722;a:1:{i:0;i:7723;}i:7724;a:1:{i:0;i:7725;}i:7726;a:1:{i:0;i:7727;}i:7728;a:1:{i:0;i:7729;}i:7730;a:1:{i:0;i:7731;}i:7732;a:1:{i:0;i:7733;}i:7734;a:1:{i:0;i:7735;}i:7736;a:1:{i:0;i:7737;}i:7738;a:1:{i:0;i:7739;}i:7740;a:1:{i:0;i:7741;}i:7742;a:1:{i:0;i:7743;}i:7744;a:1:{i:0;i:7745;}i:7746;a:1:{i:0;i:7747;}i:7748;a:1:{i:0;i:7749;}i:7750;a:1:{i:0;i:7751;}i:7752;a:1:{i:0;i:7753;}i:7754;a:1:{i:0;i:7755;}i:7756;a:1:{i:0;i:7757;}i:7758;a:1:{i:0;i:7759;}i:7760;a:1:{i:0;i:7761;}i:7762;a:1:{i:0;i:7763;}i:7764;a:1:{i:0;i:7765;}i:7766;a:1:{i:0;i:7767;}i:7768;a:1:{i:0;i:7769;}i:7770;a:1:{i:0;i:7771;}i:7772;a:1:{i:0;i:7773;}i:7774;a:1:{i:0;i:7775;}i:7776;a:1:{i:0;i:7777;}i:7778;a:1:{i:0;i:7779;}i:7780;a:1:{i:0;i:7781;}i:7782;a:1:{i:0;i:7783;}i:7784;a:1:{i:0;i:7785;}i:7786;a:1:{i:0;i:7787;}i:7788;a:1:{i:0;i:7789;}i:7790;a:1:{i:0;i:7791;}i:7792;a:1:{i:0;i:7793;}i:7794;a:1:{i:0;i:7795;}i:7796;a:1:{i:0;i:7797;}i:7798;a:1:{i:0;i:7799;}i:7800;a:1:{i:0;i:7801;}i:7802;a:1:{i:0;i:7803;}i:7804;a:1:{i:0;i:7805;}i:7806;a:1:{i:0;i:7807;}i:7808;a:1:{i:0;i:7809;}i:7810;a:1:{i:0;i:7811;}i:7812;a:1:{i:0;i:7813;}i:7814;a:1:{i:0;i:7815;}i:7816;a:1:{i:0;i:7817;}i:7818;a:1:{i:0;i:7819;}i:7820;a:1:{i:0;i:7821;}i:7822;a:1:{i:0;i:7823;}i:7824;a:1:{i:0;i:7825;}i:7826;a:1:{i:0;i:7827;}i:7828;a:1:{i:0;i:7829;}i:7830;a:2:{i:0;i:104;i:1;i:817;}i:7831;a:2:{i:0;i:116;i:1;i:776;}i:7832;a:2:{i:0;i:119;i:1;i:778;}i:7833;a:2:{i:0;i:121;i:1;i:778;}i:7834;a:2:{i:0;i:97;i:1;i:702;}i:7835;a:1:{i:0;i:7777;}i:7840;a:1:{i:0;i:7841;}i:7842;a:1:{i:0;i:7843;}i:7844;a:1:{i:0;i:7845;}i:7846;a:1:{i:0;i:7847;}i:7848;a:1:{i:0;i:7849;}i:7850;a:1:{i:0;i:7851;}i:7852;a:1:{i:0;i:7853;}i:7854;a:1:{i:0;i:7855;}i:7856;a:1:{i:0;i:7857;}i:7858;a:1:{i:0;i:7859;}i:7860;a:1:{i:0;i:7861;}i:7862;a:1:{i:0;i:7863;}i:7864;a:1:{i:0;i:7865;}i:7866;a:1:{i:0;i:7867;}i:7868;a:1:{i:0;i:7869;}i:7870;a:1:{i:0;i:7871;}i:7872;a:1:{i:0;i:7873;}i:7874;a:1:{i:0;i:7875;}i:7876;a:1:{i:0;i:7877;}i:7878;a:1:{i:0;i:7879;}i:7880;a:1:{i:0;i:7881;}i:7882;a:1:{i:0;i:7883;}i:7884;a:1:{i:0;i:7885;}i:7886;a:1:{i:0;i:7887;}i:7888;a:1:{i:0;i:7889;}i:7890;a:1:{i:0;i:7891;}i:7892;a:1:{i:0;i:7893;}i:7894;a:1:{i:0;i:7895;}i:7896;a:1:{i:0;i:7897;}i:7898;a:1:{i:0;i:7899;}i:7900;a:1:{i:0;i:7901;}i:7902;a:1:{i:0;i:7903;}i:7904;a:1:{i:0;i:7905;}i:7906;a:1:{i:0;i:7907;}i:7908;a:1:{i:0;i:7909;}i:7910;a:1:{i:0;i:7911;}i:7912;a:1:{i:0;i:7913;}i:7914;a:1:{i:0;i:7915;}i:7916;a:1:{i:0;i:7917;}i:7918;a:1:{i:0;i:7919;}i:7920;a:1:{i:0;i:7921;}i:7922;a:1:{i:0;i:7923;}i:7924;a:1:{i:0;i:7925;}i:7926;a:1:{i:0;i:7927;}i:7928;a:1:{i:0;i:7929;}i:7944;a:1:{i:0;i:7936;}i:7945;a:1:{i:0;i:7937;}i:7946;a:1:{i:0;i:7938;}i:7947;a:1:{i:0;i:7939;}i:7948;a:1:{i:0;i:7940;}i:7949;a:1:{i:0;i:7941;}i:7950;a:1:{i:0;i:7942;}i:7951;a:1:{i:0;i:7943;}i:7960;a:1:{i:0;i:7952;}i:7961;a:1:{i:0;i:7953;}i:7962;a:1:{i:0;i:7954;}i:7963;a:1:{i:0;i:7955;}i:7964;a:1:{i:0;i:7956;}i:7965;a:1:{i:0;i:7957;}i:7976;a:1:{i:0;i:7968;}i:7977;a:1:{i:0;i:7969;}i:7978;a:1:{i:0;i:7970;}i:7979;a:1:{i:0;i:7971;}i:7980;a:1:{i:0;i:7972;}i:7981;a:1:{i:0;i:7973;}i:7982;a:1:{i:0;i:7974;}i:7983;a:1:{i:0;i:7975;}i:7992;a:1:{i:0;i:7984;}i:7993;a:1:{i:0;i:7985;}i:7994;a:1:{i:0;i:7986;}i:7995;a:1:{i:0;i:7987;}i:7996;a:1:{i:0;i:7988;}i:7997;a:1:{i:0;i:7989;}i:7998;a:1:{i:0;i:7990;}i:7999;a:1:{i:0;i:7991;}i:8008;a:1:{i:0;i:8000;}i:8009;a:1:{i:0;i:8001;}i:8010;a:1:{i:0;i:8002;}i:8011;a:1:{i:0;i:8003;}i:8012;a:1:{i:0;i:8004;}i:8013;a:1:{i:0;i:8005;}i:8016;a:2:{i:0;i:965;i:1;i:787;}i:8018;a:3:{i:0;i:965;i:1;i:787;i:2;i:768;}i:8020;a:3:{i:0;i:965;i:1;i:787;i:2;i:769;}i:8022;a:3:{i:0;i:965;i:1;i:787;i:2;i:834;}i:8025;a:1:{i:0;i:8017;}i:8027;a:1:{i:0;i:8019;}i:8029;a:1:{i:0;i:8021;}i:8031;a:1:{i:0;i:8023;}i:8040;a:1:{i:0;i:8032;}i:8041;a:1:{i:0;i:8033;}i:8042;a:1:{i:0;i:8034;}i:8043;a:1:{i:0;i:8035;}i:8044;a:1:{i:0;i:8036;}i:8045;a:1:{i:0;i:8037;}i:8046;a:1:{i:0;i:8038;}i:8047;a:1:{i:0;i:8039;}i:8064;a:2:{i:0;i:7936;i:1;i:953;}i:8065;a:2:{i:0;i:7937;i:1;i:953;}i:8066;a:2:{i:0;i:7938;i:1;i:953;}i:8067;a:2:{i:0;i:7939;i:1;i:953;}i:8068;a:2:{i:0;i:7940;i:1;i:953;}i:8069;a:2:{i:0;i:7941;i:1;i:953;}i:8070;a:2:{i:0;i:7942;i:1;i:953;}i:8071;a:2:{i:0;i:7943;i:1;i:953;}i:8072;a:2:{i:0;i:7936;i:1;i:953;}i:8073;a:2:{i:0;i:7937;i:1;i:953;}i:8074;a:2:{i:0;i:7938;i:1;i:953;}i:8075;a:2:{i:0;i:7939;i:1;i:953;}i:8076;a:2:{i:0;i:7940;i:1;i:953;}i:8077;a:2:{i:0;i:7941;i:1;i:953;}i:8078;a:2:{i:0;i:7942;i:1;i:953;}i:8079;a:2:{i:0;i:7943;i:1;i:953;}i:8080;a:2:{i:0;i:7968;i:1;i:953;}i:8081;a:2:{i:0;i:7969;i:1;i:953;}i:8082;a:2:{i:0;i:7970;i:1;i:953;}i:8083;a:2:{i:0;i:7971;i:1;i:953;}i:8084;a:2:{i:0;i:7972;i:1;i:953;}i:8085;a:2:{i:0;i:7973;i:1;i:953;}i:8086;a:2:{i:0;i:7974;i:1;i:953;}i:8087;a:2:{i:0;i:7975;i:1;i:953;}i:8088;a:2:{i:0;i:7968;i:1;i:953;}i:8089;a:2:{i:0;i:7969;i:1;i:953;}i:8090;a:2:{i:0;i:7970;i:1;i:953;}i:8091;a:2:{i:0;i:7971;i:1;i:953;}i:8092;a:2:{i:0;i:7972;i:1;i:953;}i:8093;a:2:{i:0;i:7973;i:1;i:953;}i:8094;a:2:{i:0;i:7974;i:1;i:953;}i:8095;a:2:{i:0;i:7975;i:1;i:953;}i:8096;a:2:{i:0;i:8032;i:1;i:953;}i:8097;a:2:{i:0;i:8033;i:1;i:953;}i:8098;a:2:{i:0;i:8034;i:1;i:953;}i:8099;a:2:{i:0;i:8035;i:1;i:953;}i:8100;a:2:{i:0;i:8036;i:1;i:953;}i:8101;a:2:{i:0;i:8037;i:1;i:953;}i:8102;a:2:{i:0;i:8038;i:1;i:953;}i:8103;a:2:{i:0;i:8039;i:1;i:953;}i:8104;a:2:{i:0;i:8032;i:1;i:953;}i:8105;a:2:{i:0;i:8033;i:1;i:953;}i:8106;a:2:{i:0;i:8034;i:1;i:953;}i:8107;a:2:{i:0;i:8035;i:1;i:953;}i:8108;a:2:{i:0;i:8036;i:1;i:953;}i:8109;a:2:{i:0;i:8037;i:1;i:953;}i:8110;a:2:{i:0;i:8038;i:1;i:953;}i:8111;a:2:{i:0;i:8039;i:1;i:953;}i:8114;a:2:{i:0;i:8048;i:1;i:953;}i:8115;a:2:{i:0;i:945;i:1;i:953;}i:8116;a:2:{i:0;i:940;i:1;i:953;}i:8118;a:2:{i:0;i:945;i:1;i:834;}i:8119;a:3:{i:0;i:945;i:1;i:834;i:2;i:953;}i:8120;a:1:{i:0;i:8112;}i:8121;a:1:{i:0;i:8113;}i:8122;a:1:{i:0;i:8048;}i:8123;a:1:{i:0;i:8049;}i:8124;a:2:{i:0;i:945;i:1;i:953;}i:8126;a:1:{i:0;i:953;}i:8130;a:2:{i:0;i:8052;i:1;i:953;}i:8131;a:2:{i:0;i:951;i:1;i:953;}i:8132;a:2:{i:0;i:942;i:1;i:953;}i:8134;a:2:{i:0;i:951;i:1;i:834;}i:8135;a:3:{i:0;i:951;i:1;i:834;i:2;i:953;}i:8136;a:1:{i:0;i:8050;}i:8137;a:1:{i:0;i:8051;}i:8138;a:1:{i:0;i:8052;}i:8139;a:1:{i:0;i:8053;}i:8140;a:2:{i:0;i:951;i:1;i:953;}i:8146;a:3:{i:0;i:953;i:1;i:776;i:2;i:768;}i:8147;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:8150;a:2:{i:0;i:953;i:1;i:834;}i:8151;a:3:{i:0;i:953;i:1;i:776;i:2;i:834;}i:8152;a:1:{i:0;i:8144;}i:8153;a:1:{i:0;i:8145;}i:8154;a:1:{i:0;i:8054;}i:8155;a:1:{i:0;i:8055;}i:8162;a:3:{i:0;i:965;i:1;i:776;i:2;i:768;}i:8163;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:8164;a:2:{i:0;i:961;i:1;i:787;}i:8166;a:2:{i:0;i:965;i:1;i:834;}i:8167;a:3:{i:0;i:965;i:1;i:776;i:2;i:834;}i:8168;a:1:{i:0;i:8160;}i:8169;a:1:{i:0;i:8161;}i:8170;a:1:{i:0;i:8058;}i:8171;a:1:{i:0;i:8059;}i:8172;a:1:{i:0;i:8165;}i:8178;a:2:{i:0;i:8060;i:1;i:953;}i:8179;a:2:{i:0;i:969;i:1;i:953;}i:8180;a:2:{i:0;i:974;i:1;i:953;}i:8182;a:2:{i:0;i:969;i:1;i:834;}i:8183;a:3:{i:0;i:969;i:1;i:834;i:2;i:953;}i:8184;a:1:{i:0;i:8056;}i:8185;a:1:{i:0;i:8057;}i:8186;a:1:{i:0;i:8060;}i:8187;a:1:{i:0;i:8061;}i:8188;a:2:{i:0;i:969;i:1;i:953;}i:8360;a:2:{i:0;i:114;i:1;i:115;}i:8450;a:1:{i:0;i:99;}i:8451;a:2:{i:0;i:176;i:1;i:99;}i:8455;a:1:{i:0;i:603;}i:8457;a:2:{i:0;i:176;i:1;i:102;}i:8459;a:1:{i:0;i:104;}i:8460;a:1:{i:0;i:104;}i:8461;a:1:{i:0;i:104;}i:8464;a:1:{i:0;i:105;}i:8465;a:1:{i:0;i:105;}i:8466;a:1:{i:0;i:108;}i:8469;a:1:{i:0;i:110;}i:8470;a:2:{i:0;i:110;i:1;i:111;}i:8473;a:1:{i:0;i:112;}i:8474;a:1:{i:0;i:113;}i:8475;a:1:{i:0;i:114;}i:8476;a:1:{i:0;i:114;}i:8477;a:1:{i:0;i:114;}i:8480;a:2:{i:0;i:115;i:1;i:109;}i:8481;a:3:{i:0;i:116;i:1;i:101;i:2;i:108;}i:8482;a:2:{i:0;i:116;i:1;i:109;}i:8484;a:1:{i:0;i:122;}i:8486;a:1:{i:0;i:969;}i:8488;a:1:{i:0;i:122;}i:8490;a:1:{i:0;i:107;}i:8491;a:1:{i:0;i:229;}i:8492;a:1:{i:0;i:98;}i:8493;a:1:{i:0;i:99;}i:8496;a:1:{i:0;i:101;}i:8497;a:1:{i:0;i:102;}i:8499;a:1:{i:0;i:109;}i:8510;a:1:{i:0;i:947;}i:8511;a:1:{i:0;i:960;}i:8517;a:1:{i:0;i:100;}i:8544;a:1:{i:0;i:8560;}i:8545;a:1:{i:0;i:8561;}i:8546;a:1:{i:0;i:8562;}i:8547;a:1:{i:0;i:8563;}i:8548;a:1:{i:0;i:8564;}i:8549;a:1:{i:0;i:8565;}i:8550;a:1:{i:0;i:8566;}i:8551;a:1:{i:0;i:8567;}i:8552;a:1:{i:0;i:8568;}i:8553;a:1:{i:0;i:8569;}i:8554;a:1:{i:0;i:8570;}i:8555;a:1:{i:0;i:8571;}i:8556;a:1:{i:0;i:8572;}i:8557;a:1:{i:0;i:8573;}i:8558;a:1:{i:0;i:8574;}i:8559;a:1:{i:0;i:8575;}i:9398;a:1:{i:0;i:9424;}i:9399;a:1:{i:0;i:9425;}i:9400;a:1:{i:0;i:9426;}i:9401;a:1:{i:0;i:9427;}i:9402;a:1:{i:0;i:9428;}i:9403;a:1:{i:0;i:9429;}i:9404;a:1:{i:0;i:9430;}i:9405;a:1:{i:0;i:9431;}i:9406;a:1:{i:0;i:9432;}i:9407;a:1:{i:0;i:9433;}i:9408;a:1:{i:0;i:9434;}i:9409;a:1:{i:0;i:9435;}i:9410;a:1:{i:0;i:9436;}i:9411;a:1:{i:0;i:9437;}i:9412;a:1:{i:0;i:9438;}i:9413;a:1:{i:0;i:9439;}i:9414;a:1:{i:0;i:9440;}i:9415;a:1:{i:0;i:9441;}i:9416;a:1:{i:0;i:9442;}i:9417;a:1:{i:0;i:9443;}i:9418;a:1:{i:0;i:9444;}i:9419;a:1:{i:0;i:9445;}i:9420;a:1:{i:0;i:9446;}i:9421;a:1:{i:0;i:9447;}i:9422;a:1:{i:0;i:9448;}i:9423;a:1:{i:0;i:9449;}i:13169;a:3:{i:0;i:104;i:1;i:112;i:2;i:97;}i:13171;a:2:{i:0;i:97;i:1;i:117;}i:13173;a:2:{i:0;i:111;i:1;i:118;}i:13184;a:2:{i:0;i:112;i:1;i:97;}i:13185;a:2:{i:0;i:110;i:1;i:97;}i:13186;a:2:{i:0;i:956;i:1;i:97;}i:13187;a:2:{i:0;i:109;i:1;i:97;}i:13188;a:2:{i:0;i:107;i:1;i:97;}i:13189;a:2:{i:0;i:107;i:1;i:98;}i:13190;a:2:{i:0;i:109;i:1;i:98;}i:13191;a:2:{i:0;i:103;i:1;i:98;}i:13194;a:2:{i:0;i:112;i:1;i:102;}i:13195;a:2:{i:0;i:110;i:1;i:102;}i:13196;a:2:{i:0;i:956;i:1;i:102;}i:13200;a:2:{i:0;i:104;i:1;i:122;}i:13201;a:3:{i:0;i:107;i:1;i:104;i:2;i:122;}i:13202;a:3:{i:0;i:109;i:1;i:104;i:2;i:122;}i:13203;a:3:{i:0;i:103;i:1;i:104;i:2;i:122;}i:13204;a:3:{i:0;i:116;i:1;i:104;i:2;i:122;}i:13225;a:2:{i:0;i:112;i:1;i:97;}i:13226;a:3:{i:0;i:107;i:1;i:112;i:2;i:97;}i:13227;a:3:{i:0;i:109;i:1;i:112;i:2;i:97;}i:13228;a:3:{i:0;i:103;i:1;i:112;i:2;i:97;}i:13236;a:2:{i:0;i:112;i:1;i:118;}i:13237;a:2:{i:0;i:110;i:1;i:118;}i:13238;a:2:{i:0;i:956;i:1;i:118;}i:13239;a:2:{i:0;i:109;i:1;i:118;}i:13240;a:2:{i:0;i:107;i:1;i:118;}i:13241;a:2:{i:0;i:109;i:1;i:118;}i:13242;a:2:{i:0;i:112;i:1;i:119;}i:13243;a:2:{i:0;i:110;i:1;i:119;}i:13244;a:2:{i:0;i:956;i:1;i:119;}i:13245;a:2:{i:0;i:109;i:1;i:119;}i:13246;a:2:{i:0;i:107;i:1;i:119;}i:13247;a:2:{i:0;i:109;i:1;i:119;}i:13248;a:2:{i:0;i:107;i:1;i:969;}i:13249;a:2:{i:0;i:109;i:1;i:969;}i:13251;a:2:{i:0;i:98;i:1;i:113;}i:13254;a:4:{i:0;i:99;i:1;i:8725;i:2;i:107;i:3;i:103;}i:13255;a:3:{i:0;i:99;i:1;i:111;i:2;i:46;}i:13256;a:2:{i:0;i:100;i:1;i:98;}i:13257;a:2:{i:0;i:103;i:1;i:121;}i:13259;a:2:{i:0;i:104;i:1;i:112;}i:13261;a:2:{i:0;i:107;i:1;i:107;}i:13262;a:2:{i:0;i:107;i:1;i:109;}i:13271;a:2:{i:0;i:112;i:1;i:104;}i:13273;a:3:{i:0;i:112;i:1;i:112;i:2;i:109;}i:13274;a:2:{i:0;i:112;i:1;i:114;}i:13276;a:2:{i:0;i:115;i:1;i:118;}i:13277;a:2:{i:0;i:119;i:1;i:98;}i:64256;a:2:{i:0;i:102;i:1;i:102;}i:64257;a:2:{i:0;i:102;i:1;i:105;}i:64258;a:2:{i:0;i:102;i:1;i:108;}i:64259;a:3:{i:0;i:102;i:1;i:102;i:2;i:105;}i:64260;a:3:{i:0;i:102;i:1;i:102;i:2;i:108;}i:64261;a:2:{i:0;i:115;i:1;i:116;}i:64262;a:2:{i:0;i:115;i:1;i:116;}i:64275;a:2:{i:0;i:1396;i:1;i:1398;}i:64276;a:2:{i:0;i:1396;i:1;i:1381;}i:64277;a:2:{i:0;i:1396;i:1;i:1387;}i:64278;a:2:{i:0;i:1406;i:1;i:1398;}i:64279;a:2:{i:0;i:1396;i:1;i:1389;}i:65313;a:1:{i:0;i:65345;}i:65314;a:1:{i:0;i:65346;}i:65315;a:1:{i:0;i:65347;}i:65316;a:1:{i:0;i:65348;}i:65317;a:1:{i:0;i:65349;}i:65318;a:1:{i:0;i:65350;}i:65319;a:1:{i:0;i:65351;}i:65320;a:1:{i:0;i:65352;}i:65321;a:1:{i:0;i:65353;}i:65322;a:1:{i:0;i:65354;}i:65323;a:1:{i:0;i:65355;}i:65324;a:1:{i:0;i:65356;}i:65325;a:1:{i:0;i:65357;}i:65326;a:1:{i:0;i:65358;}i:65327;a:1:{i:0;i:65359;}i:65328;a:1:{i:0;i:65360;}i:65329;a:1:{i:0;i:65361;}i:65330;a:1:{i:0;i:65362;}i:65331;a:1:{i:0;i:65363;}i:65332;a:1:{i:0;i:65364;}i:65333;a:1:{i:0;i:65365;}i:65334;a:1:{i:0;i:65366;}i:65335;a:1:{i:0;i:65367;}i:65336;a:1:{i:0;i:65368;}i:65337;a:1:{i:0;i:65369;}i:65338;a:1:{i:0;i:65370;}i:66560;a:1:{i:0;i:66600;}i:66561;a:1:{i:0;i:66601;}i:66562;a:1:{i:0;i:66602;}i:66563;a:1:{i:0;i:66603;}i:66564;a:1:{i:0;i:66604;}i:66565;a:1:{i:0;i:66605;}i:66566;a:1:{i:0;i:66606;}i:66567;a:1:{i:0;i:66607;}i:66568;a:1:{i:0;i:66608;}i:66569;a:1:{i:0;i:66609;}i:66570;a:1:{i:0;i:66610;}i:66571;a:1:{i:0;i:66611;}i:66572;a:1:{i:0;i:66612;}i:66573;a:1:{i:0;i:66613;}i:66574;a:1:{i:0;i:66614;}i:66575;a:1:{i:0;i:66615;}i:66576;a:1:{i:0;i:66616;}i:66577;a:1:{i:0;i:66617;}i:66578;a:1:{i:0;i:66618;}i:66579;a:1:{i:0;i:66619;}i:66580;a:1:{i:0;i:66620;}i:66581;a:1:{i:0;i:66621;}i:66582;a:1:{i:0;i:66622;}i:66583;a:1:{i:0;i:66623;}i:66584;a:1:{i:0;i:66624;}i:66585;a:1:{i:0;i:66625;}i:66586;a:1:{i:0;i:66626;}i:66587;a:1:{i:0;i:66627;}i:66588;a:1:{i:0;i:66628;}i:66589;a:1:{i:0;i:66629;}i:66590;a:1:{i:0;i:66630;}i:66591;a:1:{i:0;i:66631;}i:66592;a:1:{i:0;i:66632;}i:66593;a:1:{i:0;i:66633;}i:66594;a:1:{i:0;i:66634;}i:66595;a:1:{i:0;i:66635;}i:66596;a:1:{i:0;i:66636;}i:66597;a:1:{i:0;i:66637;}i:119808;a:1:{i:0;i:97;}i:119809;a:1:{i:0;i:98;}i:119810;a:1:{i:0;i:99;}i:119811;a:1:{i:0;i:100;}i:119812;a:1:{i:0;i:101;}i:119813;a:1:{i:0;i:102;}i:119814;a:1:{i:0;i:103;}i:119815;a:1:{i:0;i:104;}i:119816;a:1:{i:0;i:105;}i:119817;a:1:{i:0;i:106;}i:119818;a:1:{i:0;i:107;}i:119819;a:1:{i:0;i:108;}i:119820;a:1:{i:0;i:109;}i:119821;a:1:{i:0;i:110;}i:119822;a:1:{i:0;i:111;}i:119823;a:1:{i:0;i:112;}i:119824;a:1:{i:0;i:113;}i:119825;a:1:{i:0;i:114;}i:119826;a:1:{i:0;i:115;}i:119827;a:1:{i:0;i:116;}i:119828;a:1:{i:0;i:117;}i:119829;a:1:{i:0;i:118;}i:119830;a:1:{i:0;i:119;}i:119831;a:1:{i:0;i:120;}i:119832;a:1:{i:0;i:121;}i:119833;a:1:{i:0;i:122;}i:119860;a:1:{i:0;i:97;}i:119861;a:1:{i:0;i:98;}i:119862;a:1:{i:0;i:99;}i:119863;a:1:{i:0;i:100;}i:119864;a:1:{i:0;i:101;}i:119865;a:1:{i:0;i:102;}i:119866;a:1:{i:0;i:103;}i:119867;a:1:{i:0;i:104;}i:119868;a:1:{i:0;i:105;}i:119869;a:1:{i:0;i:106;}i:119870;a:1:{i:0;i:107;}i:119871;a:1:{i:0;i:108;}i:119872;a:1:{i:0;i:109;}i:119873;a:1:{i:0;i:110;}i:119874;a:1:{i:0;i:111;}i:119875;a:1:{i:0;i:112;}i:119876;a:1:{i:0;i:113;}i:119877;a:1:{i:0;i:114;}i:119878;a:1:{i:0;i:115;}i:119879;a:1:{i:0;i:116;}i:119880;a:1:{i:0;i:117;}i:119881;a:1:{i:0;i:118;}i:119882;a:1:{i:0;i:119;}i:119883;a:1:{i:0;i:120;}i:119884;a:1:{i:0;i:121;}i:119885;a:1:{i:0;i:122;}i:119912;a:1:{i:0;i:97;}i:119913;a:1:{i:0;i:98;}i:119914;a:1:{i:0;i:99;}i:119915;a:1:{i:0;i:100;}i:119916;a:1:{i:0;i:101;}i:119917;a:1:{i:0;i:102;}i:119918;a:1:{i:0;i:103;}i:119919;a:1:{i:0;i:104;}i:119920;a:1:{i:0;i:105;}i:119921;a:1:{i:0;i:106;}i:119922;a:1:{i:0;i:107;}i:119923;a:1:{i:0;i:108;}i:119924;a:1:{i:0;i:109;}i:119925;a:1:{i:0;i:110;}i:119926;a:1:{i:0;i:111;}i:119927;a:1:{i:0;i:112;}i:119928;a:1:{i:0;i:113;}i:119929;a:1:{i:0;i:114;}i:119930;a:1:{i:0;i:115;}i:119931;a:1:{i:0;i:116;}i:119932;a:1:{i:0;i:117;}i:119933;a:1:{i:0;i:118;}i:119934;a:1:{i:0;i:119;}i:119935;a:1:{i:0;i:120;}i:119936;a:1:{i:0;i:121;}i:119937;a:1:{i:0;i:122;}i:119964;a:1:{i:0;i:97;}i:119966;a:1:{i:0;i:99;}i:119967;a:1:{i:0;i:100;}i:119970;a:1:{i:0;i:103;}i:119973;a:1:{i:0;i:106;}i:119974;a:1:{i:0;i:107;}i:119977;a:1:{i:0;i:110;}i:119978;a:1:{i:0;i:111;}i:119979;a:1:{i:0;i:112;}i:119980;a:1:{i:0;i:113;}i:119982;a:1:{i:0;i:115;}i:119983;a:1:{i:0;i:116;}i:119984;a:1:{i:0;i:117;}i:119985;a:1:{i:0;i:118;}i:119986;a:1:{i:0;i:119;}i:119987;a:1:{i:0;i:120;}i:119988;a:1:{i:0;i:121;}i:119989;a:1:{i:0;i:122;}i:120016;a:1:{i:0;i:97;}i:120017;a:1:{i:0;i:98;}i:120018;a:1:{i:0;i:99;}i:120019;a:1:{i:0;i:100;}i:120020;a:1:{i:0;i:101;}i:120021;a:1:{i:0;i:102;}i:120022;a:1:{i:0;i:103;}i:120023;a:1:{i:0;i:104;}i:120024;a:1:{i:0;i:105;}i:120025;a:1:{i:0;i:106;}i:120026;a:1:{i:0;i:107;}i:120027;a:1:{i:0;i:108;}i:120028;a:1:{i:0;i:109;}i:120029;a:1:{i:0;i:110;}i:120030;a:1:{i:0;i:111;}i:120031;a:1:{i:0;i:112;}i:120032;a:1:{i:0;i:113;}i:120033;a:1:{i:0;i:114;}i:120034;a:1:{i:0;i:115;}i:120035;a:1:{i:0;i:116;}i:120036;a:1:{i:0;i:117;}i:120037;a:1:{i:0;i:118;}i:120038;a:1:{i:0;i:119;}i:120039;a:1:{i:0;i:120;}i:120040;a:1:{i:0;i:121;}i:120041;a:1:{i:0;i:122;}i:120068;a:1:{i:0;i:97;}i:120069;a:1:{i:0;i:98;}i:120071;a:1:{i:0;i:100;}i:120072;a:1:{i:0;i:101;}i:120073;a:1:{i:0;i:102;}i:120074;a:1:{i:0;i:103;}i:120077;a:1:{i:0;i:106;}i:120078;a:1:{i:0;i:107;}i:120079;a:1:{i:0;i:108;}i:120080;a:1:{i:0;i:109;}i:120081;a:1:{i:0;i:110;}i:120082;a:1:{i:0;i:111;}i:120083;a:1:{i:0;i:112;}i:120084;a:1:{i:0;i:113;}i:120086;a:1:{i:0;i:115;}i:120087;a:1:{i:0;i:116;}i:120088;a:1:{i:0;i:117;}i:120089;a:1:{i:0;i:118;}i:120090;a:1:{i:0;i:119;}i:120091;a:1:{i:0;i:120;}i:120092;a:1:{i:0;i:121;}i:120120;a:1:{i:0;i:97;}i:120121;a:1:{i:0;i:98;}i:120123;a:1:{i:0;i:100;}i:120124;a:1:{i:0;i:101;}i:120125;a:1:{i:0;i:102;}i:120126;a:1:{i:0;i:103;}i:120128;a:1:{i:0;i:105;}i:120129;a:1:{i:0;i:106;}i:120130;a:1:{i:0;i:107;}i:120131;a:1:{i:0;i:108;}i:120132;a:1:{i:0;i:109;}i:120134;a:1:{i:0;i:111;}i:120138;a:1:{i:0;i:115;}i:120139;a:1:{i:0;i:116;}i:120140;a:1:{i:0;i:117;}i:120141;a:1:{i:0;i:118;}i:120142;a:1:{i:0;i:119;}i:120143;a:1:{i:0;i:120;}i:120144;a:1:{i:0;i:121;}i:120172;a:1:{i:0;i:97;}i:120173;a:1:{i:0;i:98;}i:120174;a:1:{i:0;i:99;}i:120175;a:1:{i:0;i:100;}i:120176;a:1:{i:0;i:101;}i:120177;a:1:{i:0;i:102;}i:120178;a:1:{i:0;i:103;}i:120179;a:1:{i:0;i:104;}i:120180;a:1:{i:0;i:105;}i:120181;a:1:{i:0;i:106;}i:120182;a:1:{i:0;i:107;}i:120183;a:1:{i:0;i:108;}i:120184;a:1:{i:0;i:109;}i:120185;a:1:{i:0;i:110;}i:120186;a:1:{i:0;i:111;}i:120187;a:1:{i:0;i:112;}i:120188;a:1:{i:0;i:113;}i:120189;a:1:{i:0;i:114;}i:120190;a:1:{i:0;i:115;}i:120191;a:1:{i:0;i:116;}i:120192;a:1:{i:0;i:117;}i:120193;a:1:{i:0;i:118;}i:120194;a:1:{i:0;i:119;}i:120195;a:1:{i:0;i:120;}i:120196;a:1:{i:0;i:121;}i:120197;a:1:{i:0;i:122;}i:120224;a:1:{i:0;i:97;}i:120225;a:1:{i:0;i:98;}i:120226;a:1:{i:0;i:99;}i:120227;a:1:{i:0;i:100;}i:120228;a:1:{i:0;i:101;}i:120229;a:1:{i:0;i:102;}i:120230;a:1:{i:0;i:103;}i:120231;a:1:{i:0;i:104;}i:120232;a:1:{i:0;i:105;}i:120233;a:1:{i:0;i:106;}i:120234;a:1:{i:0;i:107;}i:120235;a:1:{i:0;i:108;}i:120236;a:1:{i:0;i:109;}i:120237;a:1:{i:0;i:110;}i:120238;a:1:{i:0;i:111;}i:120239;a:1:{i:0;i:112;}i:120240;a:1:{i:0;i:113;}i:120241;a:1:{i:0;i:114;}i:120242;a:1:{i:0;i:115;}i:120243;a:1:{i:0;i:116;}i:120244;a:1:{i:0;i:117;}i:120245;a:1:{i:0;i:118;}i:120246;a:1:{i:0;i:119;}i:120247;a:1:{i:0;i:120;}i:120248;a:1:{i:0;i:121;}i:120249;a:1:{i:0;i:122;}i:120276;a:1:{i:0;i:97;}i:120277;a:1:{i:0;i:98;}i:120278;a:1:{i:0;i:99;}i:120279;a:1:{i:0;i:100;}i:120280;a:1:{i:0;i:101;}i:120281;a:1:{i:0;i:102;}i:120282;a:1:{i:0;i:103;}i:120283;a:1:{i:0;i:104;}i:120284;a:1:{i:0;i:105;}i:120285;a:1:{i:0;i:106;}i:120286;a:1:{i:0;i:107;}i:120287;a:1:{i:0;i:108;}i:120288;a:1:{i:0;i:109;}i:120289;a:1:{i:0;i:110;}i:120290;a:1:{i:0;i:111;}i:120291;a:1:{i:0;i:112;}i:120292;a:1:{i:0;i:113;}i:120293;a:1:{i:0;i:114;}i:120294;a:1:{i:0;i:115;}i:120295;a:1:{i:0;i:116;}i:120296;a:1:{i:0;i:117;}i:120297;a:1:{i:0;i:118;}i:120298;a:1:{i:0;i:119;}i:120299;a:1:{i:0;i:120;}i:120300;a:1:{i:0;i:121;}i:120301;a:1:{i:0;i:122;}i:120328;a:1:{i:0;i:97;}i:120329;a:1:{i:0;i:98;}i:120330;a:1:{i:0;i:99;}i:120331;a:1:{i:0;i:100;}i:120332;a:1:{i:0;i:101;}i:120333;a:1:{i:0;i:102;}i:120334;a:1:{i:0;i:103;}i:120335;a:1:{i:0;i:104;}i:120336;a:1:{i:0;i:105;}i:120337;a:1:{i:0;i:106;}i:120338;a:1:{i:0;i:107;}i:120339;a:1:{i:0;i:108;}i:120340;a:1:{i:0;i:109;}i:120341;a:1:{i:0;i:110;}i:120342;a:1:{i:0;i:111;}i:120343;a:1:{i:0;i:112;}i:120344;a:1:{i:0;i:113;}i:120345;a:1:{i:0;i:114;}i:120346;a:1:{i:0;i:115;}i:120347;a:1:{i:0;i:116;}i:120348;a:1:{i:0;i:117;}i:120349;a:1:{i:0;i:118;}i:120350;a:1:{i:0;i:119;}i:120351;a:1:{i:0;i:120;}i:120352;a:1:{i:0;i:121;}i:120353;a:1:{i:0;i:122;}i:120380;a:1:{i:0;i:97;}i:120381;a:1:{i:0;i:98;}i:120382;a:1:{i:0;i:99;}i:120383;a:1:{i:0;i:100;}i:120384;a:1:{i:0;i:101;}i:120385;a:1:{i:0;i:102;}i:120386;a:1:{i:0;i:103;}i:120387;a:1:{i:0;i:104;}i:120388;a:1:{i:0;i:105;}i:120389;a:1:{i:0;i:106;}i:120390;a:1:{i:0;i:107;}i:120391;a:1:{i:0;i:108;}i:120392;a:1:{i:0;i:109;}i:120393;a:1:{i:0;i:110;}i:120394;a:1:{i:0;i:111;}i:120395;a:1:{i:0;i:112;}i:120396;a:1:{i:0;i:113;}i:120397;a:1:{i:0;i:114;}i:120398;a:1:{i:0;i:115;}i:120399;a:1:{i:0;i:116;}i:120400;a:1:{i:0;i:117;}i:120401;a:1:{i:0;i:118;}i:120402;a:1:{i:0;i:119;}i:120403;a:1:{i:0;i:120;}i:120404;a:1:{i:0;i:121;}i:120405;a:1:{i:0;i:122;}i:120432;a:1:{i:0;i:97;}i:120433;a:1:{i:0;i:98;}i:120434;a:1:{i:0;i:99;}i:120435;a:1:{i:0;i:100;}i:120436;a:1:{i:0;i:101;}i:120437;a:1:{i:0;i:102;}i:120438;a:1:{i:0;i:103;}i:120439;a:1:{i:0;i:104;}i:120440;a:1:{i:0;i:105;}i:120441;a:1:{i:0;i:106;}i:120442;a:1:{i:0;i:107;}i:120443;a:1:{i:0;i:108;}i:120444;a:1:{i:0;i:109;}i:120445;a:1:{i:0;i:110;}i:120446;a:1:{i:0;i:111;}i:120447;a:1:{i:0;i:112;}i:120448;a:1:{i:0;i:113;}i:120449;a:1:{i:0;i:114;}i:120450;a:1:{i:0;i:115;}i:120451;a:1:{i:0;i:116;}i:120452;a:1:{i:0;i:117;}i:120453;a:1:{i:0;i:118;}i:120454;a:1:{i:0;i:119;}i:120455;a:1:{i:0;i:120;}i:120456;a:1:{i:0;i:121;}i:120457;a:1:{i:0;i:122;}i:120488;a:1:{i:0;i:945;}i:120489;a:1:{i:0;i:946;}i:120490;a:1:{i:0;i:947;}i:120491;a:1:{i:0;i:948;}i:120492;a:1:{i:0;i:949;}i:120493;a:1:{i:0;i:950;}i:120494;a:1:{i:0;i:951;}i:120495;a:1:{i:0;i:952;}i:120496;a:1:{i:0;i:953;}i:120497;a:1:{i:0;i:954;}i:120498;a:1:{i:0;i:955;}i:120499;a:1:{i:0;i:956;}i:120500;a:1:{i:0;i:957;}i:120501;a:1:{i:0;i:958;}i:120502;a:1:{i:0;i:959;}i:120503;a:1:{i:0;i:960;}i:120504;a:1:{i:0;i:961;}i:120505;a:1:{i:0;i:952;}i:120506;a:1:{i:0;i:963;}i:120507;a:1:{i:0;i:964;}i:120508;a:1:{i:0;i:965;}i:120509;a:1:{i:0;i:966;}i:120510;a:1:{i:0;i:967;}i:120511;a:1:{i:0;i:968;}i:120512;a:1:{i:0;i:969;}i:120531;a:1:{i:0;i:963;}i:120546;a:1:{i:0;i:945;}i:120547;a:1:{i:0;i:946;}i:120548;a:1:{i:0;i:947;}i:120549;a:1:{i:0;i:948;}i:120550;a:1:{i:0;i:949;}i:120551;a:1:{i:0;i:950;}i:120552;a:1:{i:0;i:951;}i:120553;a:1:{i:0;i:952;}i:120554;a:1:{i:0;i:953;}i:120555;a:1:{i:0;i:954;}i:120556;a:1:{i:0;i:955;}i:120557;a:1:{i:0;i:956;}i:120558;a:1:{i:0;i:957;}i:120559;a:1:{i:0;i:958;}i:120560;a:1:{i:0;i:959;}i:120561;a:1:{i:0;i:960;}i:120562;a:1:{i:0;i:961;}i:120563;a:1:{i:0;i:952;}i:120564;a:1:{i:0;i:963;}i:120565;a:1:{i:0;i:964;}i:120566;a:1:{i:0;i:965;}i:120567;a:1:{i:0;i:966;}i:120568;a:1:{i:0;i:967;}i:120569;a:1:{i:0;i:968;}i:120570;a:1:{i:0;i:969;}i:120589;a:1:{i:0;i:963;}i:120604;a:1:{i:0;i:945;}i:120605;a:1:{i:0;i:946;}i:120606;a:1:{i:0;i:947;}i:120607;a:1:{i:0;i:948;}i:120608;a:1:{i:0;i:949;}i:120609;a:1:{i:0;i:950;}i:120610;a:1:{i:0;i:951;}i:120611;a:1:{i:0;i:952;}i:120612;a:1:{i:0;i:953;}i:120613;a:1:{i:0;i:954;}i:120614;a:1:{i:0;i:955;}i:120615;a:1:{i:0;i:956;}i:120616;a:1:{i:0;i:957;}i:120617;a:1:{i:0;i:958;}i:120618;a:1:{i:0;i:959;}i:120619;a:1:{i:0;i:960;}i:120620;a:1:{i:0;i:961;}i:120621;a:1:{i:0;i:952;}i:120622;a:1:{i:0;i:963;}i:120623;a:1:{i:0;i:964;}i:120624;a:1:{i:0;i:965;}i:120625;a:1:{i:0;i:966;}i:120626;a:1:{i:0;i:967;}i:120627;a:1:{i:0;i:968;}i:120628;a:1:{i:0;i:969;}i:120647;a:1:{i:0;i:963;}i:120662;a:1:{i:0;i:945;}i:120663;a:1:{i:0;i:946;}i:120664;a:1:{i:0;i:947;}i:120665;a:1:{i:0;i:948;}i:120666;a:1:{i:0;i:949;}i:120667;a:1:{i:0;i:950;}i:120668;a:1:{i:0;i:951;}i:120669;a:1:{i:0;i:952;}i:120670;a:1:{i:0;i:953;}i:120671;a:1:{i:0;i:954;}i:120672;a:1:{i:0;i:955;}i:120673;a:1:{i:0;i:956;}i:120674;a:1:{i:0;i:957;}i:120675;a:1:{i:0;i:958;}i:120676;a:1:{i:0;i:959;}i:120677;a:1:{i:0;i:960;}i:120678;a:1:{i:0;i:961;}i:120679;a:1:{i:0;i:952;}i:120680;a:1:{i:0;i:963;}i:120681;a:1:{i:0;i:964;}i:120682;a:1:{i:0;i:965;}i:120683;a:1:{i:0;i:966;}i:120684;a:1:{i:0;i:967;}i:120685;a:1:{i:0;i:968;}i:120686;a:1:{i:0;i:969;}i:120705;a:1:{i:0;i:963;}i:120720;a:1:{i:0;i:945;}i:120721;a:1:{i:0;i:946;}i:120722;a:1:{i:0;i:947;}i:120723;a:1:{i:0;i:948;}i:120724;a:1:{i:0;i:949;}i:120725;a:1:{i:0;i:950;}i:120726;a:1:{i:0;i:951;}i:120727;a:1:{i:0;i:952;}i:120728;a:1:{i:0;i:953;}i:120729;a:1:{i:0;i:954;}i:120730;a:1:{i:0;i:955;}i:120731;a:1:{i:0;i:956;}i:120732;a:1:{i:0;i:957;}i:120733;a:1:{i:0;i:958;}i:120734;a:1:{i:0;i:959;}i:120735;a:1:{i:0;i:960;}i:120736;a:1:{i:0;i:961;}i:120737;a:1:{i:0;i:952;}i:120738;a:1:{i:0;i:963;}i:120739;a:1:{i:0;i:964;}i:120740;a:1:{i:0;i:965;}i:120741;a:1:{i:0;i:966;}i:120742;a:1:{i:0;i:967;}i:120743;a:1:{i:0;i:968;}i:120744;a:1:{i:0;i:969;}i:120763;a:1:{i:0;i:963;}i:1017;a:1:{i:0;i:963;}i:7468;a:1:{i:0;i:97;}i:7469;a:1:{i:0;i:230;}i:7470;a:1:{i:0;i:98;}i:7472;a:1:{i:0;i:100;}i:7473;a:1:{i:0;i:101;}i:7474;a:1:{i:0;i:477;}i:7475;a:1:{i:0;i:103;}i:7476;a:1:{i:0;i:104;}i:7477;a:1:{i:0;i:105;}i:7478;a:1:{i:0;i:106;}i:7479;a:1:{i:0;i:107;}i:7480;a:1:{i:0;i:108;}i:7481;a:1:{i:0;i:109;}i:7482;a:1:{i:0;i:110;}i:7484;a:1:{i:0;i:111;}i:7485;a:1:{i:0;i:547;}i:7486;a:1:{i:0;i:112;}i:7487;a:1:{i:0;i:114;}i:7488;a:1:{i:0;i:116;}i:7489;a:1:{i:0;i:117;}i:7490;a:1:{i:0;i:119;}i:8507;a:3:{i:0;i:102;i:1;i:97;i:2;i:120;}i:12880;a:3:{i:0;i:112;i:1;i:116;i:2;i:101;}i:13004;a:2:{i:0;i:104;i:1;i:103;}i:13006;a:2:{i:0;i:101;i:1;i:118;}i:13007;a:3:{i:0;i:108;i:1;i:116;i:2;i:100;}i:13178;a:2:{i:0;i:105;i:1;i:117;}i:13278;a:3:{i:0;i:118;i:1;i:8725;i:2;i:109;}i:13279;a:3:{i:0;i:97;i:1;i:8725;i:2;i:109;}}s:12:"norm_combcls";a:341:{i:820;i:1;i:821;i:1;i:822;i:1;i:823;i:1;i:824;i:1;i:2364;i:7;i:2492;i:7;i:2620;i:7;i:2748;i:7;i:2876;i:7;i:3260;i:7;i:4151;i:7;i:12441;i:8;i:12442;i:8;i:2381;i:9;i:2509;i:9;i:2637;i:9;i:2765;i:9;i:2893;i:9;i:3021;i:9;i:3149;i:9;i:3277;i:9;i:3405;i:9;i:3530;i:9;i:3642;i:9;i:3972;i:9;i:4153;i:9;i:5908;i:9;i:5940;i:9;i:6098;i:9;i:1456;i:10;i:1457;i:11;i:1458;i:12;i:1459;i:13;i:1460;i:14;i:1461;i:15;i:1462;i:16;i:1463;i:17;i:1464;i:18;i:1465;i:19;i:1467;i:20;i:1468;i:21;i:1469;i:22;i:1471;i:23;i:1473;i:24;i:1474;i:25;i:64286;i:26;i:1611;i:27;i:1612;i:28;i:1613;i:29;i:1614;i:30;i:1615;i:31;i:1616;i:32;i:1617;i:33;i:1618;i:34;i:1648;i:35;i:1809;i:36;i:3157;i:84;i:3158;i:91;i:3640;i:103;i:3641;i:103;i:3656;i:107;i:3657;i:107;i:3658;i:107;i:3659;i:107;i:3768;i:118;i:3769;i:118;i:3784;i:122;i:3785;i:122;i:3786;i:122;i:3787;i:122;i:3953;i:129;i:3954;i:130;i:3962;i:130;i:3963;i:130;i:3964;i:130;i:3965;i:130;i:3968;i:130;i:3956;i:132;i:801;i:202;i:802;i:202;i:807;i:202;i:808;i:202;i:795;i:216;i:3897;i:216;i:119141;i:216;i:119142;i:216;i:119150;i:216;i:119151;i:216;i:119152;i:216;i:119153;i:216;i:119154;i:216;i:12330;i:218;i:790;i:220;i:791;i:220;i:792;i:220;i:793;i:220;i:796;i:220;i:797;i:220;i:798;i:220;i:799;i:220;i:800;i:220;i:803;i:220;i:804;i:220;i:805;i:220;i:806;i:220;i:809;i:220;i:810;i:220;i:811;i:220;i:812;i:220;i:813;i:220;i:814;i:220;i:815;i:220;i:816;i:220;i:817;i:220;i:818;i:220;i:819;i:220;i:825;i:220;i:826;i:220;i:827;i:220;i:828;i:220;i:839;i:220;i:840;i:220;i:841;i:220;i:845;i:220;i:846;i:220;i:851;i:220;i:852;i:220;i:853;i:220;i:854;i:220;i:1425;i:220;i:1430;i:220;i:1435;i:220;i:1443;i:220;i:1444;i:220;i:1445;i:220;i:1446;i:220;i:1447;i:220;i:1450;i:220;i:1621;i:220;i:1622;i:220;i:1763;i:220;i:1770;i:220;i:1773;i:220;i:1841;i:220;i:1844;i:220;i:1847;i:220;i:1848;i:220;i:1849;i:220;i:1851;i:220;i:1852;i:220;i:1854;i:220;i:1858;i:220;i:1860;i:220;i:1862;i:220;i:1864;i:220;i:2386;i:220;i:3864;i:220;i:3865;i:220;i:3893;i:220;i:3895;i:220;i:4038;i:220;i:6459;i:220;i:8424;i:220;i:119163;i:220;i:119164;i:220;i:119165;i:220;i:119166;i:220;i:119167;i:220;i:119168;i:220;i:119169;i:220;i:119170;i:220;i:119178;i:220;i:119179;i:220;i:1434;i:222;i:1453;i:222;i:6441;i:222;i:12333;i:222;i:12334;i:224;i:12335;i:224;i:119149;i:226;i:1454;i:228;i:6313;i:228;i:12331;i:228;i:768;i:230;i:769;i:230;i:770;i:230;i:771;i:230;i:772;i:230;i:773;i:230;i:774;i:230;i:775;i:230;i:776;i:230;i:777;i:230;i:778;i:230;i:779;i:230;i:780;i:230;i:781;i:230;i:782;i:230;i:783;i:230;i:784;i:230;i:785;i:230;i:786;i:230;i:787;i:230;i:788;i:230;i:829;i:230;i:830;i:230;i:831;i:230;i:832;i:230;i:833;i:230;i:834;i:230;i:835;i:230;i:836;i:230;i:838;i:230;i:842;i:230;i:843;i:230;i:844;i:230;i:848;i:230;i:849;i:230;i:850;i:230;i:855;i:230;i:867;i:230;i:868;i:230;i:869;i:230;i:870;i:230;i:871;i:230;i:872;i:230;i:873;i:230;i:874;i:230;i:875;i:230;i:876;i:230;i:877;i:230;i:878;i:230;i:879;i:230;i:1155;i:230;i:1156;i:230;i:1157;i:230;i:1158;i:230;i:1426;i:230;i:1427;i:230;i:1428;i:230;i:1429;i:230;i:1431;i:230;i:1432;i:230;i:1433;i:230;i:1436;i:230;i:1437;i:230;i:1438;i:230;i:1439;i:230;i:1440;i:230;i:1441;i:230;i:1448;i:230;i:1449;i:230;i:1451;i:230;i:1452;i:230;i:1455;i:230;i:1476;i:230;i:1552;i:230;i:1553;i:230;i:1554;i:230;i:1555;i:230;i:1556;i:230;i:1557;i:230;i:1619;i:230;i:1620;i:230;i:1623;i:230;i:1624;i:230;i:1750;i:230;i:1751;i:230;i:1752;i:230;i:1753;i:230;i:1754;i:230;i:1755;i:230;i:1756;i:230;i:1759;i:230;i:1760;i:230;i:1761;i:230;i:1762;i:230;i:1764;i:230;i:1767;i:230;i:1768;i:230;i:1771;i:230;i:1772;i:230;i:1840;i:230;i:1842;i:230;i:1843;i:230;i:1845;i:230;i:1846;i:230;i:1850;i:230;i:1853;i:230;i:1855;i:230;i:1856;i:230;i:1857;i:230;i:1859;i:230;i:1861;i:230;i:1863;i:230;i:1865;i:230;i:1866;i:230;i:2385;i:230;i:2387;i:230;i:2388;i:230;i:3970;i:230;i:3971;i:230;i:3974;i:230;i:3975;i:230;i:5901;i:230;i:6458;i:230;i:8400;i:230;i:8401;i:230;i:8404;i:230;i:8405;i:230;i:8406;i:230;i:8407;i:230;i:8411;i:230;i:8412;i:230;i:8417;i:230;i:8423;i:230;i:8425;i:230;i:65056;i:230;i:65057;i:230;i:65058;i:230;i:65059;i:230;i:119173;i:230;i:119174;i:230;i:119175;i:230;i:119177;i:230;i:119176;i:230;i:119210;i:230;i:119211;i:230;i:119212;i:230;i:119213;i:230;i:789;i:232;i:794;i:232;i:12332;i:232;i:863;i:233;i:866;i:233;i:861;i:234;i:862;i:234;i:864;i:234;i:865;i:234;i:837;i:240;}}
 
lib/whois/whois.ae.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AE_HANDLER__'))
29
- define('__AE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ae_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'Domain Name:' => 'domain.name',
39
- 'Registrar Name:' => 'domain.sponsor',
40
- 'Status:' => 'domain.status',
41
- 'Registrant Contact ID:' => 'owner.handle',
42
- 'Registrant Contact Name:' => 'owner.name',
43
- 'Tech Contact Name:' => 'tech.name',
44
- 'Tech Contact ID:' => 'tech.handle',
45
- 'Name Server:' => 'domain.nserver.'
46
- );
47
-
48
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd');
49
-
50
- $r['regyinfo'] = array(
51
- 'referrer' => 'http://www.nic.ae',
52
- 'registrar' => 'UAENIC'
53
- );
54
-
55
- return $r;
56
- }
57
- }
58
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.aero.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AERO_HANDLER__'))
29
- define('__AERO_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class aero_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, 'ymd');
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.nic.aero',
40
- 'registrar' => 'Societe Internationale de Telecommunications Aeronautiques SC'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ag.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AG_HANDLER__'))
29
- define('__AG_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ag_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.nic.ag',
40
- 'registrar' => 'Nic AG'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.asia.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if(!defined('__ASIA_HANDLER__')) define('__ASIA_HANDLER__',1);
29
-
30
- require_once('whois.parser.php');
31
-
32
- class asia_handler
33
- {
34
- function parse ($data_str, $query)
35
- {
36
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
37
- $r['regyinfo'] = array(
38
- 'referrer'=>'http://www.dotasia.org/',
39
- 'registrar' => 'DotAsia'
40
- );
41
- return $r;
42
- }
43
- }
44
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.at.php DELETED
@@ -1,102 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AT_HANDLER__'))
29
- define('__AT_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class at_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'person' => 'name',
42
- 'personname' => 'name',
43
- 'street address' => 'address.street',
44
- 'city' => 'address.city',
45
- 'postal code' => 'address.pcode',
46
- 'country' => 'address.country'
47
- );
48
-
49
- $contacts = array(
50
- 'registrant' => 'owner',
51
- 'admin-c' => 'admin',
52
- 'tech-c' => 'tech',
53
- 'billing-c' => 'billing',
54
- 'zone-c' => 'zone'
55
- );
56
-
57
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd');
58
-
59
- if (isset($reg['domain']['remarks']))
60
- unset($reg['domain']['remarks']);
61
-
62
- if (isset($reg['domain']['descr']))
63
- {
64
- while (list($key, $val) = each($reg['domain']['descr']))
65
- {
66
- $v = trim(substr(strstr($val, ':'), 1));
67
- if (strstr($val, '[organization]:'))
68
- {
69
- $reg['owner']['organization'] = $v;
70
- continue;
71
- }
72
- if (strstr($val, '[phone]:'))
73
- {
74
- $reg['owner']['phone'] = $v;
75
- continue;
76
- }
77
- if (strstr($val, '[fax-no]:'))
78
- {
79
- $reg['owner']['fax'] = $v;
80
- continue;
81
- }
82
- if (strstr($val, '[e-mail]:'))
83
- {
84
- $reg['owner']['email'] = $v;
85
- continue;
86
- }
87
-
88
- $reg['owner']['address'][$key] = $v;
89
- }
90
-
91
- if (isset($reg['domain']['descr'])) unset($reg['domain']['descr']);
92
- }
93
-
94
- $r['regrinfo'] = $reg;
95
- $r['regyinfo'] = array(
96
- 'referrer' => 'http://www.nic.at',
97
- 'registrar' => 'NIC-AT'
98
- );
99
- return $r;
100
- }
101
- }
102
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.au.php DELETED
@@ -1,63 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AU_HANDLER__'))
29
- define('__AU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class au_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
-
38
- $items = array(
39
- 'Domain Name:' => 'domain.name',
40
- 'Last Modified:' => 'domain.changed',
41
- 'Registrar Name:' => 'domain.sponsor',
42
- 'Status:' => 'domain.status',
43
- 'Domain ROID:' => 'domain.handle',
44
- 'Registrant:' => 'owner.organization',
45
- 'Registrant Contact ID:' => 'owner.handle',
46
- 'Registrant Contact Email:' => 'owner.email',
47
- 'Registrant Contact Name:' => 'owner.name',
48
- 'Tech Contact Name:' => 'tech.name',
49
- 'Tech Contact Email:' => 'tech.email',
50
- 'Tech Contact ID:' => 'tech.handle',
51
- 'Name Server:' => 'domain.nserver.'
52
- );
53
-
54
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items);
55
- $r['regyinfo'] = array(
56
- 'referrer' => 'http://www.aunic.net',
57
- 'registrar' => 'AU-NIC'
58
- );
59
- return $r;
60
- }
61
- }
62
-
63
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.be.php DELETED
@@ -1,76 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__BE_HANDLER__'))
31
- define('__BE_HANDLER__', 1);
32
-
33
- class be_handler
34
- {
35
- function parse($data, $query)
36
- {
37
- $items = array(
38
- 'domain.name' => 'Domain:',
39
- 'domain.status' => 'Status:',
40
- 'domain.nserver' => 'Nameservers:',
41
- 'domain.created' => 'Registered:',
42
- 'owner' => 'Licensee:',
43
- 'admin' => 'Onsite Contacts:',
44
- 'tech' => 'Agent Technical Contacts:',
45
- 'agent' => 'Agent:'
46
- );
47
-
48
- $trans = array(
49
- 'company name2:' => ''
50
- );
51
-
52
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
53
-
54
- if ($r['regrinfo']['domain']['status'] == 'REGISTERED')
55
- {
56
- $r['regrinfo']['registered'] = 'yes';
57
- $r['regrinfo'] = get_contacts($r['regrinfo'],$trans);
58
-
59
- if (isset($r['regrinfo']['agent']))
60
- {
61
- $sponsor = get_contact($r['regrinfo']['agent'],$trans);
62
- unset($r['regrinfo']['agent']);
63
- $r['regrinfo']['domain']['sponsor'] = $sponsor['name'];
64
- }
65
-
66
- $r = format_dates($r, '-mdy');
67
- }
68
- else
69
- $r['regrinfo']['registered'] = 'no';
70
-
71
- $r['regyinfo']['referrer'] = 'http://www.domain-registry.nl';
72
- $r['regyinfo']['registrar'] = 'DNS Belgium';
73
- return $r;
74
- }
75
- }
76
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.biz.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__BIZ_HANDLER__'))
29
- define('__BIZ_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class biz_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, '-md--y');
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.neulevel.biz',
40
- 'registrar' => 'NEULEVEL'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.br.php DELETED
@@ -1,84 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__BR_HANDLER__'))
31
- define('__BR_HANDLER__', 1);
32
-
33
- class br_handler
34
- {
35
-
36
- function parse($data_str, $query)
37
- {
38
- $translate = array(
39
- 'fax-no' => 'fax',
40
- 'e-mail' => 'email',
41
- 'nic-hdl-br' => 'handle',
42
- 'person' => 'name',
43
- 'netname' => 'name',
44
- 'domain' => 'name',
45
- 'updated' => ''
46
- );
47
-
48
- $contacts = array(
49
- 'owner-c' => 'owner',
50
- 'tech-c' => 'tech',
51
- 'admin-c' => 'admin',
52
- 'billing-c' => 'billing'
53
- );
54
-
55
- $r = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd');
56
-
57
- if (in_array('Permission denied.', $r['disclaimer']))
58
- {
59
- $r['registered'] = 'unknown';
60
- return $r;
61
- }
62
-
63
- if (isset($r['domain']['nsstat'])) unset($r['domain']['nsstat']);
64
- if (isset($r['domain']['nslastaa'])) unset($r['domain']['nslastaa']);
65
-
66
- if (isset($r['domain']['owner']))
67
- {
68
- $r['owner']['organization'] = $r['domain']['owner'];
69
- unset($r['domain']['owner']);
70
- }
71
-
72
- if (isset($r['domain']['responsible'])) unset($r['domain']['responsible']);
73
- if (isset($r['domain']['address'])) unset($r['domain']['address']);
74
- if (isset($r['domain']['phone'])) unset($r['domain']['phone']);
75
-
76
- $a['regrinfo'] = $r;
77
- $a['regyinfo'] = array(
78
- 'registrar' => 'BR-NIC',
79
- 'referrer' => 'http://www.nic.br'
80
- );
81
- return $a;
82
- }
83
- }
84
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ca.php DELETED
@@ -1,76 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CA_HANDLER__'))
29
- define('__CA_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ca_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative contact:',
40
- 'tech' => 'Technical contact:',
41
- 'domain.sponsor' => 'Registrar:',
42
- 'domain.nserver' => 'Name servers:',
43
- 'domain.status' => 'Domain status:',
44
- 'domain.created' => 'Creation date:',
45
- 'domain.expires' => 'Expiry date:',
46
- 'domain.changed' => 'Updated date:'
47
- );
48
-
49
- $extra = array(
50
- 'postal address:' => 'address.0',
51
- 'job title:' => '',
52
- 'number:' => 'handle',
53
- 'description:' => 'organization'
54
- );
55
-
56
- $r['regrinfo'] = easy_parser($data_str['rawdata'],$items,'ymd',$extra);
57
-
58
- if (!empty($r['regrinfo']['domain']['sponsor']))
59
- {
60
- list($v,$reg) = explode(':',$r['regrinfo']['domain']['sponsor'][0]);
61
- $r['regrinfo']['domain']['sponsor'] = trim($reg);
62
- }
63
-
64
- if (empty($r['regrinfo']['domain']['status']) || $r['regrinfo']['domain']['status'] == 'available')
65
- $r['regrinfo']['registered'] = 'no';
66
- else
67
- $r['regrinfo']['registered'] = 'yes';
68
-
69
- $r['regyinfo'] = array(
70
- 'registrar' => 'CIRA',
71
- 'referrer' => 'http://www.cira.ca/'
72
- );
73
- return $r;
74
- }
75
- }
76
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.cat.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CAT_HANDLER__'))
29
- define('__CAT_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class cat_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
-
39
- if (!isset($r['regrinfo']['domain']['name']))
40
- $r['regrinfo']['registered'] = 'no';
41
-
42
- $r['regyinfo']['referrer'] = 'http://www.domini.cat/';
43
- $r['regyinfo']['registrar'] = 'Domini punt CAT';
44
- return $r;
45
- }
46
- }
47
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ch.php DELETED
@@ -1,82 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__CH_HANDLER__'))
31
- define('__CH_HANDLER__', 1);
32
-
33
- class ch_handler
34
- {
35
-
36
- function parse($data_str, $query)
37
- {
38
-
39
- $items = array(
40
- 'owner' => 'Holder of domain name:',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.created' => 'Date of last registration:',
43
- 'domain.changed' => 'Date of last modification:',
44
- 'tech' => 'Technical contact:',
45
- 'domain.nserver' => 'Name servers:',
46
- 'domain.dnssec' => 'DNSSEC:'
47
- );
48
-
49
- $trans = array(
50
- 'contractual language:' => 'language'
51
- );
52
-
53
- $r['regrinfo'] = get_blocks($data_str['rawdata'], $items);
54
-
55
- if (!empty($r['regrinfo']['domain']['name']))
56
- {
57
- $r['regrinfo'] = get_contacts($r['regrinfo'],$trans);
58
-
59
- $r['regrinfo']['domain']['name'] = $r['regrinfo']['domain']['name'][0];
60
-
61
- if (isset($r['regrinfo']['domain']['changed'][0]))
62
- $r['regrinfo']['domain']['changed'] = get_date($r['regrinfo']['domain']['changed'][0], 'dmy');
63
-
64
- if (isset($r['regrinfo']['domain']['created'][0]))
65
- $r['regrinfo']['domain']['created'] = get_date($r['regrinfo']['domain']['created'][0], 'dmy');
66
-
67
- $r['regrinfo']['registered'] = 'yes';
68
- }
69
- else
70
- {
71
- $r = '';
72
- $r['regrinfo']['registered'] = 'no';
73
- }
74
-
75
- $r['regyinfo'] = array(
76
- 'referrer' => 'http://www.nic.ch',
77
- 'registrar' => 'SWITCH Domain Name Registration'
78
- );
79
- return $r;
80
- }
81
- }
82
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.cl.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CL_HANDLER__'))
29
- define('__CL_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class cl_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'admin' => '(Administrative Contact)',
39
- 'tech' => 'Contacto Técnico (Technical Contact):',
40
- 'domain.nserver' => 'Servidores de nombre (Domain servers):',
41
- 'domain.changed' => '(Database last updated on):'
42
- );
43
-
44
- $trans = array(
45
- 'organización:' => 'organization',
46
- 'nombre :' => 'name');
47
-
48
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'd-m-y', $trans);
49
- $r['regyinfo'] = array(
50
- 'referrer' => 'http://www.nic.cl',
51
- 'registrar' => 'NIC Chile'
52
- );
53
- return $r;
54
- }
55
- }
56
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.client.php DELETED
@@ -1,595 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.ip.lib.php');
29
-
30
- class WhoisClient {
31
-
32
- // Recursion allowed ?
33
- var $gtld_recurse = false;
34
-
35
- // Default WHOIS port
36
- var $PORT = 43;
37
-
38
- // Maximum number of retries on connection failure
39
- var $RETRY = 0;
40
-
41
- // Time to wait between retries
42
- var $SLEEP = 2;
43
-
44
- // Read buffer size (0 == char by char)
45
- var $BUFFER = 1024;
46
-
47
- // Communications timeout
48
- var $STIMEOUT = 10;
49
-
50
- // List of servers and handlers (loaded from servers.whois)
51
- var $DATA = array();
52
-
53
- // Array to contain all query variables
54
- var $Query = array(
55
- 'tld' => '',
56
- 'type' => 'domain',
57
- 'query' => '',
58
- 'status',
59
- 'server'
60
- );
61
-
62
- // This release of the package
63
- var $CODE_VERSION = '4.2.2';
64
-
65
- // Full code and data version string (e.g. 'Whois2.php v3.01:16')
66
- var $VERSION;
67
-
68
- /*
69
- * Constructor function
70
- */
71
- function WhoisClient () {
72
- // Load DATA array
73
- @require('whois.servers.php');
74
-
75
- // Set version
76
- $this->VERSION = sprintf("phpWhois v%s-%s", $this->CODE_VERSION, $this->DATA_VERSION);
77
- }
78
-
79
- /*
80
- * Perform lookup
81
- */
82
-
83
- function GetRawData ($query) {
84
-
85
- $this->Query['query'] = $query;
86
-
87
- // clear error description
88
- if (isset($this->Query['errstr'])) unset($this->Query['errstr']);
89
-
90
- if (!isset($this->Query['server'])) {
91
- $this->Query['status'] = 'error';
92
- $this->Query['errstr'][] = 'No server specified';
93
- return(array());
94
- }
95
-
96
- // Check if protocol is http
97
-
98
- if (substr($this->Query['server'],0,7)=='http://' ||
99
- substr($this->Query['server'],0,8)=='https://')
100
- {
101
- $output = $this->httpQuery($this->Query['server']);
102
-
103
- if (!$output)
104
- {
105
- $this->Query['status'] = 'error';
106
- $this->Query['errstr'][] = 'Connect failed to: '.$this->Query['server'];
107
- return(array());
108
- }
109
-
110
- $this->Query['args'] = substr(strchr($this->Query['server'],'?'),1);
111
- $this->Query['server'] = strtok($this->Query['server'],'?');
112
-
113
- if (substr($this->Query['server'],0,7)=='http://')
114
- $this->Query['server_port'] = 80;
115
- else
116
- $this->Query['server_port'] = 483;
117
- }
118
- else
119
- {
120
- // Get args
121
-
122
- if (strpos($this->Query['server'],'?'))
123
- {
124
- $parts = explode('?',$this->Query['server']);
125
- $this->Query['server'] = trim($parts[0]);
126
- $query_args = trim($parts[1]);
127
-
128
- // replace substitution parameters
129
- $query_args = str_replace('{query}', $query, $query_args);
130
- $query_args = str_replace('{version}', 'phpWhois'.$this->CODE_VERSION, $query_args);
131
-
132
- if (strpos($query_args,'{ip}')!==false)
133
- {
134
- $query_args = str_replace('{ip}', phpwhois_getclientip(), $query_args);
135
- }
136
-
137
- if (strpos($query_args,'{hname}')!==false)
138
- {
139
- $query_args = str_replace('{hname}', gethostbyaddr(phpwhois_getclientip()), $query_args);
140
- }
141
- }
142
- else
143
- {
144
- if (empty($this->Query['args']))
145
- $query_args = $query;
146
- else
147
- $query_args = $this->Query['args'];
148
- }
149
-
150
- $this->Query['args'] = $query_args;
151
-
152
- if (substr($this->Query['server'],0,9) == 'rwhois://')
153
- {
154
- $this->Query['server'] = substr($this->Query['server'],9);
155
- }
156
-
157
- if (substr($this->Query['server'],0,8) == 'whois://')
158
- {
159
- $this->Query['server'] = substr($this->Query['server'],8);
160
- }
161
-
162
- // Get port
163
-
164
- if (strpos($this->Query['server'],':'))
165
- {
166
- $parts = explode(':',$this->Query['server']);
167
- $this->Query['server'] = trim($parts[0]);
168
- $this->Query['server_port'] = trim($parts[1]);
169
- }
170
- else
171
- $this->Query['server_port'] = $this->PORT;
172
-
173
- // Connect to whois server, or return if failed
174
-
175
- $ptr = $this->Connect();
176
-
177
- if($ptr < 0) {
178
- $this->Query['status'] = 'error';
179
- $this->Query['errstr'][] = 'Connect failed to: '.$this->Query['server'];
180
- return array();
181
- }
182
-
183
- stream_set_timeout($ptr,$this->STIMEOUT);
184
- stream_set_blocking($ptr,0);
185
-
186
- // Send query
187
- fputs($ptr, trim($query_args)."\r\n");
188
-
189
- // Prepare to receive result
190
- $raw = '';
191
- $start = time();
192
- $null = NULL;
193
- $r = array($ptr);
194
-
195
- while (!feof($ptr))
196
- {
197
- if (stream_select($r,$null,$null,$this->STIMEOUT))
198
- {
199
- $raw .= fgets($ptr, $this->BUFFER);
200
- }
201
-
202
- if (time()-$start > $this->STIMEOUT)
203
- {
204
- $this->Query['status'] = 'error';
205
- $this->Query['errstr'][] = 'Timeout reading from '.$this->Query['server'];
206
- return array();
207
- }
208
- }
209
-
210
- if (array_key_exists($this->Query['server'],$this->NON_UTF8))
211
- {
212
- $raw = utf8_encode($raw);
213
- }
214
-
215
- $output = explode("\n", $raw);
216
-
217
- // Drop empty last line (if it's empty! - saleck)
218
- if (empty($output[count($output)-1]))
219
- unset($output[count($output)-1]);
220
- }
221
-
222
- return $output;
223
- }
224
-
225
- /*
226
- * Perform lookup. Returns an array. The 'rawdata' element contains an
227
- * array of lines gathered from the whois query. If a top level domain
228
- * handler class was found for the domain, other elements will have been
229
- * populated too.
230
- */
231
-
232
- function GetData ($query='', $deep_whois=true) {
233
-
234
- // If domain to query passed in, use it, otherwise use domain from initialisation
235
- $query = !empty($query) ? $query : $this->Query['query'];
236
-
237
- $output = $this->GetRawData($query);
238
-
239
- // Create result and set 'rawdata'
240
- $result = array( 'rawdata' => $output );
241
- $result = $this->set_whois_info($result);
242
-
243
- // Return now on error
244
- if (empty($output)) return $result;
245
-
246
- // If we have a handler, post-process it with it
247
- if (isSet($this->Query['handler']))
248
- {
249
- // Keep server list
250
- $servers = $result['regyinfo']['servers'];
251
- unset($result['regyinfo']['servers']);
252
-
253
- // Process data
254
- $result = $this->Process($result,$deep_whois);
255
-
256
- // Add new servers to the server list
257
- if (isset($result['regyinfo']['servers']))
258
- $result['regyinfo']['servers'] = array_merge($servers,$result['regyinfo']['servers']);
259
- else
260
- $result['regyinfo']['servers'] = $servers;
261
-
262
- // Handler may forget to set rawdata
263
- if (!isset($result['rawdata']))
264
- $result['rawdata'] = $output;
265
- }
266
-
267
- // Type defaults to domain
268
- if (!isset($result['regyinfo']['type']))
269
- $result['regyinfo']['type'] = 'domain';
270
-
271
- // Add error information if any
272
- if (isset($this->Query['errstr']))
273
- $result['errstr'] = $this->Query['errstr'];
274
-
275
- // Fix/add nameserver information
276
- if (method_exists($this,'FixResult') && $this->Query['tld'] != 'ip')
277
- $this->FixResult($result,$query);
278
-
279
- return($result);
280
- }
281
-
282
- /*
283
- * Adds whois server query information to result
284
- */
285
-
286
- function set_whois_info ($result)
287
- {
288
- $info = array(
289
- 'server'=> $this->Query['server'],
290
- );
291
-
292
- if (!empty($this->Query['args']))
293
- $info['args'] = $this->Query['args'];
294
- else
295
- $info['args'] = $this->Query['query'];
296
-
297
- if (!empty($this->Query['server_port']))
298
- $info['port'] = $this->Query['server_port'];
299
- else
300
- $info['port'] = 43;
301
-
302
- if (isset($result['regyinfo']['whois']))
303
- unset($result['regyinfo']['whois']);
304
-
305
- if (isset($result['regyinfo']['rwhois']))
306
- unset($result['regyinfo']['rwhois']);
307
-
308
- $result['regyinfo']['servers'][] = $info;
309
-
310
- return $result;
311
- }
312
-
313
- /*
314
- * Convert html output to plain text
315
- */
316
- function httpQuery ($query) {
317
-
318
- //echo ini_get('allow_url_fopen');
319
-
320
- //if (ini_get('allow_url_fopen'))
321
- $lines = @file($this->Query['server']);
322
-
323
- if (!$lines) return false;
324
-
325
- $output = '';
326
- $pre = '';
327
-
328
- while (list($key, $val)=each($lines)) {
329
- $val = trim($val);
330
-
331
- $pos=strpos(strtoupper($val),'<PRE>');
332
- if ($pos!==false) {
333
- $pre = "\n";
334
- $output.=substr($val,0,$pos)."\n";
335
- $val = substr($val,$pos+5);
336
- }
337
- $pos=strpos(strtoupper($val),'</PRE>');
338
- if ($pos!==false) {
339
- $pre = '';
340
- $output.=substr($val,0,$pos)."\n";
341
- $val = substr($val,$pos+6);
342
- }
343
- $output.=$val.$pre;
344
- }
345
-
346
- $search = array (
347
- '<BR>', '<P>', '</TITLE>',
348
- '</H1>', '</H2>', '</H3>',
349
- '<br>', '<p>', '</title>',
350
- '</h1>', '</h2>', '</h3>' );
351
-
352
- $output = str_replace($search,"\n",$output);
353
- $output = str_replace('<TD',' <td',$output);
354
- $output = str_replace('<td',' <td',$output);
355
- $output = str_replace('<tr',"\n<tr",$output);
356
- $output = str_replace('<TR',"\n<tr",$output);
357
- $output = str_replace('&nbsp;',' ',$output);
358
- $output = strip_tags($output);
359
- $output = explode("\n",$output);
360
-
361
- $rawdata = array();
362
- $null = 0;
363
-
364
- while (list($key, $val)=each($output)) {
365
- $val=trim($val);
366
- if ($val=='') {
367
- if (++$null>2) continue;
368
- }
369
- else $null=0;
370
- $rawdata[]=$val;
371
- }
372
- return $rawdata;
373
- }
374
-
375
- /*
376
- * Open a socket to the whois server.
377
- *
378
- * Returns a socket connection pointer on success, or -1 on failure.
379
- */
380
- function Connect ($server = '') {
381
-
382
- if ($server == '')
383
- $server = $this->Query['server'];
384
-
385
- // Fail if server not set
386
- if($server == '')
387
- return(-1);
388
-
389
- // Get rid of protocol and/or get port
390
- $port = $this->Query['server_port'];
391
-
392
- $pos = strpos($server,'://');
393
-
394
- if ($pos !== false)
395
- $server = substr($server, $pos+3);
396
-
397
- $pos = strpos($server,':');
398
-
399
- if ($pos !== false)
400
- {
401
- $port = substr($server,$pos+1);
402
- $server = substr($server,0,$pos);
403
- }
404
-
405
- // Enter connection attempt loop
406
- $retry = 0;
407
-
408
- while($retry <= $this->RETRY) {
409
- // Set query status
410
- $this->Query['status'] = 'ready';
411
-
412
- // Connect to whois port
413
- $ptr = @fsockopen($server, $port, $errno, $errstr, $this->STIMEOUT);
414
-
415
- if($ptr > 0) {
416
- $this->Query['status'] = 'ok';
417
- return($ptr);
418
- }
419
-
420
- // Failed this attempt
421
- $this->Query['status'] = 'error';
422
- $this->Query['error'][] = $errstr;
423
- $retry++;
424
-
425
- // Sleep before retrying
426
- sleep($this->SLEEP);
427
- }
428
-
429
- // If we get this far, it hasn't worked
430
- return(-1);
431
- }
432
-
433
- /*
434
- * Post-process result with handler class. On success, returns the result
435
- * from the handler. On failure, returns passed result unaltered.
436
- */
437
- function Process (&$result, $deep_whois=true) {
438
-
439
- $handler_name = str_replace('.','_',$this->Query['handler']);
440
-
441
- // If the handler has not already been included somehow, include it now
442
- $HANDLER_FLAG = sprintf("__%s_HANDLER__", strtoupper($handler_name));
443
-
444
- if (!defined($HANDLER_FLAG))
445
- include($this->Query['file']);
446
-
447
- // If the handler has still not been included, append to query errors list and return
448
- if (!defined($HANDLER_FLAG))
449
- {
450
- $this->Query['errstr'][] = "Can't find $handler_name handler: ".$this->Query['file'];
451
- return($result);
452
- }
453
-
454
- if (!$this->gtld_recurse && $this->Query['file'] == 'whois.gtld.php')
455
- return $result;
456
-
457
- // Pass result to handler
458
- $object = $handler_name.'_handler';
459
-
460
- $handler = new $object('');
461
-
462
- // If handler returned an error, append it to the query errors list
463
- if(isSet($handler->Query['errstr']))
464
- $this->Query['errstr'][] = $handler->Query['errstr'];
465
-
466
- $handler->deep_whois = $deep_whois;
467
-
468
- // Process
469
- $res = $handler->parse($result,$this->Query['query']);
470
-
471
- // Return the result
472
- return $res;
473
- }
474
-
475
- /*
476
- * Does more (deeper) whois ...
477
- */
478
-
479
- function DeepWhois ($query, $result) {
480
-
481
- if (!isset($result['regyinfo']['whois'])) return $result;
482
-
483
- $this->Query['server'] = $wserver = $result['regyinfo']['whois'];
484
- unset($result['regyinfo']['whois']);
485
- $subresult = $this->GetRawData($query);
486
-
487
- if (!empty($subresult))
488
- {
489
- $result = $this->set_whois_info($result);
490
- $result['rawdata'] = $subresult;
491
-
492
- if (isset($this->WHOIS_GTLD_HANDLER[$wserver]))
493
- $this->Query['handler'] = $this->WHOIS_GTLD_HANDLER[$wserver];
494
- else
495
- {
496
- $parts = explode('.',$wserver);
497
- $hname = strtolower($parts[1]);
498
-
499
- if (($fp = @fopen('whois.gtld.'.$hname.'.php', 'r', 1)) and fclose($fp))
500
- $this->Query['handler'] = $hname;
501
- }
502
-
503
- if (!empty($this->Query['handler']))
504
- {
505
- $this->Query['file'] = sprintf('whois.gtld.%s.php', $this->Query['handler']);
506
- $regrinfo = $this->Process($subresult); //$result['rawdata']);
507
- $result['regrinfo'] = $this->merge_results($result['regrinfo'], $regrinfo);
508
- //$result['rawdata'] = $subresult;
509
- }
510
- }
511
-
512
- return $result;
513
- }
514
-
515
- /*
516
- * Merge results
517
- */
518
-
519
- function merge_results($a1, $a2) {
520
-
521
- reset($a2);
522
-
523
- while (list($key, $val) = each($a2))
524
- {
525
- if (isset($a1[$key]))
526
- {
527
- if (is_array($val))
528
- {
529
- if ($key != 'nserver')
530
- $a1[$key] = $this->merge_results($a1[$key], $val);
531
- }
532
- else
533
- {
534
- $val = trim($val);
535
- if ($val != '')
536
- $a1[$key] = $val;
537
- }
538
- }
539
- else
540
- $a1[$key] = $val;
541
- }
542
-
543
- return $a1;
544
- }
545
-
546
- function FixNameServer($nserver)
547
- {
548
- $dns = array();
549
-
550
- foreach($nserver as $val)
551
- {
552
- $val = str_replace( array('[',']','(',')'), '', trim($val));
553
- $val = str_replace("\t", ' ', $val);
554
- $parts = explode(' ', $val);
555
- $host = '';
556
- $ip = '';
557
-
558
- foreach($parts as $p)
559
- {
560
- if (substr($p,-1) == '.') $p = substr($p,0,-1);
561
-
562
- if ((ip2long($p) == - 1) or (ip2long($p) === false))
563
- {
564
- // Hostname ?
565
- if ($host == '' && preg_match('/^[\w\-]+(\.[\w\-]+)+$/',$p))
566
- {
567
- $host = $p;
568
- }
569
- }
570
- else
571
- // IP Address
572
- $ip = $p;
573
- }
574
-
575
- // Valid host name ?
576
-
577
- if ($host == '') continue;
578
-
579
- // Get ip address
580
-
581
- if ($ip == '')
582
- {
583
- $ip = gethostbyname($host);
584
- if ($ip == $host) $ip = '(DOES NOT EXIST)';
585
- }
586
-
587
- if (substr($host,-1,1) == '.') $host = substr($host,0,-1);
588
-
589
- $dns[strtolower($host)] = $ip;
590
- }
591
-
592
- return $dns;
593
- }
594
- }
595
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.cn.php DELETED
@@ -1,91 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CN_HANDLER__'))
29
- define('__CN_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class cn_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'Domain Name:' => 'domain.name',
39
- 'Domain Status:' => 'domain.status.',
40
- 'ROID:' => 'domain.handle',
41
- 'Name Server:' => 'domain.nserver.',
42
- 'Registration Date:' => 'domain.created',
43
- 'Expiration Date:' => 'domain.expires',
44
- 'Sponsoring Registrar:' => 'domain.sponsor',
45
- 'Registrant Name:' => 'owner.name',
46
- 'Registrant Organization:' => 'owner.organization',
47
- 'Registrant Address:' => 'owner.address.address',
48
- 'Registrant Postal Code:' => 'owner.address.pcode',
49
- 'Registrant City:' => 'owner.address.city',
50
- 'Registrant Country Code:' => 'owner.address.country',
51
- 'Registrant Email:' => 'owner.email',
52
- 'Registrant Phone Number:' => 'owner.phone',
53
- 'Registrant Fax:' => 'owner.fax',
54
- 'Administrative Name:' => 'admin.name',
55
- 'Administrative Organization:' => 'admin.organization',
56
- 'Administrative Address:' => 'admin.address.address',
57
- 'Administrative Postal Code:' => 'admin.address.pcode',
58
- 'Administrative City:' => 'admin.address.city',
59
- 'Administrative Country Code:' => 'admin.address.country',
60
- 'Administrative Email:' => 'admin.email',
61
- 'Administrative Phone Number:' => 'admin.phone',
62
- 'Administrative Fax:' => 'admin.fax',
63
- 'Technical Name:' => 'tech.name',
64
- 'Technical Organization:' => 'tech.organization',
65
- 'Technical Address:' => 'tech.address.address',
66
- 'Technical Postal Code:' => 'tech.address.pcode',
67
- 'Technical City:' => 'tech.address.city',
68
- 'tec-country:' => 'tech.address.country',
69
- 'Technical Email:' => 'tech.email',
70
- 'Technical Phone Number:' => 'tech.phone',
71
- 'Technical Fax:' => 'tech.fax',
72
- 'Billing Name:' => 'billing.name',
73
- 'Billing Organization:' => 'billing.organization',
74
- 'Billing Address:' => 'billing.address.address',
75
- 'Billing Postal Code:' => 'billing.address.pcode',
76
- 'Billing City:' => 'billing.address.city',
77
- 'Billing Country Code:' => 'billing.address.country',
78
- 'Billing Email:' => 'billing.email',
79
- 'Billing Phone Number:' => 'billing.phone',
80
- 'Billing Fax:' => 'billing.fax'
81
- );
82
-
83
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd');
84
- $r['regyinfo'] = array(
85
- 'referrer' => 'http://www.cnnic.net.cn',
86
- 'registrar' => 'China NIC'
87
- );
88
- return $r;
89
- }
90
- }
91
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.co.php DELETED
@@ -1,43 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CO_HANDLER__'))
29
- define('__CO_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class co_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, '-md--y');
38
- $r['regyinfo']['referrer'] = 'http://www.cointernet.com.co/';
39
- $r['regyinfo']['registrar'] = '.CO Internet, S.A.S.';
40
- return $r;
41
- }
42
- }
43
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.co.za.php DELETED
@@ -1,73 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CO_ZA_HANDLER__'))
29
- define('__CO_ZA_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class co_Za_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- '0a. lastupdate :' => 'domain.changed',
39
- '1a. domain :' => 'domain.name',
40
- '2b. registrantpostaladdress:' => 'owner.address.address.0',
41
- '2f. billingaccount :' => 'billing.name',
42
- '2g. billingemail :' => 'billing.email',
43
- '2i. invoiceaddress :' => 'billing.address',
44
- '2j. registrantphone :' => 'owner.phone',
45
- '2k. registrantfax :' => 'owner.fax',
46
- '2l. registrantemail :' => 'owner.email',
47
- '4a. admin :' => 'admin.name',
48
- '4c. admincompany :' => 'admin.organization',
49
- '4d. adminpostaladdr :' => 'admin.address',
50
- '4e. adminphone :' => 'admin.phone',
51
- '4f. adminfax :' => 'admin.fax',
52
- '4g. adminemail :' => 'admin.email',
53
- '5a. tec :' => 'tech.name',
54
- '5c. teccompany :' => 'tech.organization',
55
- '5d. tecpostaladdr :' => 'tech.address',
56
- '5e. tecphone :' => 'tech.phone',
57
- '5f. tecfax :' => 'tech.fax',
58
- '5g. tecemail :' => 'tech.email',
59
- '6a. primnsfqdn :' => 'domain.nserver.0',
60
- '6e. secns1fqdn :' => 'domain.nserver.1',
61
- '6i. secns2fqdn :' => 'domain.nserver.2',
62
- '6m. secns3fqdn :' => 'domain.nserver.3',
63
- '6q. secns4fqdn :' => 'domain.nserver.4'
64
- );
65
-
66
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items);
67
-
68
- $r['regyinfo']['referrer'] = 'http://www.co.za';
69
- $r['regyinfo']['registrar'] = 'UniForum Association';
70
- return $r;
71
- }
72
- }
73
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.coop.php DELETED
@@ -1,106 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__COOP_HANDLER__'))
29
- define('__COOP_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class coop_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
-
38
- $items = array (
39
- 'owner' => 'Contact Type: registrant',
40
- 'admin' => 'Contact Type: admin',
41
- 'tech' => 'Contact Type: tech',
42
- 'billing' => 'Contact Type: billing',
43
- 'domain.name' => 'Domain Name:',
44
- 'domain.handle' => 'Domain ID:',
45
- 'domain.expires' => 'Expiry Date:',
46
- 'domain.created' => 'Created:',
47
- 'domain.changed' => 'Last updated:',
48
- 'domain.status' => 'Domain Status:',
49
- 'domain.sponsor' => 'Sponsoring registrar:',
50
- 'domain.nserver.' => 'Host Name:'
51
- );
52
-
53
- $translate = array(
54
- 'Contact ID:' => 'handle',
55
- 'Name:' => 'name',
56
- 'Organisation:' => 'organization',
57
- 'Street 1:' => 'address.street.0',
58
- 'Street 2:' => 'address.street.1',
59
- 'Street 3:' => 'address.street.2',
60
- 'City:' => 'address.city',
61
- 'State/Province:' => 'address.state',
62
- 'Postal code:' => 'address.pcode',
63
- 'Country:' => 'address.country',
64
- 'Voice:' => 'phone',
65
- 'Fax:' => 'fax',
66
- 'Email:' => 'email'
67
- );
68
-
69
- $blocks = get_blocks($data_str['rawdata'],$items);
70
-
71
- $r=array();
72
-
73
- if (isset($blocks['domain']))
74
- {
75
- $r['regrinfo']['domain'] = format_dates($blocks['domain'],'dmy');
76
- $r['regrinfo']['registered'] = 'yes';
77
-
78
- if (isset($blocks['owner']))
79
- {
80
- $r['regrinfo']['owner'] = generic_parser_b($blocks['owner'],$translate,'dmy',false);
81
-
82
- if (isset($blocks['tech']))
83
- $r['regrinfo']['tech'] = generic_parser_b($blocks['tech'],$translate,'dmy',false);
84
-
85
- if (isset($blocks['admin']))
86
- $r['regrinfo']['admin'] = generic_parser_b($blocks['admin'],$translate,'dmy',false);
87
-
88
- if (isset($blocks['billing']))
89
- $r['regrinfo']['billing'] = generic_parser_b($blocks['billing'],$translate,'dmy',false);
90
- }
91
- else
92
- {
93
- $r['regrinfo']['owner'] = generic_parser_b($data_str['rawdata'],$translate,'dmy',false);
94
- }
95
- }
96
- else
97
- $r['regrinfo']['registered'] = 'no';
98
-
99
- $r['regyinfo'] = array(
100
- 'referrer' => 'http://www.nic.coop',
101
- 'registrar' => '.coop registry'
102
- );
103
- return $r;
104
- }
105
- }
106
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.cz.php DELETED
@@ -1,73 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CZ_HANDLER__'))
29
- define('__CZ_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class cz_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'expire' => 'expires',
39
- 'registered' => 'created',
40
- 'nserver' => 'nserver',
41
- 'domain' => 'name',
42
- 'contact' => 'handle',
43
- 'reg-c' => '',
44
- 'descr' => 'desc',
45
- 'e-mail' => 'email',
46
- 'person' => 'name',
47
- 'org' => 'organization',
48
- 'fax-no' => 'fax'
49
- );
50
-
51
- $contacts = array(
52
- 'admin-c' => 'admin',
53
- 'tech-c' => 'tech',
54
- 'bill-c' => 'billing',
55
- 'registrant' => 'owner'
56
- );
57
-
58
- $r['regrinfo'] = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'dmy');
59
-
60
- $r['regyinfo'] = array(
61
- 'referrer' => 'http://www.nic.cz',
62
- 'registrar' => 'CZ-NIC'
63
- );
64
-
65
- if ($data_str['rawdata'][0] == 'Your connection limit exceeded. Please slow down and try again later.')
66
- {
67
- $r['regrinfo']['registered'] = 'unknown';
68
- }
69
-
70
- return $r;
71
- }
72
- }
73
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.de.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DE_HANDLER__'))
29
- define('__DE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class de_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain.name' => 'Domain:',
39
- 'domain.nserver.' =>'Nserver:',
40
- 'domain.nserver.#' =>'Nsentry:',
41
- 'domain.status' => 'Status:',
42
- 'domain.changed' => 'Changed:',
43
- 'domain.desc.' => 'Descr:',
44
- 'owner' => '[Holder]',
45
- 'admin' => '[Admin-C]',
46
- 'tech' => '[Tech-C]',
47
- 'zone' => '[Zone-C]'
48
- );
49
-
50
- $extra = array(
51
- 'city:' => 'address.city',
52
- 'postalcode:' => 'address.pcode',
53
- 'countrycode:' => 'address.country',
54
- 'remarks:' => '',
55
- 'sip:' => 'sip',
56
- 'type:' => ''
57
- );
58
-
59
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd',$extra);
60
-
61
- $r['regyinfo'] = array(
62
- 'registrar' => 'DENIC eG',
63
- 'referrer' => 'http://www.denic.de/'
64
- );
65
-
66
- if (!isset($r['regrinfo']['domain']['status']) || $r['regrinfo']['domain']['status'] == "free")
67
- {
68
- $r['regrinfo']['registered'] = 'no';
69
- }
70
- else
71
- {
72
- $r['regrinfo']['domain']['changed'] = substr($r['regrinfo']['domain']['changed'], 0, 10);
73
- $r['regrinfo']['registered'] = 'yes';
74
- }
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.edu.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__EDU_HANDLER__'))
29
- define('__EDU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class edu_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain.name' => 'Domain name:',
39
- 'domain.sponsor' => 'Registrar:',
40
- 'domain.nserver' => 'Name Servers:',
41
- 'domain.changed' => 'Domain record last updated:',
42
- 'domain.created' => 'Domain record activated:',
43
- 'owner' => 'Registrant:',
44
- 'admin' => 'Administrative Contact:',
45
- 'tech' => 'Technical Contact:',
46
- 'billing' => 'Billing Contact:'
47
- );
48
-
49
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'dmy');
50
-
51
- if (isset($b['tech']))
52
- {
53
- if ($r['regrinfo']['tech']['name'] == 'Same as above')
54
- $r['regrinfo']['tech'] = $r['regrinfo']['admin'];
55
- }
56
-
57
- $r['regyinfo']['referrer'] = 'http://whois.educause.net';
58
- $r['regyinfo']['registrar'] = 'EDUCASE';
59
- return ($r);
60
- }
61
- }
62
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.eu.php DELETED
@@ -1,85 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__EU_HANDLER__'))
31
- define('__EU_HANDLER__', 1);
32
-
33
- class eu_handler
34
- {
35
- function parse($data, $query)
36
- {
37
-
38
- $items = array(
39
- 'domain.name' => 'Domain:',
40
- 'domain.status' => 'Status:',
41
- 'domain.nserver' => 'Name servers:',
42
- 'domain.created' => 'Registered:',
43
- 'domain.registrar' => 'Registrar:',
44
- 'tech' => 'Registrar Technical Contacts:',
45
- 'owner' => 'Registrant:',
46
- '' => 'Please visit'
47
- );
48
-
49
- $extra = array(
50
- 'organisation:' => 'organization',
51
- 'website:' => 'url'
52
- );
53
-
54
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
55
-
56
- if (!empty($r['regrinfo']['domain']['status']))
57
- switch ($r['regrinfo']['domain']['status'])
58
- {
59
- case 'FREE':
60
- case 'AVAILABLE':
61
- $r['regrinfo']['registered'] = 'no';
62
- break;
63
-
64
- case 'APPLICATION PENDING':
65
- $r['regrinfo']['registered'] = 'pending';
66
- break;
67
-
68
- default:
69
- $r['regrinfo']['registered'] = 'unknown';
70
- }
71
- else
72
- $r['regrinfo']['registered'] = 'yes';
73
-
74
- if (isset($r['regrinfo']['tech']))
75
- $r['regrinfo']['tech'] = get_contact($r['regrinfo']['tech'],$extra);
76
-
77
- if (isset($r['regrinfo']['domain']['registrar']))
78
- $r['regrinfo']['domain']['registrar'] = get_contact($r['regrinfo']['domain']['registrar'],$extra);
79
-
80
- $r['regyinfo']['referrer'] = 'http://www.eurid.eu';
81
- $r['regyinfo']['registrar'] = 'EURID';
82
- return $r;
83
- }
84
- }
85
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.fi.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__FI_HANDLER__'))
29
- define('__FI_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class fi_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain:' => 'domain.name',
39
- 'created:' => 'domain.created',
40
- 'expires:' => 'domain.expires',
41
- 'status:' => 'domain.status',
42
- 'nserver:' => 'domain.nserver.',
43
- 'descr:' => 'owner.name.',
44
- 'address:' => 'owner.address.',
45
- 'phone:' => 'owner.phone',
46
- );
47
-
48
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items);
49
-
50
- $r['regyinfo'] = array(
51
- 'referrer' => 'https://domain.ficora.fi/',
52
- 'registrar' => 'Finnish Communications Regulatory Authority'
53
- );
54
- return $r;
55
- }
56
- }
57
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.fj.php DELETED
@@ -1,67 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__FJ_HANDLER__'))
31
- define('__FJ_HANDLER__', 1);
32
-
33
- class fj_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'domain.status' => 'Status:',
40
- 'domain.expires' => 'Expires:',
41
- 'domain.nserver' => 'Domain servers:'
42
- );
43
-
44
- $r['regrinfo'] = get_blocks($data_str['rawdata'], $items);
45
-
46
- if (!empty($r['regrinfo']['domain']['status']))
47
- {
48
- $r['regrinfo'] = get_contacts($r['regrinfo']);
49
-
50
- date_default_timezone_set("Pacific/Fiji");
51
-
52
- if (isset($r['regrinfo']['domain']['expires']))
53
- $r['regrinfo']['domain']['expires'] = strftime("%Y-%m-%d",strtotime($r['regrinfo']['domain']['expires']));
54
-
55
- $r['regrinfo']['registered'] = 'yes';
56
- }
57
- else
58
- $r['regrinfo']['registered'] = 'no';
59
-
60
- $r['regyinfo'] = array(
61
- 'referrer' => 'http://www.domains.fj',
62
- 'registrar' => 'FJ Domain Name Registry'
63
- );
64
- return $r;
65
- }
66
- }
67
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.fm.php DELETED
@@ -1,80 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__FM_HANDLER__'))
29
- define('__FM_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class fm_handler
34
- {
35
- function parse($data, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Admin',
40
- 'tech' => 'Technical',
41
- 'billing' => 'Billing',
42
- 'domain.nserver' => 'Name Servers:',
43
- 'domain.created' => 'Created:',
44
- 'domain.expires' => 'Expires:',
45
- 'domain.changed' => 'Modified:',
46
- 'domain.status' => 'Status:',
47
- 'domain.sponsor' => 'Registrar Name:'
48
- );
49
-
50
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
51
-
52
- $items = array(
53
- 'phone number:' => 'phone',
54
- 'email address:' => 'email',
55
- 'fax number:' => 'fax',
56
- 'organisation:' => 'organization'
57
- );
58
-
59
- if (!empty($r['regrinfo']['domain']['created']))
60
- {
61
- $r['regrinfo'] = get_contacts($r['regrinfo'],$items);
62
-
63
- if (count($r['regrinfo']['billing']['address']) > 4)
64
- $r['regrinfo']['billing']['address'] = array_slice($r['regrinfo']['billing']['address'],0,4);
65
-
66
- $r['regrinfo']['registered'] = 'yes';
67
- format_dates($r['regrinfo']['domain'],'dmY');
68
- }
69
- else
70
- {
71
- $r = '';
72
- $r['regrinfo']['registered'] = 'no';
73
- }
74
-
75
- $r['regyinfo']['referrer'] = 'http://www.dot.dm';
76
- $r['regyinfo']['registrar'] = 'dotFM';
77
- return $r;
78
- }
79
- }
80
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.fr.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__FR_HANDLER__'))
29
- define('__FR_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class fr_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'ns-list' => 'handle',
42
- 'person' => 'name',
43
- 'address' => 'address.',
44
- 'descr' => 'desc',
45
- 'anniversary' => '',
46
- 'domain' => '',
47
- 'last-update' => 'changed',
48
- 'registered' => 'created',
49
- 'country' => 'address.country',
50
- 'registrar' => 'sponsor',
51
- 'role' => 'organization'
52
- );
53
-
54
- $contacts = array(
55
- 'admin-c' => 'admin',
56
- 'tech-c' => 'tech',
57
- 'zone-c' => 'zone',
58
- 'holder-c' => 'owner',
59
- 'nsl-id' => 'nserver'
60
- );
61
-
62
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain','dmY');
63
-
64
- if (isset($reg['nserver']))
65
- {
66
- $reg['domain'] = array_merge($reg['domain'],$reg['nserver']);
67
- unset($reg['nserver']);
68
- }
69
-
70
- $r['regrinfo'] = $reg;
71
- $r['regyinfo'] = array(
72
- 'referrer' => 'http://www.nic.fr',
73
- 'registrar' => 'AFNIC'
74
- );
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.afternic.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__AFTERNIC_HANDLER__'))
29
- define('__AFTERNIC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class afternic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'zone' => 'Zone Contact',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.changed' => 'Last updated on',
44
- 'domain.created' => 'Domain created on',
45
- 'domain.expires' => 'Domain expires on'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'dmy', false, false, true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.alldomains.php DELETED
@@ -1,49 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ALLDOMAINS_HANDLER__'))
29
- define('__ALLDOMAINS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class alldomains_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative',
40
- 'tech' => 'Technical',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.sponsor' => 'Registrar:',
43
- 'domain.nserver.' => 'Domain servers in listed order:'
44
- );
45
-
46
- return easy_parser($data_str, $items, 'ymd');
47
- }
48
- }
49
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.ascio.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ASCIO_HANDLER__'))
29
- define('__ASCIO_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ascio_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative ',
40
- 'tech' => 'Technical ',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.created' => 'Record created:',
44
- 'domain.expires' => 'Record expires:',
45
- 'domain.changed' => 'Record last updated:'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'ymd',false,false,true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.assorted.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ASSORTED_HANDLER__'))
29
- define('__ASSORTED_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class assorted_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.created' => 'Record created on',
44
- 'domain.expires' => 'Record expires on',
45
- 'domain.changed' => 'Record last updated'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'ymd',false,false,true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.corporatedomains.php DELETED
@@ -1,53 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__CORPORATEDOMAINS_HANDLER__'))
29
- define('__CORPORATEDOMAINS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class corporatedomains_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'zone' => 'Zone Contact',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.changed' => 'Last updated on',
44
- 'domain.created' => 'Domain created on',
45
- 'domain.expires' => 'Domain expires on',
46
- 'domain.sponsor' => 'Registrar Name....:',
47
- 'domain.nserver' => 'DNS Servers:'
48
- );
49
-
50
- return easy_parser($data_str, $items, 'dmy', false, false, true);
51
- }
52
- }
53
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.directnic.php DELETED
@@ -1,53 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DIRECTNIC_HANDLER__'))
29
- define('__DIRECTNIC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class directnic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.sponsor' => 'Registration Service Provider:',
43
- 'domain.nserver' => 'Domain servers in listed order:',
44
- 'domain.changed' => 'Record last updated ',
45
- 'domain.created' => 'Record created on ',
46
- 'domain.expires' => 'Record expires on ',
47
- '' => 'By submitting a WHOIS query'
48
- );
49
-
50
- return easy_parser($data_str, $items, 'mdy',false,false,true);
51
- }
52
- }
53
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.domaindiscover.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DOMAINDISCOVER_HANDLER__'))
29
- define('__DOMAINDISCOVER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class domaindiscover_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'zone' => 'Zone Contact',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.changed' => 'Last updated on',
44
- 'domain.created' => 'Domain created on',
45
- 'domain.expires' => 'Domain expires on'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'dmy', false, false, true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.domainpeople.php DELETED
@@ -1,59 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DOMAINPEOPLE_HANDLER__'))
29
- define('__DOMAINPEOPLE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class domainpeople_handler
34
- {
35
-
36
- function parse($data_str, $query)
37
- {
38
-
39
- $items = array(
40
- 'owner' => 'Registrant Contact:',
41
- 'admin' => 'Administrative Contact:',
42
- 'tech' => 'Technical Contact:',
43
- 'domain.name' => 'Domain name:',
44
- 'domain.sponsor' => 'Registration Service Provided By:',
45
- 'domain.referrer' => 'Contact:',
46
- 'domain.nserver.' => 'Name Servers:',
47
- 'domain.created' => 'Creation date:',
48
- 'domain.expires' => 'Expiration date:',
49
- // 'domain.changed' => 'Record last updated on',
50
- 'domain.status' => 'Status:'
51
- );
52
-
53
- $r = easy_parser($data_str, $items, 'dmy', false, false, true);
54
- if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor']))
55
- $r['domain']['sponsor'] = $r['domain']['sponsor'][0];
56
- return $r;
57
- }
58
- }
59
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.dotster.php DELETED
@@ -1,53 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DOTSTER_HANDLER__'))
29
- define('__DOTSTER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class dotster_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative',
40
- 'tech' => 'Technical',
41
- 'domain.nserver' =>
42
- 'Domain servers in listed order:',
43
- 'domain.name' => 'Domain name:',
44
- 'domain.created' => 'Created on:',
45
- 'domain.expires' => 'Expires on:',
46
- 'domain.changed' => 'Last Updated on:',
47
- 'domain.sponsor' => 'Registrar:'
48
- );
49
-
50
- return easy_parser($data_str, $items, 'dmy');
51
- }
52
- }
53
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.dreamhost.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__DREAMHOST_HANDLER__'))
29
- define('__DREAMHOST_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class dreamhost_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant Contact:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'billing' => 'Billing Contact:',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.nserver' => 'Domain servers in listed order:',
44
- 'domain.created' => 'Record created on',
45
- 'domain.expires' => 'Record expires on'
46
- );
47
-
48
- $r = easy_parser($data_str, $items, 'dmy', false, false, true);
49
- if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor']))
50
- $r['domain']['sponsor'] = $r['domain']['sponsor'][0];
51
- return $r;
52
- }
53
- }
54
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.enom.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ENOM_HANDLER__'))
29
- define('__ENOM_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class enom_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner#0' => 'Registrant Contact',
39
- 'owner#1' => 'REGISTRANT Contact:',
40
- 'admin#0' => 'Administrative Contact',
41
- 'admin#1' => 'ADMINISTRATIVE Contact:',
42
- 'tech#0' => 'Technical Contact',
43
- 'tech#1' => 'TECHNICAL Contact:',
44
- 'billing#0' => 'Billing Contact',
45
- 'billing#1' => 'BILLING Contact:',
46
- 'domain.nserver' => 'Nameservers',
47
- 'domain.name#0' => 'Domain name:',
48
- 'domain.name#1' => 'Domain name-',
49
- 'domain.sponsor' => 'Registration Service Provided By:',
50
- 'domain.status' => 'Status:',
51
- 'domain.created#0' => 'Creation date:',
52
- 'domain.expires#0' => 'Expiration date:',
53
- 'domain.created#1' => 'Created:',
54
- 'domain.expires#1' => 'Expires:',
55
- 'domain.created#2' => 'Start of registration-',
56
- 'domain.expires#2' => 'Registered through-'
57
- );
58
-
59
- return easy_parser($data_str, $items, 'dmy', false, false, true);
60
- }
61
- }
62
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.fabulous.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__FABULOUS_HANDLER__'))
29
- define('__FABULOUS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class fabulous_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Domain '.$query.':',
39
- 'admin' => 'Administrative contact:',
40
- 'tech' => 'Technical contact:',
41
- 'billing' => 'Billing contact:',
42
- '' => 'Record dates:'
43
- );
44
-
45
- $r = easy_parser($data_str, $items, 'mdy',false,false,true);
46
-
47
- if (!isset($r['tech'])) $r['tech'] = $r['billing'];
48
-
49
- if (!isset($r['admin'])) $r['admin'] = $r['tech'];
50
-
51
- return $r;
52
- }
53
- }
54
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.fastdomain.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__FASTDOMAIN_HANDLER__'))
29
- define('__FASTDOMAIN_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class fastdomain_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant Info:',
39
- 'admin' => 'Administrative Info:',
40
- 'tech' => 'Technical Info:',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.sponsor' => 'Provider Name....:',
43
- 'domain.referrer' => 'Provider Homepage:',
44
- 'domain.nserver' => 'Domain servers in listed order:',
45
- 'domain.created' => 'Created on..............:',
46
- 'domain.expires' => 'Expires on..............:',
47
- 'domain.changed' => 'Last modified on........:',
48
- 'domain.status' => 'Status:'
49
- );
50
-
51
- while (list($key, $val) = each($data_str))
52
- {
53
- $faststr = strpos($val, ' (FAST-');
54
- if ($faststr)
55
- $data_str[$key] = substr($val, 0, $faststr);
56
- }
57
-
58
- $r = easy_parser($data_str, $items, 'dmy', false, false, true);
59
-
60
- if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor']))
61
-
62
- $r['domain']['sponsor'] = $r['domain']['sponsor'][0];
63
-
64
- if (isset($r['domain']['nserver']))
65
- {
66
- reset($r['domain']['nserver']);
67
- $endnserver = false;
68
- while (list($key, $val) = each($r['domain']['nserver']))
69
- {
70
- if ($val == '=-=-=-=')
71
- unset($r['domain']['nserver'][$key]);
72
- }
73
- }
74
-
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.gandi.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__GANDI_HANDLER__'))
29
- define('__GANDI_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class gandi_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'owner-c',
39
- 'admin' => 'admin-c',
40
- 'tech' => 'tech-c',
41
- 'billing' => 'bill-c'
42
- );
43
-
44
- $trans = array(
45
- 'nic-hdl:' => 'handle',
46
- 'person:' => 'name',
47
- 'zipcode:' => 'address.pcode',
48
- 'city:' => 'address.city',
49
- 'lastupdated:' => 'changed',
50
- 'owner-name:' => ''
51
- );
52
-
53
- return easy_parser($data_str, $items, 'dmy', $trans);
54
- }
55
- }
56
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.genericb.php DELETED
@@ -1,40 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__GENERICB_HANDLER__'))
29
- define('__GENERICB_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class genericb_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- return generic_parser_b($data_str);
38
- }
39
- }
40
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.godaddy.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__GODADDY_HANDLER__'))
29
- define('__GODADDY_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class godaddy_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.created' => 'Created on:',
44
- 'domain.expires' => 'Expires on:',
45
- 'domain.changed' => 'Last Updated on:',
46
- 'domain.sponsor' => 'Registered through:'
47
- );
48
-
49
- $r = get_blocks($data_str, $items);
50
- $r['owner'] = get_contact($r['owner']);
51
- $r['admin'] = get_contact($r['admin'],false,true);
52
- $r['tech'] = get_contact($r['tech'],false,true);
53
- return format_dates($r, 'dmy');
54
- }
55
- }
56
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.iana.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__IANA_HANDLER__'))
29
- define('__IANA_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class iana_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'admin' => 'contact: administrative',
39
- 'tech' => 'contact: technical',
40
- 'domain.nserver.' => 'nserver:',
41
- 'domain.created' => 'created:',
42
- 'domain.changed' => 'changed:',
43
- 'domain.source' => 'source:',
44
- 'domain.name' => 'domain:',
45
- 'disclaimer.' => '% '
46
- );
47
-
48
- return easy_parser($data_str,$items,'Ymd',false,false,false,'owner');
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.interdomain.php DELETED
@@ -1,80 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__INTERDOMAIN_HANDLER__'))
29
- define('__INTERDOMAIN_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class interdomain_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'Domain Name................' => 'domain.name',
39
- 'Creation Date............' => 'domain.created',
40
- 'Expiry Date..............' => 'domain.expires',
41
- 'Last Update Date.........' => 'domain.changed',
42
- 'Name Server.............' => 'domain.nserver.',
43
- 'Organization Name........' => 'owner.name',
44
- 'Organization Org.........' => 'owner.organization',
45
- 'Organization Street......' => 'owner.address.street',
46
- 'Organization City........' => 'owner.address.city',
47
- 'Organization State.......' => 'owner.address.state',
48
- 'Organization PC..........' => 'owner.address.pcode',
49
- 'Organization Country.....' => 'owner.address.country',
50
- 'Organization Phone.......' => 'owner.phone',
51
- 'Organization e-mail......' => 'owner.email',
52
- 'Organization Contact Id....' => 'owner.handle',
53
- 'Administrative Contact Id..' => 'admin.handle',
54
- 'Administrative Name......' => 'admin.name',
55
- 'Administrative Org.......' => 'admin.organization',
56
- 'Administrative Street....' => 'admin.address.street',
57
- 'Administrative City......' => 'admin.address.city',
58
- 'Administrative State.....' => 'admin.address.state',
59
- 'Administrative PC........' => 'admin.address.pcode',
60
- 'Administrative Country...' => 'admin.address.country',
61
- 'Administrative Phone.....' => 'admin.phone',
62
- 'Administrative e-mail....' => 'admin.email',
63
- 'Administrative Fax.......' => 'admin.fax',
64
- 'Technical Contact Id.......' => 'tech.handle',
65
- 'Technical Name...........' => 'tech.name',
66
- 'Technical Org............' => 'tech.organization',
67
- 'Technical Street.........' => 'tech.address.street',
68
- 'Technical City...........' => 'tech.address.city',
69
- 'Technical State..........' => 'tech.address.state',
70
- 'Technical PC.............' => 'tech.address.pcode',
71
- 'Technical Country........' => 'tech.address.country',
72
- 'Technical Phone..........' => 'tech.phone',
73
- 'Technical e-mail.........' => 'tech.email',
74
- 'Technical Fax............' => 'tech.fax'
75
- );
76
-
77
- return generic_parser_b($data_str, $items, 'dmy');
78
- }
79
- }
80
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.itsyourdomain.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ITSYOURDOMAIN_HANDLER__'))
29
- define('__ITSYOURDOMAIN_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class itsyourdomain_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Administrative',
40
- 'tech' => 'Technical',
41
- 'billing' => 'Billing',
42
- 'domain.name' => 'Domain:',
43
- 'domain.nserver.' => 'Domain Name Servers:',
44
- 'domain.created' => 'Record created on ',
45
- 'domain.expires' => 'Record expires on ',
46
- 'domain.changed' => 'Record last updated on '
47
- );
48
-
49
- return easy_parser($data_str, $items, 'mdy');
50
- }
51
- }
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.joker.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__JOKER_HANDLER__'))
29
- define('__JOKER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class joker_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'contact-hdl' => 'handle',
39
- 'modified' => 'changed',
40
- 'reseller' => 'sponsor',
41
- 'address' => 'address.street',
42
- 'postal-code' => 'address.pcode',
43
- 'city' => 'address.city',
44
- 'state' => 'address.state',
45
- 'country' => 'address.country',
46
- 'person' => 'name',
47
- 'domain' => 'name'
48
- );
49
-
50
- $contacts = array(
51
- 'admin-c' => 'admin',
52
- 'tech-c' => 'tech',
53
- 'billing-c' => 'billing'
54
- );
55
-
56
- $items = array(
57
- 'owner' => 'name',
58
- 'organization' => 'organization',
59
- 'email' => 'email',
60
- 'phone' => 'phone',
61
- 'address' => 'address',
62
- );
63
-
64
- $r = generic_parser_a($data_str, $translate, $contacts, 'domain', 'Ymd');
65
-
66
- foreach($items as $tag => $convert)
67
- {
68
- if (isset($r['domain'][$tag]))
69
- {
70
- $r['owner'][$convert] = $r['domain'][$tag];
71
- unset($r['domain'][$tag]);
72
- }
73
- }
74
-
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.markmonitor.php DELETED
@@ -1,55 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__MARKMONITOR_HANDLER__'))
29
- define('__MARKMONITOR_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class markmonitor_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact, Zone Contact:',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.sponsor' => 'Registrar Name:',
43
- 'domain.nserver' => 'Domain servers in listed order:',
44
- 'domain.created' => 'Created on..............:',
45
- 'domain.expires' => 'Expires on..............:',
46
- 'domain.changed' => 'Record last updated on..:'
47
- );
48
-
49
- $r = easy_parser($data_str, $items, 'dmy', false, false, true);
50
- if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor']))
51
- $r['domain']['sponsor'] = $r['domain']['sponsor'][0];
52
- return $r;
53
- }
54
- }
55
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.melbourneit.php DELETED
@@ -1,59 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__MELBOURNEIT_HANDLER__'))
31
- define('__MELBOURNEIT_HANDLER__', 1);
32
-
33
- class melbourneit_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'Domain Name..........' => 'domain.name',
39
- 'Registration Date....' => 'domain.created',
40
- 'Expiry Date..........' => 'domain.expires',
41
- 'Organisation Name....' => 'owner.name',
42
- 'Organisation Address.' => 'owner.address.',
43
- 'Admin Name...........' => 'admin.name',
44
- 'Admin Address........' => 'admin.address.',
45
- 'Admin Email..........' => 'admin.email',
46
- 'Admin Phone..........' => 'admin.phone',
47
- 'Admin Fax............' => 'admin.fax',
48
- 'Tech Name............' => 'tech.name',
49
- 'Tech Address.........' => 'tech.address.',
50
- 'Tech Email...........' => 'tech.email',
51
- 'Tech Phone...........' => 'tech.phone',
52
- 'Tech Fax.............' => 'tech.fax',
53
- 'Name Server..........' => 'domain.nserver.'
54
- );
55
-
56
- return generic_parser_b($data_str, $items, 'ymd');
57
- }
58
- }
59
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.moniker.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__MONIKER_HANDLER__'))
29
- define('__MONIKER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class moniker_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Administrative ',
40
- 'tech' => 'Technical ',
41
- 'billing' => 'Billing ',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.nserver.' => 'Domain servers in listed order:',
44
- 'domain.created' => 'Record created on: ',
45
- 'domain.expires' => 'Domain Expires on: ',
46
- 'domain.changed' => 'Database last updated on: '
47
- );
48
-
49
- return easy_parser($data_str, $items, 'ymd');
50
- }
51
- }
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.namejuice.php DELETED
@@ -1,53 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NAMEJUICE_HANDLER__'))
29
- define('__NAMEJUICE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class namejuice_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant Contact:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.nserver.' => 'Name Servers:',
43
- 'domain.created' => 'Creation date:',
44
- 'domain.expires' => 'Expiration date:',
45
- 'domain.changed' => 'Update date:',
46
- 'domain.status' => 'Status:',
47
- 'domain.sponsor' => 'Registration Service Provided By:'
48
- );
49
-
50
- return easy_parser($data_str, $items, 'dmy', false, true, true);
51
- }
52
- }
53
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.nameking.php DELETED
@@ -1,70 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NAMEKING_HANDLER__'))
29
- define('__NAMEKING_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nameking_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Admin Contact',
40
- 'tech' => 'Tech Contact',
41
- 'billing' => 'Billing Contact',
42
- 'domain.sponsor' => 'Registration Provided By:',
43
- 'domain.created' => 'Creation Date:',
44
- 'domain.expires' => 'Expiration Date:',
45
- );
46
-
47
- $extra = array(
48
- 'tel--' => 'phone',
49
- 'tel:' => 'phone',
50
- 'tel --:' => 'phone',
51
- 'email-:' => 'email',
52
- 'email:' => 'email',
53
- 'mail:' => 'email',
54
- 'name--' => 'name',
55
- 'org:' => 'organization',
56
- 'zipcode:' => 'address.pcode',
57
- 'postcode:' => 'address.pcode',
58
- 'address:' => 'address.street',
59
- 'city:' => 'address.city',
60
- 'province:' => 'address.city.',
61
- ',province:' => '',
62
- ',country:' => 'address.country',
63
- 'organization:' => 'organization',
64
- 'city, province, post code:' => 'address.city'
65
- );
66
-
67
- return easy_parser($data_str, $items, 'mdy', $extra, false, true);
68
- }
69
- }
70
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.names4ever.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NAMES4EVER_HANDLER__'))
29
- define('__NAMES4EVER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class names4ever_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.sponsor' => 'Registrar Name....:',
43
- 'domain.referrer' => 'Registrar Homepage:',
44
- 'domain.nserver' => 'DNS Servers:',
45
- 'domain.created' => 'Record created on',
46
- 'domain.expires' => 'Record expires on',
47
- 'domain.changed' => 'Record last updated on',
48
- 'domain.status' => 'Domain status:'
49
- );
50
-
51
- return easy_parser($data_str, $items, 'dmy', false, false, true);
52
- }
53
- }
54
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.namevault.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NAMEVAULT_HANDLER__'))
29
- define('__NAMEVAULT_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class namevault_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'billing' => 'Billing Contact:',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.nserver.' => 'Name Servers',
44
- 'domain.created' => 'Creation Date:',
45
- 'domain.expires' => 'Expiration Date:',
46
- 'domain.status' => 'Status:'
47
- );
48
-
49
- return easy_parser($data_str, $items, 'dmy', false, true, true);
50
- }
51
- }
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.networksolutions.php DELETED
@@ -1,50 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NETWORKSOLUTIONS_HANDLER__'))
29
- define('__NETWORKSOLUTIONS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class networksolutions_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.created' => 'Record created on',
44
- 'domain.expires' => 'Record expires on'
45
- );
46
-
47
- return easy_parser($data_str, $items, 'dmy',false,true,true);
48
- }
49
- }
50
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.nicco.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NICCO_HANDLER__'))
29
- define('__NICCO_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nicco_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Holder Contact',
39
- 'admin' => 'Admin Contact',
40
- 'tech' => 'Tech. Contact',
41
- 'domain.nserver.' => 'Nameservers',
42
- 'domain.created' => 'Creation Date:',
43
- 'domain.expires' => 'Expiration Date:'
44
- );
45
-
46
- $translate = array(
47
- 'city:' => 'address.city',
48
- 'org. name:' => 'organization',
49
- 'address1:' => 'address.street.',
50
- 'address2:' => 'address.street.',
51
- 'state:' => 'address.state',
52
- 'postal code:' => 'address.zip'
53
- );
54
-
55
- $r = get_blocks($data_str, $items, true);
56
- $r['owner'] = get_contact($r['owner'],$translate);
57
- $r['admin'] = get_contact($r['admin'],$translate,true);
58
- $r['tech'] = get_contact($r['tech'],$translate,true);
59
- return format_dates($r, 'dmy');
60
- }
61
- }
62
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.nicline.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NICLINE_HANDLER__'))
29
- define('__NICLINE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nicline_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative contact:',
40
- 'tech' => 'Technical contact:',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.created' => 'Created:',
44
- 'domain.expires' => 'Expires:',
45
- 'domain.changed' => 'Last updated:'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'dmy');
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.onlinenic.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ONLINENIC_HANDLER__'))
29
- define('__ONLINENIC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class onlinenic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrator:',
40
- 'tech' => 'Technical Contactor:',
41
- 'billing' => 'Billing Contactor:',
42
- 'domain.name' => 'Domain name:',
43
- 'domain.name#' => 'Domain Name:',
44
- 'domain.nserver' => 'Domain servers in listed order:',
45
- 'domain.created' => 'Record created on ',
46
- 'domain.expires' => 'Record expired on ',
47
- 'domain.changed' => 'Record last updated at '
48
- );
49
-
50
- $extra = array(
51
- 'tel--' => 'phone',
52
- 'tel:' => 'phone',
53
- 'tel --:' => 'phone',
54
- 'email-:' => 'email',
55
- 'email:' => 'email',
56
- 'mail:' => 'email',
57
- 'name--' => 'name',
58
- 'org:' => 'organization',
59
- 'zipcode:' => 'address.pcode',
60
- 'postcode:' => 'address.pcode',
61
- 'address:' => 'address.street',
62
- 'city:' => 'address.city',
63
- 'province:' => '',
64
- ',province:' => '',
65
- ',country:' => 'address.country'
66
- );
67
-
68
- $r = easy_parser($data_str, $items, 'mdy',$extra,false,true);
69
-
70
- foreach($r as $key => $part)
71
- if (isset($part['email']))
72
- {
73
- @list($email,$phone) = explode(' ',$part['email']);
74
- $email = str_replace('(','',$email);
75
- $email = str_replace(')','',$email);
76
- $r[$key]['email'] = $email;
77
- if ($phone != '') $r[$key]['phone'] = $phone;
78
- }
79
-
80
- return $r;
81
- }
82
- }
83
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.opensrs.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__OPENSRS_HANDLER__'))
29
- define('__OPENSRS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class opensrs_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain name:',
42
- '' => 'Registration Service Provider:',
43
- 'domain.nserver' => 'Domain servers in listed order:',
44
- 'domain.changed' => 'Record last updated on',
45
- 'domain.created' => 'Record created on',
46
- 'domain.expires' => 'Record expires on',
47
- 'domain.sponsor' => 'Registrar of Record:'
48
- );
49
-
50
- $r = easy_parser($data_str, $items, 'dmy', false, false, true);
51
-
52
- if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor']))
53
- $r['domain']['sponsor'] = $r['domain']['sponsor'][0];
54
-
55
- return $r;
56
- }
57
- }
58
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.ovh.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__OVH_HANDLER__'))
29
- define('__OVH_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ovh_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'billing' => 'Billing Contact:',
42
- 'domain.sponsor' => 'Registrar of Record:',
43
- 'domain.changed' => 'Record last updated on',
44
- 'domain.expires' => 'Record expires on',
45
- 'domain.created' => 'Record created on'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'mdy',false,false,true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.php DELETED
@@ -1,81 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__GTLD_HANDLER__'))
29
- define('__GTLD_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class gtld_handler extends WhoisClient
34
- {
35
- var $HANDLER_VERSION = '1.1';
36
-
37
- var $REG_FIELDS = array(
38
- 'Domain Name:' => 'regrinfo.domain.name',
39
- 'Registrar:' => 'regyinfo.registrar',
40
- 'Whois Server:' => 'regyinfo.whois',
41
- 'Referral URL:' => 'regyinfo.referrer',
42
- 'Name Server:' => 'regrinfo.domain.nserver.', // identical descriptors
43
- 'Updated Date:' => 'regrinfo.domain.changed',
44
- 'Last Updated On:' => 'regrinfo.domain.changed',
45
- 'EPP Status:' => 'regrinfo.domain.epp_status.',
46
- 'Status:' => 'regrinfo.domain.status.',
47
- 'Creation Date:' => 'regrinfo.domain.created',
48
- 'Created On:' => 'regrinfo.domain.created',
49
- 'Expiration Date:' => 'regrinfo.domain.expires',
50
- 'Updated Date:' => 'regrinfo.domain.changed',
51
- 'No match for ' => 'nodomain'
52
- );
53
-
54
- function parse($data, $query)
55
- {
56
- $this->Query = array();
57
- $this->SUBVERSION = sprintf('%s-%s', $query['handler'], $this->HANDLER_VERSION);
58
- $this->result = generic_parser_b($data['rawdata'], $this->REG_FIELDS, 'dmy');
59
-
60
- unset($this->result['registered']);
61
-
62
- if (isset($this->result['nodomain']))
63
- {
64
- unset($this->result['nodomain']);
65
- $this->result['regrinfo']['registered'] = 'no';
66
- return $this->result;
67
- }
68
-
69
- if ($this->deep_whois) $this->result = $this->DeepWhois($query,$this->result);
70
-
71
- // Next server could fail to return data
72
- if (empty($this->result['rawdata']) || count($this->result['rawdata']) < 3)
73
- $this->result['rawdata'] = $data['rawdata'];
74
-
75
- // Domain is registered no matter what next server says
76
- $this->result['regrinfo']['registered'] = 'yes';
77
-
78
- return $this->result;
79
- }
80
- }
81
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.psiusa.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__PSIUSA_HANDLER__'))
29
- define('__PSIUSA_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class psiusa_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'created:' => 'domain.created',
39
- 'last-changed:' => 'domain.changed',
40
- 'status:' => 'domain.status',
41
- '[owner-c] fname:' => 'owner.name.first',
42
- '[owner-c] lname:' => 'owner.name.last',
43
- '[owner-c] org:' => 'owner.organization',
44
- '[owner-c] address:' => 'owner.address.street',
45
- '[owner-c] city:' => 'owner.address.city',
46
- '[owner-c] pcode:' => 'owner.address.pcode',
47
- '[owner-c] country:' => 'owner.address.country',
48
- '[owner-c] state:' => 'owner.address.state',
49
- '[owner-c] phone:' => 'owner.phone',
50
- '[owner-c] fax:' => 'owner.fax',
51
- '[owner-c] email:' => 'owner.email',
52
- '[admin-c] fname:' => 'admin.name.first',
53
- '[admin-c] lname:' => 'admin.name.last',
54
- '[admin-c] org:' => 'admin.organization',
55
- '[admin-c] address:' => 'admin.address.street',
56
- '[admin-c] city:' => 'admin.address.city',
57
- '[admin-c] pcode:' => 'admin.address.pcode',
58
- '[admin-c] country:' => 'admin.address.country',
59
- '[admin-c] state:' => 'admin.address.state',
60
- '[admin-c] phone:' => 'admin.phone',
61
- '[admin-c] fax:' => 'admin.fax',
62
- '[admin-c] email:' => 'admin.email',
63
- '[tech-c] fname:' => 'tech.name.first',
64
- '[tech-c] lname:' => 'tech.name.last',
65
- '[tech-c] org:' => 'tech.organization',
66
- '[tech-c] address:' => 'tech.address.street',
67
- '[tech-c] city:' => 'tech.address.city',
68
- '[tech-c] pcode:' => 'tech.address.pcode',
69
- '[tech-c] country:' => 'tech.address.country',
70
- '[tech-c] state:' => 'tech.address.state',
71
- '[tech-c] phone:' => 'tech.phone',
72
- '[tech-c] fax:' => 'tech.fax',
73
- '[tech-c] email:' => 'tech.email',
74
- '[zone-c] fname:' => 'zone.name.first',
75
- '[zone-c] lname:' => 'zone.name.last',
76
- '[zone-c] org:' => 'zone.organization',
77
- '[zone-c] address:' => 'zone.address.street',
78
- '[zone-c] city:' => 'zone.address.city',
79
- '[zone-c] pcode:' => 'zone.address.pcode',
80
- '[zone-c] country:' => 'zone.address.country',
81
- '[zone-c] state:' => 'zone.address.state',
82
- '[zone-c] phone:' => 'zone.phone',
83
- '[zone-c] fax:' => 'zone.fax',
84
- '[zone-c] email:' => 'zone.email',
85
- );
86
-
87
- return generic_parser_b($data_str, $items);
88
- }
89
- }
90
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.publicdomainregistry.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__PUBLICDOMAINREGISTRY_HANDLER__'))
29
- define('__PUBLICDOMAINREGISTRY_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class publicdomainregistry_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'owner#' => '(Registrant):',
40
- 'admin' => 'Administrative Contact',
41
- 'tech' => 'Technical Contact',
42
- 'billing' => 'Billing Contact',
43
- 'domain.name' => 'Domain name:',
44
- 'domain.sponsor' => 'Registration Service Provided By:',
45
- 'domain.nserver' => 'Domain servers in listed order:',
46
- 'domain.changed' => 'Record last updated ',
47
- 'domain.created' => 'Record created on',
48
- 'domain.created#' => 'Creation Date:',
49
- 'domain.expires' => 'Record expires on',
50
- 'domain.expires#' => 'Expiration Date:',
51
- 'domain.status' => 'Status:'
52
- );
53
-
54
- return easy_parser($data_str, $items, 'mdy', false, true, true);
55
- }
56
- }
57
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.register.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__REGISTER_HANDLER__'))
29
- define('__REGISTER_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class register_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner#0' => 'Registrant Info:',
39
- 'owner#1' => 'Organization:',
40
- 'owner#2' => 'Registrant:',
41
- 'owner#3' => 'Registrant Contact:',
42
- 'admin' => 'Administrative',
43
- 'tech' => 'Technical',
44
- 'zone' => 'Zone',
45
- 'domain.sponsor#0' => 'Registrar Name....:',
46
- 'domain.sponsor#1' => 'Registration Service Provided By:',
47
- 'domain.referrer' => 'Registrar Homepage:',
48
- 'domain.nserver' => 'Domain servers in listed order:',
49
- 'domain.nserver' => 'DNS Servers:',
50
- 'domain.name' => 'Domain name:',
51
- 'domain.created#0' => 'Created on..............:',
52
- 'domain.created#1' => 'Creation date:',
53
- 'domain.expires#0' => 'Expires on..............:',
54
- 'domain.expires#1' => 'Expiration date:',
55
- 'domain.changed' => 'Record last updated on..:',
56
- 'domain.status' => 'Status:'
57
- );
58
-
59
- return easy_parser($data_str, $items, 'ymd');
60
- }
61
- }
62
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.rrpproxy.php DELETED
@@ -1,92 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__RRPPROXY_HANDLER__'))
29
- define('__RRPPROXY_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class rrpproxy_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'created-date:' => 'domain.created',
39
- 'updated-date:' => 'domain.changed',
40
- 'registration-expiration-date:' => 'domain.expires',
41
- 'RSP:' => 'domain.sponsor',
42
- 'URL:' => 'domain.referrer',
43
- 'owner-nom.contact:' => 'owner.handle',
44
- 'owner-fname:' => 'owner.name.first',
45
- 'owner-lname:' => 'owner.name.last',
46
- 'owner-organization:' => 'owner.organization',
47
- 'owner-street:' => 'owner.address.street',
48
- 'owner-city:' => 'owner.address.city',
49
- 'owner-zip:' => 'owner.address.pcode',
50
- 'owner-country:' => 'owner.address.country',
51
- 'owner-phone:' => 'owner.phone',
52
- 'owner-fax:' => 'owner.fax',
53
- 'owner-email:' => 'owner.email',
54
- 'admin-nom.contact:' => 'admin.handle',
55
- 'admin-fname:' => 'admin.name.first',
56
- 'admin-lname:' => 'admin.name.last',
57
- 'admin-organization:' => 'admin.organization',
58
- 'admin-street:' => 'admin.address.street',
59
- 'admin-city:' => 'admin.address.city',
60
- 'admin-zip:' => 'admin.address.pcode',
61
- 'admin-country:' => 'admin.address.country',
62
- 'admin-phone:' => 'admin.phone',
63
- 'admin-fax:' => 'admin.fax',
64
- 'admin-email:' => 'admin.email',
65
- 'tech-nom.contact:' => 'tech.handle',
66
- 'tech-fname:' => 'tech.name.first',
67
- 'tech-lname:' => 'tech.name.last',
68
- 'tech-organization:' => 'tech.organization',
69
- 'tech-street:' => 'tech.address.street',
70
- 'tech-city:' => 'tech.address.city',
71
- 'tech-zip:' => 'tech.address.pcode',
72
- 'tech-country:' => 'tech.address.country',
73
- 'tech-phone:' => 'tech.phone',
74
- 'tech-fax:' => 'tech.fax',
75
- 'tech-email:' => 'tech.email',
76
- 'billing-nom.contact:' => 'billing.handle',
77
- 'billing-fname:' => 'billing.name.first',
78
- 'billing-lname:' => 'billing.name.last',
79
- 'billing-organization:' => 'billing.organization',
80
- 'billing-street:' => 'billing.address.street',
81
- 'billing-city:' => 'billing.address.city',
82
- 'billing-zip:' => 'billing.address.pcode',
83
- 'billing-country:' => 'billing.address.country',
84
- 'billing-phone:' => 'billing.phone',
85
- 'billing-fax:' => 'billing.fax',
86
- 'billing-email:' => 'billing.email'
87
- );
88
-
89
- return generic_parser_b($data_str, $items);
90
- }
91
- }
92
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.schlund.php DELETED
@@ -1,86 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SCHLUND_HANDLER__'))
29
- define('__SCHLUND_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class schlund_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'created:' => 'domain.created',
39
- 'last-changed:' => 'domain.changed',
40
- 'status:' => 'domain.status',
41
- 'registrant-firstname:' => 'owner.name.first',
42
- 'registrant-lastname:' => 'owner.name.last',
43
- 'registrant-organization:' => 'owner.organization',
44
- 'registrant-street1:' => 'owner.address.street.',
45
- 'registrant-street2:' => 'owner.address.street.',
46
- 'registrant-pcode:' => 'owner.address.pcode',
47
- 'registrant-city:' => 'owner.address.city',
48
- 'registrant-ccode:' => 'owner.address.country',
49
- 'registrant-phone:' => 'owner.phone',
50
- 'registrant-email:' => 'owner.email',
51
- 'admin-c-firstname:' => 'admin.name.first',
52
- 'admin-c-lastname:' => 'admin.name.last',
53
- 'admin-c-organization:' => 'admin.organization',
54
- 'admin-c-street1:' => 'admin.address.street.',
55
- 'admin-c-street2:' => 'admin.address.street.',
56
- 'admin-c-pcode:' => 'admin.address.pcode',
57
- 'admin-c-city:' => 'admin.address.city',
58
- 'admin-c-ccode:' => 'admin.address.country',
59
- 'admin-c-phone:' => 'admin.phone',
60
- 'admin-c-email:' => 'admin.email',
61
- 'tech-c-firstname:' => 'tech.name.first',
62
- 'tech-c-lastname:' => 'tech.name.last',
63
- 'tech-c-organization:' => 'tech.organization',
64
- 'tech-c-street1:' => 'tech.address.street.',
65
- 'tech-c-street2:' => 'tech.address.street.',
66
- 'tech-c-pcode:' => 'tech.address.pcode',
67
- 'tech-c-city:' => 'tech.address.city',
68
- 'tech-c-ccode:' => 'tech.address.country',
69
- 'tech-c-phone:' => 'tech.phone',
70
- 'tech-c-email:' => 'tech.email',
71
- 'bill-c-firstname:' => 'billing.name.first',
72
- 'bill-c-lastname:' => 'billing.name.last',
73
- 'bill-c-organization:' => 'billing.organization',
74
- 'bill-c-street1:' => 'billing.address.street.',
75
- 'bill-c-street2:' => 'billing.address.street.',
76
- 'bill-c-pcode:' => 'billing.address.pcode',
77
- 'bill-c-city:' => 'billing.address.city',
78
- 'bill-c-ccode:' => 'billing.address.country',
79
- 'bill-c-phone:' => 'billing.phone',
80
- 'bill-c-email:' => 'billing.email'
81
- );
82
-
83
- return generic_parser_b($data_str, $items);
84
- }
85
- }
86
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.srsplus.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SRSPLUS_HANDLER__'))
29
- define('__SRSPLUS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class srsplus_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative',
40
- 'tech' => 'Technical',
41
- 'billing' => 'Billing',
42
- 'domain.name' => 'Domain Name:',
43
- 'domain.nserver' => 'Domain servers:',
44
- 'domain.created' => 'Record created on',
45
- 'domain.expires' => 'Record expires on'
46
- );
47
-
48
- return easy_parser($data_str, $items, 'ymd',false,true,true);
49
- }
50
- }
51
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.tmagnic.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__TMAGNIC_HANDLER__'))
29
- define('__TMAGNIC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class tmagnic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Owner Contact:',
39
- 'admin' => 'Admin Contact',
40
- 'tech' => 'Technical Contact',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.nserver.' => 'Domain servers in listed order:',
43
- 'domain.expires' => 'Record expires on: ',
44
- 'domain.changed' => 'Record last updated on: ',
45
- '' => 'Zone Contact',
46
- '#' => 'Punycode Name:'
47
- );
48
-
49
- return easy_parser($data_str, $items, 'ymd',false,false,true);
50
- }
51
- }
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.tvcorp.php DELETED
@@ -1,50 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__TVCORP_HANDLER__'))
29
- define('__TVCORP_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class tvcorp_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant',
39
- 'admin' => 'Admin',
40
- 'tech' => 'Technical',
41
- 'billing' => 'Billing',
42
- 'domain.nserver.' => 'Domain servers:',
43
- 'domain.created' => 'Record created on',
44
- 'domain.expires' => 'Record expires on'
45
- );
46
-
47
- return easy_parser($data_str, $items, 'mdy');
48
- }
49
- }
50
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.gtld.wildwestdomains.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__WILDWESTDOMAINS_HANDLER__'))
29
- define('__WILDWESTDOMAINS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class wildwestdomains_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'domain.name' => 'Domain name:',
42
- 'domain.sponsor'=> 'Registered through:',
43
- 'domain.nserver' => 'Domain servers in listed order:',
44
- 'domain.created' => 'Created on:',
45
- 'domain.expires' => 'Expires on:',
46
- 'domain.changed' => 'Last Updated on:'
47
- );
48
-
49
- return easy_parser($data_str, $items, 'mdy');
50
- }
51
- }
52
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.hu.php DELETED
@@ -1,95 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if(!defined('__HU_HANDLER__'))
29
- define('__HU_HANDLER__',1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class hu_handler
34
- {
35
- function parse ($data_str, $query)
36
- {
37
- $translate = array (
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'hun-id' => 'handle',
41
- 'person' => 'name',
42
- 'nameserver' => 'nserver',
43
- 'person' => 'name',
44
- 'org' => 'organization',
45
- 'registered' => 'created'
46
- );
47
-
48
- $contacts = array (
49
- 'registrar' => 'owner',
50
- 'admin-c' => 'admin',
51
- 'tech-c' => 'tech',
52
- 'billing-c' => 'billing',
53
- 'zone-c' => 'zone',
54
- 'owner-hun-id' => 'owner'
55
- );
56
-
57
- // make those broken hungary comments standards-conforming
58
- // replace first found hun-id with owner-hun-id (will be parsed later on)
59
- // make output UTF-8
60
-
61
- $comments = true;
62
- $owner_id = true;
63
-
64
- foreach ($data_str['rawdata'] as $i => $val)
65
- {
66
- if ($comments)
67
- {
68
- if (strpos($data_str['rawdata'][$i],'domain:') === false)
69
- {
70
- if ($i) $data_str['rawdata'][$i] = '% '.$data_str['rawdata'][$i];
71
- }
72
- else
73
- $comments = false;
74
- }
75
- else
76
- if ($owner_id && substr($data_str['rawdata'][$i],0,7) == 'hun-id:')
77
- {
78
- $data_str['rawdata'][$i] = 'owner-'.$data_str['rawdata'][$i];
79
- $owner_id = false;
80
- }
81
- }
82
-
83
- $reg = generic_parser_a($data_str['rawdata'],$translate,$contacts);
84
-
85
- unset($reg['domain']['organization']);
86
- unset($reg['domain']['address']);
87
- unset($reg['domain']['phone']);
88
- unset($reg['domain']['fax']);
89
-
90
- $r['regrinfo'] = $reg;
91
- $r['regyinfo'] = array('referrer'=>'http://www.nic.hu','registrar'=>'HUNIC');
92
- return format_dates($r,'ymd');
93
- }
94
- }
95
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.icon.png DELETED
Binary file
lib/whois/whois.idna.php DELETED
@@ -1,969 +0,0 @@
1
- <?php
2
- // {{{ license
3
-
4
- /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
5
- //
6
- // +----------------------------------------------------------------------+
7
- // | This library is free software; you can redistribute it and/or modify |
8
- // | it under the terms of the GNU Lesser General Public License as |
9
- // | published by the Free Software Foundation; either version 2.1 of the |
10
- // | License, or (at your option) any later version. |
11
- // | |
12
- // | This library is distributed in the hope that it will be useful, but |
13
- // | WITHOUT ANY WARRANTY; without even the implied warranty of |
14
- // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15
- // | Lesser General Public License for more details. |
16
- // | |
17
- // | You should have received a copy of the GNU Lesser General Public |
18
- // | License along with this library; if not, write to the Free Software |
19
- // | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 |
20
- // | USA. |
21
- // +----------------------------------------------------------------------+
22
- //
23
-
24
- // }}}
25
-
26
- /**
27
- * Encode/decode Internationalized Domain Names.
28
- *
29
- * The class allows to convert internationalized domain names
30
- * (see RFC 3490 for details) as they can be used with various registries worldwide
31
- * to be translated between their original (localized) form and their encoded form
32
- * as it will be used in the DNS (Domain Name System).
33
- *
34
- * The class provides two public methods, encode() and decode(), which do exactly
35
- * what you would expect them to do. You are allowed to use complete domain names,
36
- * simple strings and complete email addresses as well. That means, that you might
37
- * use any of the following notations:
38
- *
39
- * - www.nörgler.com
40
- * - xn--nrgler-wxa
41
- * - xn--brse-5qa.xn--knrz-1ra.info
42
- *
43
- * Unicode input might be given as either UTF-8 string, UCS-4 string or UCS-4
44
- * array. Unicode output is available in the same formats.
45
- * You can select your preferred format via {@link set_paramter()}.
46
- *
47
- * ACE input and output is always expected to be ASCII.
48
- *
49
- * @author Matthias Sommerfeld <mso@phlylabs.de>
50
- * @copyright 2004-2007 phlyLabs Berlin, http://phlylabs.de
51
- * @version 0.5.1
52
- *
53
- */
54
- class wordfence_idna_convert
55
- {
56
- /**
57
- * Holds all relevant mapping tables, loaded from a seperate file on construct
58
- * See RFC3454 for details
59
- *
60
- * @var array
61
- * @access private
62
- */
63
- var $NP = array();
64
-
65
- // Internal settings, do not mess with them
66
- var $_punycode_prefix = 'xn--';
67
- var $_invalid_ucs = 0x80000000;
68
- var $_max_ucs = 0x10FFFF;
69
- var $_base = 36;
70
- var $_tmin = 1;
71
- var $_tmax = 26;
72
- var $_skew = 38;
73
- var $_damp = 700;
74
- var $_initial_bias = 72;
75
- var $_initial_n = 0x80;
76
- var $_sbase = 0xAC00;
77
- var $_lbase = 0x1100;
78
- var $_vbase = 0x1161;
79
- var $_tbase = 0x11A7;
80
- var $_lcount = 19;
81
- var $_vcount = 21;
82
- var $_tcount = 28;
83
- var $_ncount = 588; // _vcount * _tcount
84
- var $_scount = 11172; // _lcount * _tcount * _vcount
85
- var $_error = false;
86
-
87
- // See {@link set_paramter()} for details of how to change the following
88
- // settings from within your script / application
89
- var $_api_encoding = 'utf8'; // Default input charset is UTF-8
90
- var $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden
91
- var $_strict_mode = false; // Behave strict or not
92
-
93
- // The constructor
94
- function idna_convert($options = false)
95
- {
96
- $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
97
- if (function_exists('file_get_contents')) {
98
- $this->NP = unserialize(file_get_contents(dirname(__FILE__).'/npdata.ser'));
99
- } else {
100
- $this->NP = unserialize(join('', file(dirname(__FILE__).'/npdata.ser')));
101
- }
102
- // If parameters are given, pass these to the respective method
103
- if (is_array($options)) {
104
- return $this->set_parameter($options);
105
- }
106
- return true;
107
- }
108
-
109
- /**
110
- * Sets a new option value. Available options and values:
111
- * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
112
- * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
113
- * [overlong - Unicode does not allow unnecessarily long encodings of chars,
114
- * to allow this, set this parameter to true, else to false;
115
- * default is false.]
116
- * [strict - true: strict mode, good for registration purposes - Causes errors
117
- * on failures; false: loose mode, ideal for "wildlife" applications
118
- * by silently ignoring errors and returning the original input instead
119
- *
120
- * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs)
121
- * @param string Value to use (if parameter 1 is a string)
122
- * @return boolean true on success, false otherwise
123
- * @access public
124
- */
125
- function set_parameter($option, $value = false)
126
- {
127
- if (!is_array($option)) {
128
- $option = array($option => $value);
129
- }
130
- foreach ($option as $k => $v) {
131
- switch ($k) {
132
- case 'encoding':
133
- switch ($v) {
134
- case 'utf8':
135
- case 'ucs4_string':
136
- case 'ucs4_array':
137
- $this->_api_encoding = $v;
138
- break;
139
- default:
140
- $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
141
- return false;
142
- }
143
- break;
144
- case 'overlong':
145
- $this->_allow_overlong = ($v) ? true : false;
146
- break;
147
- case 'strict':
148
- $this->_strict_mode = ($v) ? true : false;
149
- break;
150
- default:
151
- $this->_error('Set Parameter: Unknown option '.$k);
152
- return false;
153
- }
154
- }
155
- return true;
156
- }
157
-
158
- /**
159
- * Decode a given ACE domain name
160
- * @param string Domain name (ACE string)
161
- * [@param string Desired output encoding, see {@link set_parameter}]
162
- * @return string Decoded Domain name (UTF-8 or UCS-4)
163
- * @access public
164
- */
165
- function decode($input, $one_time_encoding = false)
166
- {
167
- // Optionally set
168
- if ($one_time_encoding) {
169
- switch ($one_time_encoding) {
170
- case 'utf8':
171
- case 'ucs4_string':
172
- case 'ucs4_array':
173
- break;
174
- default:
175
- $this->_error('Unknown encoding '.$one_time_encoding);
176
- return false;
177
- }
178
- }
179
- // Make sure to drop any newline characters around
180
- $input = trim($input);
181
-
182
- // Negotiate input and try to determine, whether it is a plain string,
183
- // an email address or something like a complete URL
184
- if (strpos($input, '@')) { // Maybe it is an email address
185
- // No no in strict mode
186
- if ($this->_strict_mode) {
187
- $this->_error('Only simple domain name parts can be handled in strict mode');
188
- return false;
189
- }
190
- list ($email_pref, $input) = explode('@', $input, 2);
191
- $arr = explode('.', $input);
192
- foreach ($arr as $k => $v) {
193
- if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
194
- $conv = $this->_decode($v);
195
- if ($conv) $arr[$k] = $conv;
196
- }
197
- }
198
- $input = join('.', $arr);
199
- $arr = explode('.', $email_pref);
200
- foreach ($arr as $k => $v) {
201
- if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
202
- $conv = $this->_decode($v);
203
- if ($conv) $arr[$k] = $conv;
204
- }
205
- }
206
- $email_pref = join('.', $arr);
207
- $return = $email_pref . '@' . $input;
208
- } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
209
- // No no in strict mode
210
- if ($this->_strict_mode) {
211
- $this->_error('Only simple domain name parts can be handled in strict mode');
212
- return false;
213
- }
214
- $parsed = parse_url($input);
215
- if (isset($parsed['host'])) {
216
- $arr = explode('.', $parsed['host']);
217
- foreach ($arr as $k => $v) {
218
- $conv = $this->_decode($v);
219
- if ($conv) $arr[$k] = $conv;
220
- }
221
- $parsed['host'] = join('.', $arr);
222
- $return =
223
- (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://'))
224
- .(empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@')
225
- .$parsed['host']
226
- .(empty($parsed['port']) ? '' : ':'.$parsed['port'])
227
- .(empty($parsed['path']) ? '' : $parsed['path'])
228
- .(empty($parsed['query']) ? '' : '?'.$parsed['query'])
229
- .(empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
230
- } else { // parse_url seems to have failed, try without it
231
- $arr = explode('.', $input);
232
- foreach ($arr as $k => $v) {
233
- $conv = $this->_decode($v);
234
- $arr[$k] = ($conv) ? $conv : $v;
235
- }
236
- $return = join('.', $arr);
237
- }
238
- } else { // Otherwise we consider it being a pure domain name string
239
- $return = $this->_decode($input);
240
- if (!$return) $return = $input;
241
- }
242
- // The output is UTF-8 by default, other output formats need conversion here
243
- // If one time encoding is given, use this, else the objects property
244
- switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
245
- case 'utf8':
246
- return $return;
247
- break;
248
- case 'ucs4_string':
249
- return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));
250
- break;
251
- case 'ucs4_array':
252
- return $this->_utf8_to_ucs4($return);
253
- break;
254
- default:
255
- $this->_error('Unsupported output format');
256
- return false;
257
- }
258
- }
259
-
260
- /**
261
- * Encode a given UTF-8 domain name
262
- * @param string Domain name (UTF-8 or UCS-4)
263
- * [@param string Desired input encoding, see {@link set_parameter}]
264
- * @return string Encoded Domain name (ACE string)
265
- * @access public
266
- */
267
- function encode($decoded, $one_time_encoding = false)
268
- {
269
- // Forcing conversion of input to UCS4 array
270
- // If one time encoding is given, use this, else the objects property
271
- switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
272
- case 'utf8':
273
- $decoded = $this->_utf8_to_ucs4($decoded);
274
- break;
275
- case 'ucs4_string':
276
- $decoded = $this->_ucs4_string_to_ucs4($decoded);
277
- case 'ucs4_array':
278
- break;
279
- default:
280
- $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
281
- return false;
282
- }
283
-
284
- // No input, no output, what else did you expect?
285
- if (empty($decoded)) return '';
286
-
287
- // Anchors for iteration
288
- $last_begin = 0;
289
- // Output string
290
- $output = '';
291
- foreach ($decoded as $k => $v) {
292
- // Make sure to use just the plain dot
293
- switch($v) {
294
- case 0x3002:
295
- case 0xFF0E:
296
- case 0xFF61:
297
- $decoded[$k] = 0x2E;
298
- // Right, no break here, the above are converted to dots anyway
299
- // Stumbling across an anchoring character
300
- case 0x2E:
301
- case 0x2F:
302
- case 0x3A:
303
- case 0x3F:
304
- case 0x40:
305
- // Neither email addresses nor URLs allowed in strict mode
306
- if ($this->_strict_mode) {
307
- $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
308
- return false;
309
- } else {
310
- // Skip first char
311
- if ($k) {
312
- $encoded = '';
313
- $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin)));
314
- if ($encoded) {
315
- $output .= $encoded;
316
- } else {
317
- $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin)));
318
- }
319
- $output .= chr($decoded[$k]);
320
- }
321
- $last_begin = $k + 1;
322
- }
323
- }
324
- }
325
- // Catch the rest of the string
326
- if ($last_begin) {
327
- $inp_len = sizeof($decoded);
328
- $encoded = '';
329
- $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
330
- if ($encoded) {
331
- $output .= $encoded;
332
- } else {
333
- $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
334
- }
335
- return $output;
336
- } else {
337
- if ($output = $this->_encode($decoded)) {
338
- return $output;
339
- } else {
340
- return $this->_ucs4_to_utf8($decoded);
341
- }
342
- }
343
- }
344
-
345
- /**
346
- * Use this method to get the last error ocurred
347
- * @param void
348
- * @return string The last error, that occured
349
- * @access public
350
- */
351
- function get_last_error()
352
- {
353
- return $this->_error;
354
- }
355
-
356
- /**
357
- * The actual decoding algorithm
358
- * @access private
359
- */
360
- function _decode($encoded)
361
- {
362
- // We do need to find the Punycode prefix
363
- if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) {
364
- $this->_error('This is not a punycode string');
365
- return false;
366
- }
367
- $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded);
368
- // If nothing left after removing the prefix, it is hopeless
369
- if (!$encode_test) {
370
- $this->_error('The given encoded string was empty');
371
- return false;
372
- }
373
- // Find last occurence of the delimiter
374
- $delim_pos = strrpos($encoded, '-');
375
- if ($delim_pos > strlen($this->_punycode_prefix)) {
376
- for ($k = strlen($this->_punycode_prefix); $k < $delim_pos; ++$k) {
377
- $decoded[] = ord($encoded{$k});
378
- }
379
- } else {
380
- $decoded = array();
381
- }
382
- $deco_len = count($decoded);
383
- $enco_len = strlen($encoded);
384
-
385
- // Wandering through the strings; init
386
- $is_first = true;
387
- $bias = $this->_initial_bias;
388
- $idx = 0;
389
- $char = $this->_initial_n;
390
-
391
- for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
392
- for ($old_idx = $idx, $w = 1, $k = $this->_base; 1 ; $k += $this->_base) {
393
- $digit = $this->_decode_digit($encoded{$enco_idx++});
394
- $idx += $digit * $w;
395
- $t = ($k <= $bias) ? $this->_tmin :
396
- (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
397
- if ($digit < $t) break;
398
- $w = (int) ($w * ($this->_base - $t));
399
- }
400
- $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
401
- $is_first = false;
402
- $char += (int) ($idx / ($deco_len + 1));
403
- $idx %= ($deco_len + 1);
404
- if ($deco_len > 0) {
405
- // Make room for the decoded char
406
- for ($i = $deco_len; $i > $idx; $i--) {
407
- $decoded[$i] = $decoded[($i - 1)];
408
- }
409
- }
410
- $decoded[$idx++] = $char;
411
- }
412
- return $this->_ucs4_to_utf8($decoded);
413
- }
414
-
415
- /**
416
- * The actual encoding algorithm
417
- * @access private
418
- */
419
- function _encode($decoded)
420
- {
421
- // We cannot encode a domain name containing the Punycode prefix
422
- $extract = strlen($this->_punycode_prefix);
423
- $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
424
- $check_deco = array_slice($decoded, 0, $extract);
425
-
426
- if ($check_pref == $check_deco) {
427
- $this->_error('This is already a punycode string');
428
- return false;
429
- }
430
- // We will not try to encode strings consisting of basic code points only
431
- $encodable = false;
432
- foreach ($decoded as $k => $v) {
433
- if ($v > 0x7a) {
434
- $encodable = true;
435
- break;
436
- }
437
- }
438
- if (!$encodable) {
439
- $this->_error('The given string does not contain encodable chars');
440
- return false;
441
- }
442
-
443
- // Do NAMEPREP
444
- $decoded = $this->_nameprep($decoded);
445
- if (!$decoded || !is_array($decoded)) return false; // NAMEPREP failed
446
-
447
- $deco_len = count($decoded);
448
- if (!$deco_len) return false; // Empty array
449
-
450
- $codecount = 0; // How many chars have been consumed
451
-
452
- $encoded = '';
453
- // Copy all basic code points to output
454
- for ($i = 0; $i < $deco_len; ++$i) {
455
- $test = $decoded[$i];
456
- // Will match [-0-9a-zA-Z]
457
- if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B)
458
- || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
459
- $encoded .= chr($decoded[$i]);
460
- $codecount++;
461
- }
462
- }
463
- if ($codecount == $deco_len) return $encoded; // All codepoints were basic ones
464
-
465
- // Start with the prefix; copy it to output
466
- $encoded = $this->_punycode_prefix.$encoded;
467
-
468
- // If we have basic code points in output, add an hyphen to the end
469
- if ($codecount) $encoded .= '-';
470
-
471
- // Now find and encode all non-basic code points
472
- $is_first = true;
473
- $cur_code = $this->_initial_n;
474
- $bias = $this->_initial_bias;
475
- $delta = 0;
476
- while ($codecount < $deco_len) {
477
- // Find the smallest code point >= the current code point and
478
- // remember the last ouccrence of it in the input
479
- for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
480
- if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
481
- $next_code = $decoded[$i];
482
- }
483
- }
484
-
485
- $delta += ($next_code - $cur_code) * ($codecount + 1);
486
- $cur_code = $next_code;
487
-
488
- // Scan input again and encode all characters whose code point is $cur_code
489
- for ($i = 0; $i < $deco_len; $i++) {
490
- if ($decoded[$i] < $cur_code) {
491
- $delta++;
492
- } elseif ($decoded[$i] == $cur_code) {
493
- for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
494
- $t = ($k <= $bias) ? $this->_tmin :
495
- (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
496
- if ($q < $t) break;
497
- $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
498
- $q = (int) (($q - $t) / ($this->_base - $t));
499
- }
500
- $encoded .= $this->_encode_digit($q);
501
- $bias = $this->_adapt($delta, $codecount+1, $is_first);
502
- $codecount++;
503
- $delta = 0;
504
- $is_first = false;
505
- }
506
- }
507
- $delta++;
508
- $cur_code++;
509
- }
510
- return $encoded;
511
- }
512
-
513
- /**
514
- * Adapt the bias according to the current code point and position
515
- * @access private
516
- */
517
- function _adapt($delta, $npoints, $is_first)
518
- {
519
- $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
520
- $delta += intval($delta / $npoints);
521
- for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
522
- $delta = intval($delta / ($this->_base - $this->_tmin));
523
- }
524
- return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
525
- }
526
-
527
- /**
528
- * Encoding a certain digit
529
- * @access private
530
- */
531
- function _encode_digit($d)
532
- {
533
- return chr($d + 22 + 75 * ($d < 26));
534
- }
535
-
536
- /**
537
- * Decode a certain digit
538
- * @access private
539
- */
540
- function _decode_digit($cp)
541
- {
542
- $cp = ord($cp);
543
- return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
544
- }
545
-
546
- /**
547
- * Internal error handling method
548
- * @access private
549
- */
550
- function _error($error = '')
551
- {
552
- $this->_error = $error;
553
- }
554
-
555
- /**
556
- * Do Nameprep according to RFC3491 and RFC3454
557
- * @param array Unicode Characters
558
- * @return string Unicode Characters, Nameprep'd
559
- * @access private
560
- */
561
- function _nameprep($input)
562
- {
563
- $output = array();
564
- $error = false;
565
- //
566
- // Mapping
567
- // Walking through the input array, performing the required steps on each of
568
- // the input chars and putting the result into the output array
569
- // While mapping required chars we apply the cannonical ordering
570
- foreach ($input as $v) {
571
- // Map to nothing == skip that code point
572
- if (in_array($v, $this->NP['map_nothing'])) continue;
573
-
574
- // Try to find prohibited input
575
- if (in_array($v, $this->NP['prohibit']) || in_array($v, $this->NP['general_prohibited'])) {
576
- $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
577
- return false;
578
- }
579
- foreach ($this->NP['prohibit_ranges'] as $range) {
580
- if ($range[0] <= $v && $v <= $range[1]) {
581
- $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
582
- return false;
583
- }
584
- }
585
- //
586
- // Hangul syllable decomposition
587
- if (0xAC00 <= $v && $v <= 0xD7AF) {
588
- foreach ($this->_hangul_decompose($v) as $out) {
589
- $output[] = (int) $out;
590
- }
591
- // There's a decomposition mapping for that code point
592
- } elseif (isset($this->NP['replacemaps'][$v])) {
593
- foreach ($this->_apply_cannonical_ordering($this->NP['replacemaps'][$v]) as $out) {
594
- $output[] = (int) $out;
595
- }
596
- } else {
597
- $output[] = (int) $v;
598
- }
599
- }
600
- // Before applying any Combining, try to rearrange any Hangul syllables
601
- $output = $this->_hangul_compose($output);
602
- //
603
- // Combine code points
604
- //
605
- $last_class = 0;
606
- $last_starter = 0;
607
- $out_len = count($output);
608
- for ($i = 0; $i < $out_len; ++$i) {
609
- $class = $this->_get_combining_class($output[$i]);
610
- if ((!$last_class || $last_class > $class) && $class) {
611
- // Try to match
612
- $seq_len = $i - $last_starter;
613
- $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
614
- // On match: Replace the last starter with the composed character and remove
615
- // the now redundant non-starter(s)
616
- if ($out) {
617
- $output[$last_starter] = $out;
618
- if (count($out) != $seq_len) {
619
- for ($j = $i+1; $j < $out_len; ++$j) {
620
- $output[$j-1] = $output[$j];
621
- }
622
- unset($output[$out_len]);
623
- }
624
- // Rewind the for loop by one, since there can be more possible compositions
625
- $i--;
626
- $out_len--;
627
- $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i-1]);
628
- continue;
629
- }
630
- }
631
- // The current class is 0
632
- if (!$class) $last_starter = $i;
633
- $last_class = $class;
634
- }
635
- return $output;
636
- }
637
-
638
- /**
639
- * Decomposes a Hangul syllable
640
- * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
641
- * @param integer 32bit UCS4 code point
642
- * @return array Either Hangul Syllable decomposed or original 32bit value as one value array
643
- * @access private
644
- */
645
- function _hangul_decompose($char)
646
- {
647
- $sindex = (int) $char - $this->_sbase;
648
- if ($sindex < 0 || $sindex >= $this->_scount) {
649
- return array($char);
650
- }
651
- $result = array();
652
- $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
653
- $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
654
- $T = intval($this->_tbase + $sindex % $this->_tcount);
655
- if ($T != $this->_tbase) $result[] = $T;
656
- return $result;
657
- }
658
- /**
659
- * Ccomposes a Hangul syllable
660
- * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
661
- * @param array Decomposed UCS4 sequence
662
- * @return array UCS4 sequence with syllables composed
663
- * @access private
664
- */
665
- function _hangul_compose($input)
666
- {
667
- $inp_len = count($input);
668
- if (!$inp_len) return array();
669
- $result = array();
670
- $last = (int) $input[0];
671
- $result[] = $last; // copy first char from input to output
672
-
673
- for ($i = 1; $i < $inp_len; ++$i) {
674
- $char = (int) $input[$i];
675
- $sindex = $last - $this->_sbase;
676
- $lindex = $last - $this->_lbase;
677
- $vindex = $char - $this->_vbase;
678
- $tindex = $char - $this->_tbase;
679
- // Find out, whether two current characters are LV and T
680
- if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0)
681
- && 0 <= $tindex && $tindex <= $this->_tcount) {
682
- // create syllable of form LVT
683
- $last += $tindex;
684
- $result[(count($result) - 1)] = $last; // reset last
685
- continue; // discard char
686
- }
687
- // Find out, whether two current characters form L and V
688
- if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
689
- // create syllable of form LV
690
- $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
691
- $result[(count($result) - 1)] = $last; // reset last
692
- continue; // discard char
693
- }
694
- // if neither case was true, just add the character
695
- $last = $char;
696
- $result[] = $char;
697
- }
698
- return $result;
699
- }
700
-
701
- /**
702
- * Returns the combining class of a certain wide char
703
- * @param integer Wide char to check (32bit integer)
704
- * @return integer Combining class if found, else 0
705
- * @access private
706
- */
707
- function _get_combining_class($char)
708
- {
709
- return isset($this->NP['norm_combcls'][$char]) ? $this->NP['norm_combcls'][$char] : 0;
710
- }
711
-
712
- /**
713
- * Apllies the cannonical ordering of a decomposed UCS4 sequence
714
- * @param array Decomposed UCS4 sequence
715
- * @return array Ordered USC4 sequence
716
- * @access private
717
- */
718
- function _apply_cannonical_ordering($input)
719
- {
720
- $swap = true;
721
- $size = count($input);
722
- while ($swap) {
723
- $swap = false;
724
- $last = $this->_get_combining_class(intval($input[0]));
725
- for ($i = 0; $i < $size-1; ++$i) {
726
- $next = $this->_get_combining_class(intval($input[$i+1]));
727
- if ($next != 0 && $last > $next) {
728
- // Move item leftward until it fits
729
- for ($j = $i + 1; $j > 0; --$j) {
730
- if ($this->_get_combining_class(intval($input[$j-1])) <= $next) break;
731
- $t = intval($input[$j]);
732
- $input[$j] = intval($input[$j-1]);
733
- $input[$j-1] = $t;
734
- $swap = true;
735
- }
736
- // Reentering the loop looking at the old character again
737
- $next = $last;
738
- }
739
- $last = $next;
740
- }
741
- }
742
- return $input;
743
- }
744
-
745
- /**
746
- * Do composition of a sequence of starter and non-starter
747
- * @param array UCS4 Decomposed sequence
748
- * @return array Ordered USC4 sequence
749
- * @access private
750
- */
751
- function _combine($input)
752
- {
753
- $inp_len = count($input);
754
- foreach ($this->NP['replacemaps'] as $np_src => $np_target) {
755
- if ($np_target[0] != $input[0]) continue;
756
- if (count($np_target) != $inp_len) continue;
757
- $hit = false;
758
- foreach ($input as $k2 => $v2) {
759
- if ($v2 == $np_target[$k2]) {
760
- $hit = true;
761
- } else {
762
- $hit = false;
763
- break;
764
- }
765
- }
766
- if ($hit) return $np_src;
767
- }
768
- return false;
769
- }
770
-
771
- /**
772
- * This converts an UTF-8 encoded string to its UCS-4 representation
773
- * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
774
- * each of the "chars". This is due to PHP not being able to handle strings with
775
- * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
776
- * The following UTF-8 encodings are supported:
777
- * bytes bits representation
778
- * 1 7 0xxxxxxx
779
- * 2 11 110xxxxx 10xxxxxx
780
- * 3 16 1110xxxx 10xxxxxx 10xxxxxx
781
- * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
782
- * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
783
- * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
784
- * Each x represents a bit that can be used to store character data.
785
- * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
786
- * @access private
787
- */
788
- function _utf8_to_ucs4($input)
789
- {
790
- $output = array();
791
- $out_len = 0;
792
- $inp_len = strlen($input);
793
- $mode = 'next';
794
- $test = 'none';
795
- for ($k = 0; $k < $inp_len; ++$k) {
796
- $v = ord($input{$k}); // Extract byte from input string
797
-
798
- if ($v < 128) { // We found an ASCII char - put into stirng as is
799
- $output[$out_len] = $v;
800
- ++$out_len;
801
- if ('add' == $mode) {
802
- $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
803
- return false;
804
- }
805
- continue;
806
- }
807
- if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
808
- $start_byte = $v;
809
- $mode = 'add';
810
- $test = 'range';
811
- if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
812
- $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
813
- $v = ($v - 192) << 6;
814
- } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
815
- $next_byte = 1;
816
- $v = ($v - 224) << 12;
817
- } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
818
- $next_byte = 2;
819
- $v = ($v - 240) << 18;
820
- } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
821
- $next_byte = 3;
822
- $v = ($v - 248) << 24;
823
- } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
824
- $next_byte = 4;
825
- $v = ($v - 252) << 30;
826
- } else {
827
- $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k);
828
- return false;
829
- }
830
- if ('add' == $mode) {
831
- $output[$out_len] = (int) $v;
832
- ++$out_len;
833
- continue;
834
- }
835
- }
836
- if ('add' == $mode) {
837
- if (!$this->_allow_overlong && $test == 'range') {
838
- $test = 'none';
839
- if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
840
- $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k);
841
- return false;
842
- }
843
- }
844
- if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
845
- $v = ($v - 128) << ($next_byte * 6);
846
- $output[($out_len - 1)] += $v;
847
- --$next_byte;
848
- } else {
849
- $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
850
- return false;
851
- }
852
- if ($next_byte < 0) {
853
- $mode = 'next';
854
- }
855
- }
856
- } // for
857
- return $output;
858
- }
859
-
860
- /**
861
- * Convert UCS-4 string into UTF-8 string
862
- * See _utf8_to_ucs4() for details
863
- * @access private
864
- */
865
- function _ucs4_to_utf8($input)
866
- {
867
- $output = '';
868
- $k = 0;
869
- foreach ($input as $v) {
870
- ++$k;
871
- // $v = ord($v);
872
- if ($v < 128) { // 7bit are transferred literally
873
- $output .= chr($v);
874
- } elseif ($v < (1 << 11)) { // 2 bytes
875
- $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
876
- } elseif ($v < (1 << 16)) { // 3 bytes
877
- $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
878
- } elseif ($v < (1 << 21)) { // 4 bytes
879
- $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63))
880
- . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
881
- } elseif ($v < (1 << 26)) { // 5 bytes
882
- $output .= chr(248 + ($v >> 24)) . chr(128 + (($v >> 18) & 63))
883
- . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63))
884
- . chr(128 + ($v & 63));
885
- } elseif ($v < (1 << 31)) { // 6 bytes
886
- $output .= chr(252 + ($v >> 30)) . chr(128 + (($v >> 24) & 63))
887
- . chr(128 + (($v >> 18) & 63)) . chr(128 + (($v >> 12) & 63))
888
- . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
889
- } else {
890
- $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k);
891
- return false;
892
- }
893
- }
894
- return $output;
895
- }
896
-
897
- /**
898
- * Convert UCS-4 array into UCS-4 string
899
- *
900
- * @access private
901
- */
902
- function _ucs4_to_ucs4_string($input)
903
- {
904
- $output = '';
905
- // Take array values and split output to 4 bytes per value
906
- // The bit mask is 255, which reads &11111111
907
- foreach ($input as $v) {
908
- $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255);
909
- }
910
- return $output;
911
- }
912
-
913
- /**
914
- * Convert UCS-4 strin into UCS-4 garray
915
- *
916
- * @access private
917
- */
918
- function _ucs4_string_to_ucs4($input)
919
- {
920
- $output = array();
921
- $inp_len = strlen($input);
922
- // Input length must be dividable by 4
923
- if ($inp_len % 4) {
924
- $this->_error('Input UCS4 string is broken');
925
- return false;
926
- }
927
- // Empty input - return empty output
928
- if (!$inp_len) return $output;
929
- for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
930
- // Increment output position every 4 input bytes
931
- if (!($i % 4)) {
932
- $out_len++;
933
- $output[$out_len] = 0;
934
- }
935
- $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
936
- }
937
- return $output;
938
- }
939
- }
940
-
941
- /**
942
- * Adapter class for aligning the API of idna_convert with that of Net_IDNA
943
- * @author Matthias Sommerfeld <mso@phlylabs.de>
944
- */
945
- class Net_IDNA_php4 extends wordfence_idna_convert
946
- {
947
- /**
948
- * Sets a new option value. Available options and values:
949
- * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
950
- * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
951
- * [overlong - Unicode does not allow unnecessarily long encodings of chars,
952
- * to allow this, set this parameter to true, else to false;
953
- * default is false.]
954
- * [strict - true: strict mode, good for registration purposes - Causes errors
955
- * on failures; false: loose mode, ideal for "wildlife" applications
956
- * by silently ignoring errors and returning the original input instead
957
- *
958
- * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs)
959
- * @param string Value to use (if parameter 1 is a string)
960
- * @return boolean true on success, false otherwise
961
- * @access public
962
- */
963
- function setParams($option, $param = false)
964
- {
965
- return $this->IC->set_parameters($option, $param);
966
- }
967
- }
968
-
969
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ie.php DELETED
@@ -1,64 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__IE_HANDLER__'))
29
- define('__IE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ie_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'nic-hdl' => 'handle',
39
- 'person' => 'name',
40
- 'renewal' => 'expires'
41
- );
42
-
43
- $contacts = array(
44
- 'admin-c' => 'admin',
45
- 'tech-c' => 'tech',
46
- );
47
-
48
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd');
49
-
50
- if (isset($reg['domain']['descr']))
51
- {
52
- $reg['owner']['organization'] = $reg['domain']['descr'][0];
53
- unset($reg['domain']['descr']);
54
- }
55
-
56
- $r['regrinfo'] = $reg;
57
- $r['regyinfo'] = array(
58
- 'referrer' => 'http://www.domainregistry.ie',
59
- 'registrar' => 'IE Domain Registry'
60
- );
61
- return $r;
62
- }
63
- }
64
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.in.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__IN_HANDLER__'))
29
- define('__IN_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class in_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://whois.registry.in',
40
- 'registrar' => 'INRegistry'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.info.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__INFO_HANDLER__'))
29
- define('__INFO_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class info_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://whois.afilias.info',
40
- 'registrar' => 'Afilias Global Registry Services'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.int.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__INT_HANDLER__'))
29
- define('__INT_HANDLER__', 1);
30
-
31
- require_once('whois.gtld.iana.php');
32
-
33
- class int_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $iana = new iana_handler();
38
- $r['regrinfo'] = $iana->parse($data_str['rawdata'], $query);
39
- $r['regyinfo']['referrer'] = 'http://www.iana.org/int-dom/int.htm';
40
- $r['regyinfo']['registrar'] = 'Internet Assigned Numbers Authority';
41
- return ($r);
42
- }
43
- }
44
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.afrinic.php DELETED
@@ -1,77 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__AFRINIC_HANDLER__'))
31
- define('__AFRINIC_HANDLER__', 1);
32
-
33
- class afrinic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'person' => 'name',
42
- 'netname' => 'name',
43
- 'organisation' => 'handle',
44
- 'org-name' => 'organization',
45
- 'org-type' => 'type'
46
- );
47
-
48
- $contacts = array(
49
- 'admin-c' => 'admin',
50
- 'tech-c' => 'tech',
51
- 'org' => 'owner'
52
- );
53
-
54
- $r = generic_parser_a($data_str, $translate, $contacts, 'network', 'Ymd');
55
-
56
- if (isset($r['network']['descr']))
57
- {
58
- $r['owner']['organization'] = $r['network']['descr'];
59
- unset($r['network']['descr']);
60
- }
61
-
62
- if (isset($r['owner']['remarks']) && is_array($r['owner']['remarks']))
63
- while (list($key, $val) = each($r['owner']['remarks']))
64
- {
65
- $pos = strpos($val,'rwhois://');
66
-
67
- if ($pos!==false)
68
- $r['rwhois'] = strtok(substr($val,$pos),' ');
69
- }
70
-
71
- $r = array( 'regrinfo' => $r );
72
- $r['regyinfo']['type'] = 'ip';
73
- $r['regyinfo']['registrar'] = 'African Network Information Center';
74
- return $r;
75
- }
76
- }
77
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.apnic.php DELETED
@@ -1,122 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if(!defined('__APNIC_HANDLER__'))
31
- define('__APNIC_HANDLER__',1);
32
-
33
- class apnic_handler
34
- {
35
- function parse ($data_str, $query)
36
- {
37
- $translate = array (
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'person' => 'name',
42
- 'country' => 'address',
43
- 'netname' => 'name',
44
- 'descr' => 'desc',
45
- 'aut-num' => 'handle'
46
- );
47
-
48
- $contacts = array (
49
- 'admin-c' => 'admin',
50
- 'tech-c' => 'tech'
51
- );
52
-
53
- $blocks = generic_parser_a_blocks($data_str,$translate,$disclaimer);
54
-
55
- if (isset($disclaimer) && is_array($disclaimer)) $r['disclaimer'] = $disclaimer;
56
-
57
- if (empty($blocks) || !is_array($blocks['main']))
58
- {
59
- $r['registered'] = 'no';
60
- }
61
- else
62
- {
63
- if (isset($blocks[$query]))
64
- {
65
- $as = true;
66
- $rb = $blocks[$query];
67
- }
68
- else
69
- {
70
- $rb = $blocks['main'];
71
- $as = false;
72
- }
73
-
74
- $r['registered'] = 'yes';
75
-
76
- while (list($key,$val) = each($contacts))
77
- if (isset($rb[$key]))
78
- {
79
- if (is_array($rb[$key]))
80
- $blk = $rb[$key][count($rb[$key])-1];
81
- else
82
- $blk = $rb[$key];
83
-
84
- //$blk = strtoupper(strtok($blk,' '));
85
- if (isset($blocks[$blk])) $r[$val] = $blocks[$blk];
86
- unset($rb[$key]);
87
- }
88
-
89
- $r['network'] = $rb;
90
- format_dates($r,'Ymd');
91
-
92
- if (isset($r['network']['desc']))
93
- {
94
- if (is_array($r['network']['desc']))
95
- {
96
- $r['owner']['organization'] = array_shift($r['network']['desc']);
97
- $r['owner']['address'] = $r['network']['desc'];
98
- }
99
- else
100
- $r['owner']['organization'] = $r['network']['desc'];
101
-
102
- unset($r['network']['desc']);
103
- }
104
-
105
- if (isset($r['network']['address']))
106
- {
107
- if (isset($r['owner']['address']))
108
- $r['owner']['address'][] = $r['network']['address'];
109
- else
110
- $r['owner']['address'] = $r['network']['address'];
111
-
112
- unset($r['network']['address']);
113
- }
114
- }
115
-
116
- $r = array( 'regrinfo' => $r );
117
- $r['regyinfo']['type'] ='ip';
118
- $r['regyinfo']['registrar'] = 'Asia Pacific Network Information Centre';
119
- return $r;
120
- }
121
- }
122
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.arin.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
-
29
- if (!defined('__ARIN_HANDLER__'))
30
- define('__ARIN_HANDLER__', 1);
31
-
32
- require_once('whois.parser.php');
33
-
34
- class arin_handler
35
- {
36
- function parse($data_str, $query)
37
- {
38
- $items = array(
39
- 'OrgName:' => 'owner.organization',
40
- 'CustName:' => 'owner.organization',
41
- 'OrgId:' => 'owner.handle',
42
- 'Address:' => 'owner.address.street.',
43
- 'City:' => 'owner.address.city',
44
- 'StateProv:' => 'owner.address.state',
45
- 'PostalCode:' => 'owner.address.pcode',
46
- 'Country:' => 'owner.address.country',
47
- 'NetRange:' => 'network.inetnum',
48
- 'NetName:' => 'network.name',
49
- 'NetHandle:' => 'network.handle',
50
- 'NetType:' => 'network.status',
51
- 'NameServer:' => 'network.nserver.',
52
- 'Comment:' => 'network.desc.',
53
- 'RegDate:' => 'network.created',
54
- 'Updated:' => 'network.changed',
55
- 'ASHandle:' => 'network.handle',
56
- 'ASName:' => 'network.name',
57
- 'NetHandle:' => 'network.handle',
58
- 'NetName:' => 'network.name',
59
- 'TechHandle:' => 'tech.handle',
60
- 'TechName:' => 'tech.name',
61
- 'TechPhone:' => 'tech.phone',
62
- 'TechEmail:' => 'tech.email',
63
- 'OrgAbuseName:' => 'abuse.name',
64
- 'OrgAbuseHandle:' => 'abuse.handle',
65
- 'OrgAbusePhone:' => 'abuse.phone',
66
- 'OrgAbuseEmail:' => 'abuse.email.',
67
- 'ReferralServer:' => 'rwhois'
68
- );
69
-
70
- $r = generic_parser_b($data_str, $items, 'ymd', false, true);
71
-
72
- if (@isset($r['abuse']['email']))
73
- $r['abuse']['email'] = implode(',',$r['abuse']['email']);
74
-
75
- return array( 'regrinfo' => $r );
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.krnic.php DELETED
@@ -1,112 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__KRNIC_HANDLER__'))
29
- define('__KRNIC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class krnic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $blocks = array(
38
- 'owner1' => '[ Organization Information ]',
39
- 'tech1' => '[ Technical Contact Information ]',
40
-
41
- 'owner2' => '[ ISP Organization Information ]',
42
- 'admin2' => '[ ISP IP Admin Contact Information ]',
43
- 'tech2' => '[ ISP IP Tech Contact Information ]',
44
-
45
- 'admin3' => '[ ISP IPv4 Admin Contact Information ]',
46
- 'tech3' => '[ ISP IPv4 Tech Contact Information ]',
47
-
48
- 'abuse' => '[ ISP Network Abuse Contact Information ]',
49
-
50
- 'network.inetnum' => 'IPv4 Address :',
51
- 'network.name' => 'Network Name :',
52
- 'network.mnt-by' => 'Connect ISP Name :',
53
- 'network.created' => 'Registration Date :'
54
- );
55
-
56
- $items = array(
57
- 'Orgnization ID :' => 'handle',
58
- 'Org Name :' => 'organization',
59
- 'Org Name :' => 'organization',
60
- 'Name :' => 'name',
61
- 'Name :' => 'name',
62
- 'Org Address :' => 'address.street',
63
- 'Zip Code :' => 'address.pcode',
64
- 'State :' => 'address.state',
65
- 'Address :' => 'address.street',
66
- 'Zip Code :' => 'address.pcode',
67
- 'Phone :' => 'phone',
68
- 'Phone :' => 'phone',
69
- 'Fax :' => 'fax',
70
- 'E-Mail :' => 'email',
71
- 'E-Mail :' => 'email'
72
- );
73
-
74
- $b = get_blocks($data_str, $blocks);
75
-
76
- if (isset($b['network']))
77
- $r['network'] = $b['network'];
78
-
79
- if (isset($b['owner1']))
80
- $r['owner'] = generic_parser_b($b['owner1'], $items, 'Ymd', false);
81
- else
82
- if (isset($b['owner2']))
83
- $r['owner'] = generic_parser_b($b['owner2'], $items, 'Ymd', false);
84
-
85
- if (isset($b['admin2']))
86
- $r['admin'] = generic_parser_b($b['admin2'], $items, 'Ymd', false);
87
- else
88
- if (isset($b['admin3']))
89
- $r['admin'] = generic_parser_b($b['admin3'], $items, 'Ymd', false);
90
-
91
- if (isset($b['tech1']))
92
- $r['tech'] = generic_parser_b($b['tech1'], $items, 'Ymd', false);
93
- else
94
- if (isset($b['tech2']))
95
- $r['tech'] = generic_parser_b($b['tech2'], $items, 'Ymd', false);
96
- else
97
- if (isset($b['tech3']))
98
- $r['tech'] = generic_parser_b($b['tech3'], $items, 'Ymd', false);
99
-
100
- if (isset($b['abuse']))
101
- $r['abuse'] = generic_parser_b($b['abuse'], $items, 'Ymd', false);
102
-
103
- $r = format_dates($r, 'Ymd');
104
-
105
- $r = array( 'regrinfo' => $r );
106
- $r['regyinfo']['type'] ='ip';
107
- $r['regyinfo']['registrar'] = 'Korean Network Information Centre';
108
-
109
- return $r;
110
- }
111
- }
112
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.lacnic.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__LACNIC_HANDLER__'))
31
- define('__LACNIC_HANDLER__', 1);
32
-
33
- class lacnic_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl-br' => 'handle',
41
- 'nic-hdl' => 'handle',
42
- 'person' => 'name',
43
- 'netname' => 'name',
44
- 'descr' => 'desc',
45
- 'country' => 'address.country'
46
- );
47
-
48
- $contacts = array(
49
- 'owner-c' => 'owner',
50
- 'tech-c' => 'tech',
51
- 'abuse-c' => 'abuse',
52
- 'admin-c' => 'admin'
53
- );
54
-
55
- $r = generic_parser_a($data_str, $translate, $contacts, 'network');
56
-
57
- unset($r['network']['owner']);
58
- unset($r['network']['ownerid']);
59
- unset($r['network']['responsible']);
60
- unset($r['network']['address']);
61
- unset($r['network']['phone']);
62
- unset($r['network']['aut-num']);
63
- unset($r['network']['nsstat']);
64
- unset($r['network']['nslastaa']);
65
- unset($r['network']['inetrev']);
66
-
67
- if (!empty($r['network']['aut-num']))
68
- $r['network']['handle'] = $r['network']['aut-num'];
69
-
70
- if (is_array($r['network']['nserver']))
71
- $r['network']['nserver'] = array_unique($r['network']['nserver']);
72
-
73
- $r = array( 'regrinfo' => $r );
74
- $r['regyinfo']['type'] ='ip';
75
- $r['regyinfo']['registrar'] = 'Latin American and Caribbean IP address Regional Registry';
76
- return $r;
77
- }
78
- }
79
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.lib.php DELETED
@@ -1,120 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- //-----------------------------------------------------------------
29
- // Check if ip adddress is valid
30
-
31
- function phpwhois_validip($ip)
32
- {
33
-
34
- if (empty($ip))
35
- return false;
36
-
37
- if ((ip2long($ip) == -1) or (ip2long($ip) === false))
38
- return false;
39
-
40
- $reserved_ips = array (
41
- array('0.0.0.0','2.255.255.255'),
42
- array('10.0.0.0','10.255.255.255'),
43
- array('127.0.0.0','127.255.255.255'),
44
- array('169.254.0.0','169.254.255.255'),
45
- array('172.16.0.0','172.31.255.255'),
46
- array('192.0.2.0','192.0.2.255'),
47
- array('192.168.0.0','192.168.255.255'),
48
- array('255.255.255.0','255.255.255.255')
49
- );
50
-
51
- foreach ($reserved_ips as $r)
52
- {
53
- $min = ip2long($r[0]);
54
- $max = ip2long($r[1]);
55
- if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
56
- }
57
-
58
- return true;
59
- }
60
-
61
- //-----------------------------------------------------------------
62
- // Get real client ip address
63
-
64
- function phpwhois_getclientip()
65
- {
66
- if (!empty($_SERVER['HTTP_CLIENT_IP']) && phpwhois_validip($_SERVER['HTTP_CLIENT_IP']))
67
- return $_SERVER['HTTP_CLIENT_IP'];
68
-
69
- if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
70
- foreach (explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']) as $ip)
71
- if (phpwhois_validip(trim($ip)))
72
- return $ip;
73
-
74
- if (!empty($_SERVER['HTTP_X_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_X_FORWARDED']))
75
- return $_SERVER['HTTP_X_FORWARDED'];
76
-
77
- if (!empty($_SERVER['HTTP_FORWARDED_FOR']) && phpwhois_validip($_SERVER['HTTP_FORWARDED_FOR']))
78
- return $_SERVER['HTTP_FORWARDED_FOR'];
79
-
80
- if (!empty($_SERVER['HTTP_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_FORWARDED']))
81
- return $_SERVER['HTTP_FORWARDED'];
82
-
83
- if (!empty($_SERVER['HTTP_X_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_X_FORWARDED']))
84
- return $_SERVER['HTTP_X_FORWARDED'];
85
-
86
- return $_SERVER['REMOTE_ADDR'];
87
- }
88
-
89
- //-----------------------------------------------------------------
90
- // Convert from CIDR to net range
91
-
92
- function phpwhois_cidr_conv($net)
93
- {
94
- $start = strtok($net, '/');
95
- $n = 3-substr_count($net, '.');
96
-
97
- if ($n > 0)
98
- {
99
- for ($i = $n; $i > 0; $i--)
100
- $start.= '.0';
101
- }
102
-
103
- $bits1 = str_pad(decbin(ip2long($start)), 32, '0', 'STR_PAD_LEFT');
104
- $net = pow(2, (32-substr(strstr($net, '/'), 1))) - 1;
105
- $bits2 = str_pad(decbin($net), 32, '0', 'STR_PAD_LEFT');
106
- $final = '';
107
-
108
- for ($i = 0; $i < 32; $i++)
109
- {
110
- if ($bits1[$i] == $bits2[$i])
111
- $final.= $bits1[$i];
112
- if ($bits1[$i] == 1 and $bits2[$i] == 0)
113
- $final.= $bits1[$i];
114
- if ($bits1[$i] == 0 and $bits2[$i] == 1)
115
- $final.= $bits2[$i];
116
- }
117
-
118
- return $start." - ".long2ip(bindec($final));
119
- }
120
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.php DELETED
@@ -1,285 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__IP_HANDLER__'))
29
- define('__IP_HANDLER__', 1);
30
-
31
- require_once('whois.ip.lib.php');
32
-
33
- class ip_handler extends WhoisClient
34
- {
35
- // Deep whois ?
36
- var $deep_whois = true;
37
-
38
- var $HANDLER_VERSION = '1.0';
39
-
40
- var $REGISTRARS = array(
41
- 'European Regional Internet Registry/RIPE NCC' => 'whois.ripe.net',
42
- 'RIPE Network Coordination Centre' => 'whois.ripe.net',
43
- 'Asia Pacific Network Information Center' => 'whois.apnic.net',
44
- 'Asia Pacific Network Information Centre' => 'whois.apnic.net',
45
- 'Latin American and Caribbean IP address Regional Registry' => 'whois.lacnic.net',
46
- 'African Network Information Center' => 'whois.afrinic.net'
47
- );
48
-
49
- var $HANDLERS = array(
50
- 'whois.krnic.net' => 'krnic',
51
- 'whois.apnic.net' => 'apnic',
52
- 'whois.ripe.net' => 'ripe',
53
- 'whois.arin.net' => 'arin',
54
- 'whois.lacnic.net' => 'lacnic',
55
- 'whois.afrinic.net' => 'afrinic'
56
- );
57
-
58
- var $more_data = array(); // More queries to get more accurated data
59
- var $done = array();
60
-
61
- function parse($data, $query)
62
- {
63
- $result['regrinfo'] = array();
64
- $result['regyinfo'] = array();
65
- $result['regyinfo']['registrar'] = 'American Registry for Internet Numbers (ARIN)';
66
- $result['rawdata'] = array();
67
-
68
- if (strpos($query,'.') === false)
69
- $result['regyinfo']['type'] = 'AS';
70
- else
71
- $result['regyinfo']['type'] = 'ip';
72
-
73
- if (!$this->deep_whois) return null;
74
-
75
- $this->Query = array();
76
- $this->Query['server'] = 'whois.arin.net';
77
- $this->Query['query'] = $query;
78
-
79
- $rawdata = $data['rawdata'];
80
-
81
- if (empty($rawdata)) return $result;
82
-
83
- $presults[] = $rawdata;
84
- $ip = ip2long($query);
85
- $done = array();
86
-
87
- while (count($presults) > 0)
88
- {
89
- $rwdata = array_shift($presults);
90
- $found = false;
91
-
92
- foreach($rwdata as $line)
93
- {
94
- if (!strncmp($line,'American Registry for Internet Numbers',38)) continue;
95
-
96
- $p = strpos($line, '(NETBLK-');
97
-
98
- if ($p === false) $p = strpos($line, '(NET-');
99
-
100
- if ($p !== false)
101
- {
102
- $net = strtok(substr($line,$p+1),') ');
103
- list($low,$high) = explode('-',str_replace(' ','',substr($line,$p+strlen($net)+3)));
104
-
105
- if (!isset($done[$net]) && $ip >= ip2long($low) && $ip <= ip2long($high))
106
- {
107
- $owner = substr($line,0,$p-1);
108
-
109
- if (!empty($this->REGISTRARS['owner']))
110
- {
111
- $this->handle_rwhois($this->REGISTRARS['owner'],$query);
112
- break 2;
113
- }
114
- else
115
- {
116
- $this->Query['args'] = 'n '.$net;
117
- $presults[] = $this->GetRawData($net);
118
- $done[$net] = 1;
119
- }
120
- }
121
- $found = true;
122
- }
123
- }
124
-
125
- if (!$found)
126
- {
127
- $this->Query['file'] = 'whois.ip.arin.php';
128
- $this->Query['handler'] = 'arin';
129
- $result = $this->parse_results($result,$rwdata,$query,true);
130
- }
131
- }
132
-
133
- unset($this->Query['args']);
134
-
135
- while (count($this->more_data) > 0)
136
- {
137
- $srv_data = array_shift($this->more_data);
138
- $this->Query['server'] = $srv_data['server'];
139
- unset($this->Query['handler']);
140
- // Use original query
141
- $rwdata = $this->GetRawData($srv_data['query']);
142
-
143
- if (!empty($rwdata))
144
- {
145
- if (!empty($srv_data['handler']))
146
- {
147
- $this->Query['handler'] = $srv_data['handler'];
148
-
149
- if (!empty($srv_data['file']))
150
- $this->Query['file'] = $srv_data['file'];
151
- else
152
- $this->Query['file'] = 'whois.'.$this->Query['handler'].'.php';
153
- }
154
-
155
- $result = $this->parse_results($result,$rwdata,$query,$srv_data['reset']);
156
- $result = $this->set_whois_info($result);
157
- $reset = false;
158
- }
159
- }
160
-
161
-
162
- // Normalize nameserver fields
163
-
164
- if (isset($result['regrinfo']['network']['nserver']))
165
- {
166
- if (!is_array($result['regrinfo']['network']['nserver']))
167
- {
168
- unset($result['regrinfo']['network']['nserver']);
169
- }
170
- else
171
- $result['regrinfo']['network']['nserver'] = $this->FixNameServer($result['regrinfo']['network']['nserver']);
172
- }
173
-
174
- return $result;
175
- }
176
-
177
- //-----------------------------------------------------------------
178
-
179
- function parse_results($result,$rwdata,$query,$reset)
180
- {
181
- $rwres = $this->Process($rwdata);
182
-
183
- if ($result['regyinfo']['type'] == 'AS' && !empty($rwres['regrinfo']['network']))
184
- {
185
- $rwres['regrinfo']['AS'] = $rwres['regrinfo']['network'];
186
- unset($rwres['regrinfo']['network']);
187
- }
188
-
189
- if ($reset)
190
- {
191
- $result['regrinfo'] = $rwres['regrinfo'];
192
- $result['rawdata'] = $rwdata;
193
- }
194
- else
195
- {
196
- $result['rawdata'][] = '';
197
-
198
- foreach ($rwdata as $line)
199
- $result['rawdata'][] = $line;
200
-
201
- foreach($rwres['regrinfo'] as $key => $data)
202
- {
203
- $result = $this->join_result($result,$key,$rwres);
204
- }
205
- }
206
-
207
- if ($this->deep_whois)
208
- {
209
- if (isset($rwres['regrinfo']['rwhois']))
210
- {
211
- $this->handle_rwhois($rwres['regrinfo']['rwhois'],$query);
212
- unset($result['regrinfo']['rwhois']);
213
- }
214
- else
215
- if (!@empty($rwres['regrinfo']['owner']['organization']))
216
- switch ($rwres['regrinfo']['owner']['organization'])
217
- {
218
- case 'KRNIC':
219
- $this->handle_rwhois('whois.krnic.net',$query);
220
- break;
221
-
222
- case 'African Network Information Center':
223
- $this->handle_rwhois('whois.afrinic.net',$query);
224
- break;
225
- }
226
- }
227
-
228
- if (!empty($rwres['regyinfo']))
229
- $result['regyinfo'] = array_merge($result['regyinfo'],$rwres['regyinfo']);
230
-
231
- return $result;
232
- }
233
-
234
- //-----------------------------------------------------------------
235
-
236
- function handle_rwhois($server,$query)
237
- {
238
- // Avoid querying the same server twice
239
-
240
- $parts = parse_url($server);
241
-
242
- if (empty($parts['host']))
243
- $host = $parts['path'];
244
- else
245
- $host = $parts['host'];
246
-
247
- if (array_key_exists($host,$this->done)) return;
248
-
249
- $q = array (
250
- 'query' => $query,
251
- 'server' => $server
252
- );
253
-
254
- if (isset($this->HANDLERS[$host]))
255
- {
256
- $q['handler'] = $this->HANDLERS[$host];
257
- $q['file'] = sprintf('whois.ip.%s.php', $q['handler']);
258
- $q['reset'] = true;
259
- }
260
- else
261
- {
262
- $q['handler'] = 'rwhois';
263
- $q['reset'] = false;
264
- unset($q['file']);
265
- }
266
-
267
- $this->more_data[] = $q;
268
- $this->done[$host] = 1;
269
- }
270
-
271
- //-----------------------------------------------------------------
272
-
273
- function join_result($result, $key, $newres)
274
- {
275
- if (isset($result['regrinfo'][$key]) && !array_key_exists(0,$result['regrinfo'][$key]))
276
- {
277
- $r = $result['regrinfo'][$key];
278
- $result['regrinfo'][$key] = array($r);
279
- }
280
-
281
- $result['regrinfo'][$key][] = $newres['regrinfo'][$key];
282
- return $result;
283
- }
284
- }
285
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ip.ripe.php DELETED
@@ -1,85 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__RIPE_HANDLER__'))
31
- define('__RIPE_HANDLER__', 1);
32
-
33
- class ripe_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'person' => 'name',
42
- 'netname' => 'name',
43
- 'descr' => 'desc'
44
- );
45
-
46
- $contacts = array(
47
- 'admin-c' => 'admin',
48
- 'tech-c' => 'tech'
49
- );
50
-
51
- if (!empty($data_str['rawdata'])) $data_str = $data_str['rawdata'];
52
-
53
- $r = generic_parser_a($data_str, $translate, $contacts, 'network');
54
-
55
- if (isset($r['network']['desc']))
56
- {
57
- $r['owner']['organization'] = $r['network']['desc'];
58
- unset($r['network']['desc']);
59
- }
60
-
61
- if (isset($r['admin']['abuse-mailbox']))
62
- {
63
- $r['abuse']['email'] = $r['admin']['abuse-mailbox'];
64
- unset($r['admin']['abuse-mailbox']);
65
- }
66
-
67
- if (isset($r['tech']['abuse-mailbox']))
68
- {
69
- $r['abuse']['email'] = $r['tech']['abuse-mailbox'];
70
- unset($r['tech']['abuse-mailbox']);
71
- }
72
-
73
- // Clean mess
74
- if (isset($r['tech']['tech-c'])) unset($r['tech']['tech-c']);
75
- if (isset($r['tech']['admin-c'])) unset($r['tech']['admin-c']);
76
- if (isset($r['admin']['tech-c'])) unset($r['admin']['tech-c']);
77
- if (isset($r['admin']['admin-c'])) unset($r['admin']['admin-c']);
78
-
79
- $r = array( 'regrinfo' => $r );
80
- $r['regyinfo']['type'] ='ip';
81
- $r['regyinfo']['registrar'] = 'RIPE Network Coordination Centre';
82
- return $r;
83
- }
84
- }
85
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ir.php DELETED
@@ -1,60 +0,0 @@
1
- <?php
2
- /**
3
- * PHPWhois IR Lookup Extension - http://github.com/sepehr/phpwhois-ir
4
- *
5
- * An extension to PHPWhois (http://phpwhois.org) library to support IR lookups.
6
- *
7
- * This program is free software: you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License as published by
9
- * the Free Software Foundation, either version 3 of the License, or
10
- * (at your option) any later version.
11
- *
12
- * This program is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- * GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU General Public License
18
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
19
- */
20
-
21
- // Define the handler flag.
22
- if (!defined('__IR_HANDLER__'))
23
- define('__IR_HANDLER__', 1);
24
-
25
- // Loadup the parser.
26
- require_once('whois.parser.php');
27
-
28
- /**
29
- * IR Domain names lookup handler class.
30
- */
31
- class ir_handler
32
- {
33
- function parse($data_str, $query)
34
- {
35
- $translate = array(
36
- 'nic-hdl' => 'handle',
37
- 'org' => 'organization',
38
- 'e-mail' => 'email',
39
- 'person' => 'name',
40
- 'fax-no' => 'fax',
41
- 'domain' => 'name'
42
- );
43
-
44
- $contacts = array(
45
- 'admin-c' => 'admin',
46
- 'tech-c' => 'tech',
47
- 'holder-c' => 'owner'
48
- );
49
-
50
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd');
51
-
52
- $r['regrinfo'] = $reg;
53
- $r['regyinfo'] = array(
54
- 'referrer'=>'http://whois.nic.ir/',
55
- 'registrar' => 'NIC-IR'
56
- );
57
- return $r;
58
- }
59
- }
60
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.is.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__IS_HANDLER__'))
29
- define('__IS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class is_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'fax-no' => 'fax',
39
- 'e-mail' => 'email',
40
- 'nic-hdl' => 'handle',
41
- 'person' => 'name'
42
- );
43
-
44
- $contacts = array(
45
- 'owner-c' => 'owner',
46
- 'admin-c' => 'admin',
47
- 'tech-c' => 'tech',
48
- 'billing-c' => 'billing',
49
- 'zone-c' => 'zone'
50
- );
51
-
52
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'mdy');
53
-
54
- if (isset($reg['domain']['descr']))
55
- {
56
- $reg['owner']['name'] = array_shift($reg['domain']['descr']);
57
- $reg['owner']['address'] = $reg['domain']['descr'];
58
- unset($reg['domain']['descr']);
59
- }
60
-
61
- $r['regrinfo'] = $reg;
62
- $r['regyinfo'] = array(
63
- 'referrer' => 'http://www.isnic.is',
64
- 'registrar' => 'ISNIC'
65
- );
66
- return $r;
67
- }
68
- }
69
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.it.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- /*
29
- BUG
30
- - nserver -> array
31
- - ContactID in address
32
- */
33
-
34
- if (!defined('__IT_HANDLER__'))
35
- define('__IT_HANDLER__', 1);
36
-
37
- require_once('whois.parser.php');
38
-
39
- class it_handler
40
- {
41
- function parse($data_str, $query)
42
- {
43
- $items = array(
44
- 'domain.name' => 'Domain:',
45
- 'domain.nserver' => 'Nameservers',
46
- 'domain.status' => 'Status:',
47
- 'domain.expires' => 'Expire Date:',
48
- 'owner' => 'Registrant',
49
- 'admin' => 'Admin Contact',
50
- 'tech' => 'Technical Contacts',
51
- 'registrar' => 'Registrar'
52
- );
53
-
54
- $extra = array(
55
- 'address:' => 'address.',
56
- 'contactid:' => 'handle',
57
- 'organization:' => 'organization',
58
- 'created:' => 'created',
59
- 'last update:' => 'changed',
60
- 'web:' => 'web'
61
- );
62
-
63
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd',$extra);
64
-
65
- if (isset($r['regrinfo']['registrar']))
66
- {
67
- $r['regrinfo']['domain']['registrar'] = $r['regrinfo']['registrar'];
68
- unset($r['regrinfo']['registrar']);
69
- }
70
-
71
- $r['regyinfo'] = array(
72
- 'registrar' => 'IT-Nic',
73
- 'referrer' => 'http://www.nic.it/'
74
- );
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.jp.php DELETED
@@ -1,111 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__JP_HANDLER__'))
29
- define('__JP_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class jp_handler extends WhoisClient
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- '[State]' => 'domain.status',
39
- '[Status]' => 'domain.status',
40
- '[Registered Date]' => 'domain.created',
41
- '[Created on]' => 'domain.created',
42
- '[Expires on]' => 'domain.expires',
43
- '[Last Updated]' => 'domain.changed',
44
- '[Last Update]' => 'domain.changed',
45
- '[Organization]' => 'owner.organization',
46
- '[Name]' => 'owner.name',
47
- '[Email]' => 'owner.email',
48
- '[Postal code]' => 'owner.address.pcode',
49
- '[Postal Address]' => 'owner.address.street',
50
- '[Phone]' => 'owner.phone',
51
- '[Fax]' => 'owner.fax',
52
- '[Administrative Contact]' => 'admin.handle',
53
- '[Technical Contact]' => 'tech.handle',
54
- '[Name Server]' => 'domain.nserver.'
55
- );
56
-
57
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd');
58
-
59
- $r['regyinfo'] = array(
60
- 'referrer' => 'http://www.jprs.jp',
61
- 'registrar' => 'Japan Registry Services'
62
- );
63
-
64
- if (!$this->deep_whois) return $r;
65
-
66
- $r['rawdata'] = $data_str['rawdata'];
67
-
68
- $items = array(
69
- 'a. [JPNIC Handle]' => 'handle',
70
- 'c. [Last, First]' => 'name',
71
- 'd. [E-Mail]' => 'email',
72
- 'g. [Organization]' => 'organization',
73
- 'o. [TEL]' => 'phone',
74
- 'p. [FAX]' => 'fax',
75
- '[Last Update]' => 'changed'
76
- );
77
-
78
- $this->Query['server'] = 'jp.whois-servers.net';
79
-
80
- if (!empty($r['regrinfo']['admin']['handle']))
81
- {
82
- $rwdata = $this->GetRawData('CONTACT '.$r['regrinfo']['admin']['handle'].'/e');
83
- $r['rawdata'][] = '';
84
- $r['rawdata'] = array_merge($r['rawdata'],$rwdata);
85
- $r['regrinfo']['admin'] = generic_parser_b($rwdata,$items,'ymd',false);
86
- $r = $this->set_whois_info($r);
87
- }
88
-
89
- if (!empty($r['regrinfo']['tech']['handle']))
90
- {
91
- if (!empty($r['regrinfo']['admin']['handle']) &&
92
- $r['regrinfo']['admin']['handle'] == $r['regrinfo']['tech']['handle'])
93
- {
94
- $r['regrinfo']['tech'] = $r['regrinfo']['admin'];
95
- }
96
- else
97
- {
98
- unset($this->Query);
99
- $this->Query['server'] = 'jp.whois-servers.net';
100
- $rwdata = $this->GetRawData('CONTACT '.$r['regrinfo']['tech']['handle'].'/e');
101
- $r['rawdata'][] = '';
102
- $r['rawdata'] = array_merge($r['rawdata'],$rwdata);
103
- $r['regrinfo']['tech'] = generic_parser_b($rwdata,$items,'ymd',false);
104
- $r = $this->set_whois_info($r);
105
- }
106
- }
107
-
108
- return $r;
109
- }
110
- }
111
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.lt.php DELETED
@@ -1,64 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__LT_HANDLER__'))
29
- define('__LT_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class lt_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'contact nic-hdl:' => 'handle',
39
- 'contact name:' => 'name'
40
- );
41
-
42
- $items = array(
43
- 'admin' => 'Contact type: Admin',
44
- 'tech' => 'Contact type: Tech',
45
- 'zone' => 'Contact type: Zone',
46
- 'owner.name' => 'Registrar:',
47
- 'owner.email' => 'Registrar email:',
48
- 'domain.status' => 'Status:',
49
- 'domain.created' => 'Registered:',
50
- 'domain.changed' => 'Last updated:',
51
- 'domain.nserver.' => 'NS:',
52
- '' => '%'
53
- );
54
-
55
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd', $translate);
56
-
57
- $r['regyinfo'] = array(
58
- 'referrer' => 'http://www.domreg.lt',
59
- 'registrar' => 'DOMREG.LT'
60
- );
61
- return $r;
62
- }
63
- }
64
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.lu.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__LU_HANDLER__'))
29
- define('__LU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class lu_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domainname:' => 'domain.name',
39
- 'domaintype:' => 'domain.status',
40
- 'nserver:' => 'domain.nserver.',
41
- 'registered:' => 'domain.created',
42
- 'source:' => 'domain.source',
43
- 'ownertype:' => 'owner.type',
44
- 'org-name:' => 'owner.organization',
45
- 'org-address:' => 'owner.address.',
46
- 'org-zipcode:' => 'owner.address.pcode',
47
- 'org-city:' => 'owner.address.city',
48
- 'org-country:' => 'owner.address.country',
49
- 'adm-name:' => 'admin.name',
50
- 'adm-address:' => 'admin.address.',
51
- 'adm-zipcode:' => 'admin.address.pcode',
52
- 'adm-city:' => 'admin.address.city',
53
- 'adm-country:' => 'admin.address.country',
54
- 'adm-email:' => 'admin.email',
55
- 'tec-name:' => 'tech.name',
56
- 'tec-address:' => 'tech.address.',
57
- 'tec-zipcode:' => 'tech.address.pcode',
58
- 'tec-city:' => 'tech.address.city',
59
- 'tec-country:' => 'tech.address.country',
60
- 'tec-email:' => 'tech.email',
61
- 'bil-name:' => 'billing.name',
62
- 'bil-address:' => 'billing.address.',
63
- 'bil-zipcode:' => 'billing.address.pcode',
64
- 'bil-city:' => 'billing.address.city',
65
- 'bil-country:' => 'billing.address.country',
66
- 'bil-email:' => 'billing.email'
67
- );
68
-
69
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy');
70
-
71
- $r['regyinfo'] = array(
72
- 'referrer' => 'http://www.dns.lu',
73
- 'registrar' => 'DNS-LU'
74
- );
75
- return $r;
76
- }
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ly.php DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__LY_HANDLER__'))
31
- define('__LY_HANDLER__', 1);
32
-
33
- class ly_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'domain.name' => 'Domain Name:',
42
- 'domain.status' => 'Domain Status:',
43
- 'domain.created' => 'Created:',
44
- 'domain.changed' => 'Updated:',
45
- 'domain.expires' => 'Expired:',
46
- 'domain.nserver' => 'Domain servers in listed order:'
47
- );
48
-
49
- $extra = array( 'zip/postal code:' => 'address.pcode' );
50
-
51
- $r['regrinfo'] = get_blocks($data_str['rawdata'], $items);
52
-
53
- if (!empty($r['regrinfo']['domain']['name']))
54
- {
55
- $r['regrinfo'] = get_contacts($r['regrinfo'],$extra);
56
- $r['regrinfo']['domain']['name'] = $r['regrinfo']['domain']['name'][0];
57
- $r['regrinfo']['registered'] = 'yes';
58
- }
59
- else
60
- {
61
- $r = '';
62
- $r['regrinfo']['registered'] = 'no';
63
- }
64
-
65
- $r['regyinfo'] = array(
66
- 'referrer' => 'http://www.nic.ly',
67
- 'registrar' => 'Libya ccTLD'
68
- );
69
- return $r;
70
- }
71
- }
72
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.main.php DELETED
@@ -1,327 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.client.php');
29
- require_once('whois.idna.php');
30
-
31
- class Whois extends WhoisClient
32
- {
33
- // Deep whois ?
34
- var $deep_whois = true;
35
-
36
- // Windows based ?
37
- var $windows = false;
38
-
39
- // Recursion allowed ?
40
- var $gtld_recurse = true;
41
-
42
- // Support for non-ICANN tld's
43
- var $non_icann = false;
44
-
45
- // Network Solutions registry server
46
- var $NSI_REGISTRY = 'whois.nsiregistry.net';
47
-
48
- /*
49
- * Constructor function
50
- */
51
- function Whois()
52
- {
53
- // Load DATA array
54
- @require('whois.servers.php');
55
-
56
- if ( ( substr( php_uname(), 0, 7 ) == 'Windows' ) )
57
- $this->windows = true;
58
- else
59
- $this->windows = false;
60
-
61
- // Set version
62
- $this->VERSION = sprintf("phpWhois v%s-%s", $this->CODE_VERSION, $this->DATA_VERSION);
63
- }
64
-
65
- /*
66
- * Use special whois server
67
- */
68
-
69
- function UseServer ($tld, $server)
70
- {
71
- $this->WHOIS_SPECIAL[$tld] = $server;
72
- }
73
-
74
- /*
75
- * Lookup query
76
- */
77
-
78
- function Lookup($query = '', $is_utf = true)
79
- {
80
- // start clean
81
- $this->Query = array( 'status' => '' );
82
-
83
- $query = trim($query);
84
-
85
- $IDN = new wordfence_idna_convert();
86
-
87
- if ($is_utf)
88
- $query = $IDN->encode($query);
89
- else
90
- $query = $IDN->encode(utf8_encode($query));
91
-
92
- // If domain to query was not set
93
- if (!isSet($query) || $query == '')
94
- {
95
- // Configure to use default whois server
96
- $this->Query['server'] = $this->NSI_REGISTRY;
97
- return ;
98
- }
99
-
100
- // Set domain to query in query array
101
-
102
- $this->Query['query'] = $domain = strtolower($query);
103
-
104
- // If query is an ip address do ip lookup
105
-
106
- if ($query == long2ip(ip2long($query)))
107
- {
108
- // IPv4 Prepare to do lookup via the 'ip' handler
109
- $ip = @gethostbyname($query);
110
-
111
- if (isset($this->WHOIS_SPECIAL['ip']))
112
- {
113
- $this->Query['server'] = $this->WHOIS_SPECIAL['ip'];
114
- $this->Query['args'] = $ip;
115
- }
116
- else
117
- {
118
- $this->Query['server'] = 'whois.arin.net';
119
- $this->Query['args'] = "n $ip";
120
- $this->Query['file'] = 'whois.ip.php';
121
- $this->Query['handler'] = 'ip';
122
- }
123
- $this->Query['host_ip'] = $ip;
124
- $this->Query['query'] = $ip;
125
- $this->Query['tld'] = 'ip';
126
- $this->Query['host_name'] = @gethostbyaddr($ip);
127
- return $this->GetData('',$this->deep_whois);
128
- }
129
-
130
- if (strpos($query, ':'))
131
- {
132
- // IPv6 AS Prepare to do lookup via the 'ip' handler
133
- $ip = @gethostbyname($query);
134
-
135
- if (isset($this->WHOIS_SPECIAL['ip']))
136
- {
137
- $this->Query['server'] = $this->WHOIS_SPECIAL['ip'];
138
- }
139
- else
140
- {
141
- $this->Query['server'] = 'whois.ripe.net';
142
- $this->Query['file'] = 'whois.ip.ripe.php';
143
- $this->Query['handler'] = 'ripe';
144
- }
145
- $this->Query['query'] = $ip;
146
- $this->Query['tld'] = 'ip';
147
- return $this->GetData('',$this->deep_whois);
148
- }
149
-
150
- if (!strpos($query, '.'))
151
- {
152
- // AS Prepare to do lookup via the 'ip' handler
153
- $ip = @gethostbyname($query);
154
- $this->Query['server'] = 'whois.arin.net';
155
- if (strtolower(substr($ip,0,2)) == 'as')
156
- $as = substr($ip,2);
157
- else
158
- $as = $ip;
159
- $this->Query['args'] = "a $as";
160
- $this->Query['file'] = 'whois.ip.php';
161
- $this->Query['handler'] = 'ip';
162
- $this->Query['query'] = $ip;
163
- $this->Query['tld'] = 'as';
164
- return $this->GetData('',$this->deep_whois);
165
- }
166
-
167
- // Build array of all possible tld's for that domain
168
-
169
- $tld = '';
170
- $server = '';
171
- $dp = explode('.', $domain);
172
- $np = count($dp)-1;
173
- $tldtests = array();
174
-
175
- for ($i = 0; $i < $np; $i++)
176
- {
177
- array_shift($dp);
178
- $tldtests[] = implode('.', $dp);
179
- }
180
-
181
- // Search the correct whois server
182
-
183
- if ($this->non_icann)
184
- $special_tlds = array_merge($this->WHOIS_SPECIAL,$this->WHOIS_NON_ICANN);
185
- else
186
- $special_tlds = $this->WHOIS_SPECIAL;
187
-
188
- foreach($tldtests as $tld)
189
- {
190
- // Test if we know in advance that no whois server is
191
- // available for this domain and that we can get the
192
- // data via http or whois request
193
-
194
- if (isset($special_tlds[$tld]))
195
- {
196
- $val = $special_tlds[$tld];
197
-
198
- if ($val == '') return $this->Unknown();
199
-
200
- $domain = substr($query, 0, - strlen($tld) - 1);
201
- $val = str_replace('{domain}', $domain, $val);
202
- $server = str_replace('{tld}', $tld, $val);
203
- break;
204
- }
205
- }
206
-
207
- if ($server == '')
208
- foreach($tldtests as $tld)
209
- {
210
- // Determine the top level domain, and it's whois server using
211
- // DNS lookups on 'whois-servers.net'.
212
- // Assumes a valid DNS response indicates a recognised tld (!?)
213
-
214
- $cname = $tld.'.whois-servers.net';
215
-
216
- if (gethostbyname($cname) == $cname) continue;
217
- $server = $tld.'.whois-servers.net';
218
- break;
219
- }
220
-
221
- if ($tld && $server)
222
- {
223
- // If found, set tld and whois server in query array
224
- $this->Query['server'] = $server;
225
- $this->Query['tld'] = $tld;
226
- $handler = '';
227
-
228
- foreach($tldtests as $htld)
229
- {
230
- // special handler exists for the tld ?
231
-
232
- if (isSet($this->DATA[$htld]))
233
- {
234
- $handler = $this->DATA[$htld];
235
- break;
236
- }
237
-
238
- // Regular handler exists for the tld ?
239
- if (($fp = @fopen('whois.'.$htld.'.php', 'r', 1)) and fclose($fp))
240
- {
241
- $handler = $htld;
242
- break;
243
- }
244
- }
245
-
246
- // If there is a handler set it
247
-
248
- if ($handler != '')
249
- {
250
- $this->Query['file'] = "whois.$handler.php";
251
- $this->Query['handler'] = $handler;
252
- }
253
-
254
- // Special parameters ?
255
-
256
- if (isset($this->WHOIS_PARAM[$server]))
257
- $this->Query['server'] = $this->Query['server'].'?'.str_replace('$',$domain,$this->WHOIS_PARAM[$server]);
258
-
259
- $result = $this->GetData('',$this->deep_whois);
260
- $this->Checkdns($result);
261
- return $result;
262
- }
263
-
264
- // If tld not known, and domain not in DNS, return error
265
- return $this->Unknown();
266
- }
267
-
268
- /* Unsupported domains */
269
-
270
- function Unknown()
271
- {
272
- unset($this->Query['server']);
273
- $this->Query['status'] = 'error';
274
- $result['rawdata'][] = $this->Query['errstr'][] = $this->Query['query'].' domain is not supported';
275
- $this->Checkdns($result);
276
- $this->FixResult($result, $this->Query['query']);
277
- return $result;
278
- }
279
-
280
- /* Get nameservers if missing */
281
-
282
- function Checkdns(&$result)
283
- {
284
- if ($this->deep_whois && empty($result['regrinfo']['domain']['nserver']) && function_exists('dns_get_record'))
285
- {
286
- $ns = @dns_get_record($this->Query['query'],DNS_NS);
287
- if (!is_array($ns)) return;
288
- $nserver = array();
289
- foreach($ns as $row) $nserver[] = $row['target'];
290
- if (count($nserver) > 0)
291
- $result['regrinfo']['domain']['nserver'] = $this->FixNameServer($nserver);
292
- }
293
- }
294
- /*
295
- * Fix and/or add name server information
296
- */
297
-
298
- function FixResult(&$result, $domain)
299
- {
300
- // Add usual fields
301
- $result['regrinfo']['domain']['name'] = $domain;
302
-
303
- // Check if nameservers exist
304
-
305
- if (!isset($result['regrinfo']['registered']))
306
- {
307
- if (function_exists('checkdnsrr') && checkdnsrr($domain, 'NS'))
308
- $result['regrinfo']['registered'] = 'yes';
309
- else
310
- $result['regrinfo']['registered'] = 'unknown';
311
- }
312
-
313
- // Normalize nameserver fields
314
-
315
- if (isset($result['regrinfo']['domain']['nserver']))
316
- {
317
- if (!is_array($result['regrinfo']['domain']['nserver']))
318
- {
319
- unset($result['regrinfo']['domain']['nserver']);
320
- }
321
- else
322
- $result['regrinfo']['domain']['nserver'] = $this->FixNameServer($result['regrinfo']['domain']['nserver']);
323
- }
324
- }
325
- }
326
-
327
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.me.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ME_HANDLER__'))
29
- define('__ME_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class me_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://domain.me',
40
- 'registrar' => 'doMEn'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.mobi.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__MOBI_HANDLER__'))
29
- define('__MOBI_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class mobi_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
-
39
- if (!strncmp($data_str['rawdata'][0], 'WHOIS LIMIT EXCEEDED', 20))
40
- $r['regrinfo']['registered'] = 'unknown';
41
-
42
- $r['regyinfo']['referrer'] = 'http://www.mtld.mobi/';
43
- $r['regyinfo']['registrar'] = 'Dot Mobi Registry';
44
- return $r;
45
- }
46
- }
47
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.museum.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__MUSEUM_HANDLER__'))
29
- define('__MUSEUM_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class museum_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://musedoma.museum',
40
- 'registrar' => 'Museum Domain Management Association'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.mx.php DELETED
@@ -1,70 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__MX_HANDLER__'))
29
- define('__MX_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class mx_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner' => 'Registrant:',
39
- 'admin' => 'Administrative Contact:',
40
- 'tech' => 'Technical Contact:',
41
- 'billing' => 'Billing Contact:',
42
- 'domain.nserver' => 'Name Servers:',
43
- 'domain.created' => 'Created On:',
44
- 'domain.expires' => 'Expiration Date:',
45
- 'domain.changed' => 'Last Updated On:',
46
- 'domain.sponsor' => 'Registrar:'
47
- );
48
-
49
- $extra = array(
50
- 'city:' => 'address.city',
51
- 'state:' => 'address.state',
52
- 'dns:' => '0'
53
- );
54
-
55
- $r['regrinfo'] = easy_parser($data_str['rawdata'],$items,'dmy',$extra);
56
-
57
- $r['regyinfo'] = array(
58
- 'registrar' => 'NIC Mexico',
59
- 'referrer' => 'http://www.nic.mx/'
60
- );
61
-
62
- if (empty($r['regrinfo']['domain']['created']))
63
- $r['regrinfo']['registered'] = 'no';
64
- else
65
- $r['regrinfo']['registered'] = 'yes';
66
-
67
- return $r;
68
- }
69
- }
70
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.name.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NAME_HANDLER__'))
29
- define('__NAME_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class name_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.nic.name/',
40
- 'registrar' => 'Global Name Registry'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.nl.php DELETED
@@ -1,88 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NL_HANDLER__'))
29
- define('__NL_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nl_handler
34
- {
35
- function parse($data, $query)
36
- {
37
- $items = array(
38
- 'domain.name' => 'Domain name:',
39
- 'domain.status' => 'Status:',
40
- 'domain.nserver' => 'Domain nameservers:',
41
- 'domain.created' => 'Date registered:',
42
- 'domain.changed' => 'Record last updated:',
43
- 'domain.sponsor' => 'Registrar:',
44
- 'admin' => 'Administrative contact:',
45
- 'tech' => 'Technical contact(s):'
46
- );
47
-
48
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
49
- $r['regyinfo']['referrer'] = 'http://www.domain-registry.nl';
50
- $r['regyinfo']['registrar'] = 'Stichting Internet Domeinregistratie NL';
51
-
52
- if (!isset($r['regrinfo']['domain']['status']))
53
- {
54
- $r['regrinfo']['registered'] = 'no';
55
- return $r;
56
- }
57
-
58
- if (isset($r['regrinfo']['tech']))
59
- $r['regrinfo']['tech'] = $this->get_contact($r['regrinfo']['tech']);
60
-
61
- if (isset($r['regrinfo']['zone']))
62
- $r['regrinfo']['zone'] = $this->get_contact($r['regrinfo']['zone']);
63
-
64
- if (isset($r['regrinfo']['admin']))
65
- $r['regrinfo']['admin'] = $this->get_contact($r['regrinfo']['admin']);
66
-
67
- if (isset($r['regrinfo']['owner']))
68
- $r['regrinfo']['owner'] = $this->get_contact($r['regrinfo']['owner']);
69
-
70
- $r['regrinfo']['registered'] = 'yes';
71
- format_dates($r,'dmy');
72
- return $r;
73
- }
74
-
75
- function get_contact($data)
76
- {
77
- $r = get_contact($data);
78
-
79
- if (isset($r['name']) && preg_match('/^[A-Z0-9]+-[A-Z0-9]+$/',$r['name']))
80
- {
81
- $r['handle'] = $r['name'];
82
- $r['name'] = array_shift ($r['address']);
83
- }
84
-
85
- return $r;
86
- }
87
- }
88
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.nu.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NU_HANDLER__'))
29
- define('__NU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nu_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'name' => 'Domain Name (UTF-8):',
39
- 'created' => 'Record created on',
40
- 'expires' => 'Record expires on',
41
- 'changed' => 'Record last updated on',
42
- 'status' => 'Record status:',
43
- 'handle' => 'Record ID:'
44
- );
45
-
46
- while (list($key, $val) = each($data_str['rawdata']))
47
- {
48
- $val = trim($val);
49
-
50
- if ($val != '')
51
- {
52
- if ($val == 'Domain servers in listed order:')
53
- {
54
- while (list($key, $val) = each($data_str['rawdata']))
55
- {
56
- $val = trim($val);
57
- if ($val == '')
58
- break;
59
- $r['regrinfo']['domain']['nserver'][] = $val;
60
- }
61
- break;
62
- }
63
-
64
- reset($items);
65
-
66
- while (list($field, $match) = each($items))
67
- if (strstr($val, $match))
68
- {
69
- $r['regrinfo']['domain'][$field] = trim(substr($val, strlen($match)));
70
- break;
71
- }
72
- }
73
- }
74
-
75
- if (isset($r['regrinfo']['domain']))
76
- $r['regrinfo']['registered'] = 'yes';
77
- else
78
- $r['regrinfo']['registered'] = 'no';
79
-
80
- $r['regyinfo'] = array(
81
- 'whois' => 'whois.nic.nu',
82
- 'referrer' => 'http://www.nunames.nu',
83
- 'registrar' => '.NU Domain, Ltd'
84
- );
85
-
86
- format_dates($r, 'dmy');
87
- return $r;
88
- }
89
- }
90
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.nz.php DELETED
@@ -1,102 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__NZ_HANDLER__'))
29
- define('__NZ_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class nz_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain_name:' => 'domain.name',
39
- 'query_status:' => 'domain.status',
40
- 'ns_name_01:' => 'domain.nserver.0',
41
- 'ns_name_02:' => 'domain.nserver.1',
42
- 'ns_name_03:' => 'domain.nserver.2',
43
- 'domain_dateregistered:' => 'domain.created',
44
- 'domain_datelastmodified:' => 'domain.changed',
45
- 'domain_datebilleduntil:' => 'domain.expires',
46
- 'registrar_name:' => 'domain.sponsor',
47
- 'registrant_contact_name:' => 'owner.name',
48
- 'registrant_contact_address1:' => 'owner.address.address.0',
49
- 'registrant_contact_address2:' => 'owner.address.address.1',
50
- 'registrant_contact_address3:' => 'owner.address.address.2',
51
- 'registrant_contact_postalcode:'=> 'owner.address.pcode',
52
- 'registrant_contact_city:' => 'owner.address.city',
53
- 'Registrant State/Province:' => 'owner.address.state',
54
- 'registrant_contact_country:' => 'owner.address.country',
55
- 'registrant_contact_phone:' => 'owner.phone',
56
- 'registrant_contact_fax:' => 'owner.fax',
57
- 'registrant_contact_email:' => 'owner.email',
58
- 'admin_contact_name:' => 'admin.name',
59
- 'admin_contact_address1:' => 'admin.address.address.0',
60
- 'admin_contact_address2:' => 'admin.address.address.1',
61
- 'admin_contact_address3:' => 'admin.address.address.2',
62
- 'admin_contact_postalcode:' => 'admin.address.pcode',
63
- 'admin_contact_city:' => 'admin.address.city',
64
- 'admin_contact_country:' => 'admin.address.country',
65
- 'admin_contact_phone:' => 'admin.phone',
66
- 'admin_contact_fax:' => 'admin.fax',
67
- 'admin_contact_email:' => 'admin.email',
68
- 'technical_contact_name:' => 'tech.name',
69
- 'technical_contact_address1:' => 'tech.address.address.0',
70
- 'technical_contact_address1:' => 'tech.address.address.1',
71
- 'technical_contact_address1:' => 'tech.address.address.2',
72
- 'technical_contact_postalcode:' => 'tech.address.pcode',
73
- 'technical_contact_city:' => 'tech.address.city',
74
- 'technical_contact_country:' => 'tech.address.country',
75
- 'technical_contact_phone:' => 'tech.phone',
76
- 'technical_contact_fax:' => 'tech.fax',
77
- 'technical_contact_email:' => 'tech.email'
78
- );
79
-
80
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items);
81
-
82
- if (!empty($r['regrinfo']['domain']['status']))
83
- $domain_status = substr($r['regrinfo']['domain']['status'],0,3);
84
- else
85
- $domain_status = '';
86
-
87
- if ($domain_status=='200')
88
- $r['regrinfo']['registered']='yes';
89
- elseif ($domain_status=='220')
90
- $r['regrinfo']['registered']='no';
91
- else
92
- $r['regrinfo']['registered']='unknown';
93
-
94
- if (!strncmp($data_str['rawdata'][0], 'WHOIS LIMIT EXCEEDED', 20))
95
- $r['regrinfo']['registered'] = 'unknown';
96
-
97
- $r['regyinfo']['referrer'] = 'http://www.dnc.org.nz';
98
- $r['regyinfo']['registrar'] = 'New Zealand Domain Name Registry Limited';
99
- return $r;
100
- }
101
- }
102
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.org.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ORG_HANDLER__'))
29
- define('__ORG_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class org_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
-
39
- if (!strncmp($data_str['rawdata'][0], 'WHOIS LIMIT EXCEEDED', 20))
40
- $r['regrinfo']['registered'] = 'unknown';
41
-
42
- $r['regyinfo']['referrer'] = 'http://www.pir.org/';
43
- $r['regyinfo']['registrar'] = 'Public Interest Registry';
44
- return $r;
45
- }
46
- }
47
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.org.za.php DELETED
@@ -1,64 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__ORG_ZA_HANDLER__'))
31
- define('__ORG_ZA_HANDLER__', 1);
32
-
33
- class org_za_handler
34
- {
35
- function parse($data, $query)
36
- {
37
- $items = array(
38
- 'domain.status' => 'Status:',
39
- 'domain.nserver' => 'Domain name servers in listed order:',
40
- 'domain.changed' => 'Record last updated on',
41
- 'owner' => 'rwhois search on',
42
- 'admin' => 'Administrative Contact:',
43
- 'tech' => 'Technical Contact:',
44
- 'billing' => 'Billing Contact:',
45
- '#' => 'Search Again'
46
- );
47
-
48
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
49
-
50
- if (isset($r['regrinfo']['domain']['status']))
51
- {
52
- $r['regrinfo']['registered'] = 'yes';
53
- $r['regrinfo']['domain']['handler'] = strtok(array_shift($r['regrinfo']['owner']),' ');
54
- $r['regrinfo'] = get_contacts($r['regrinfo']);
55
- }
56
- else
57
- $r['regrinfo']['registered'] = 'no';
58
-
59
- $r['regyinfo']['referrer'] = 'http://www.org.za';
60
- $r['regyinfo']['registrar'] = 'The ORG.ZA Domain';
61
- return $r;
62
- }
63
- }
64
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.parser.php DELETED
@@ -1,873 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- //-------------------------------------------------------------------------
29
-
30
- function generic_parser_a ($rawdata, $translate, $contacts, $main='domain', $dateformat='dmy')
31
- {
32
- $blocks = generic_parser_a_blocks($rawdata,$translate,$disclaimer);
33
-
34
- if (isset($disclaimer) && is_array($disclaimer))
35
- $ret['disclaimer']=$disclaimer;
36
-
37
- if (empty($blocks) || !is_array($blocks['main']))
38
- {
39
- $ret['registered']='no';
40
- return $ret;
41
- }
42
-
43
- $r = $blocks['main'];
44
- $ret['registered'] = 'yes';
45
-
46
- while (list($key,$val) = each($contacts))
47
- if (isset($r[$key]))
48
- {
49
- if (is_array($r[$key]))
50
- $blk = $r[$key][count($r[$key])-1];
51
- else
52
- $blk = $r[$key];
53
-
54
- $blk = strtoupper(strtok($blk,' '));
55
- if (isset($blocks[$blk])) $ret[$val] = $blocks[$blk];
56
- unset($r[$key]);
57
- }
58
-
59
- if ($main) $ret[$main] = $r;
60
-
61
- format_dates($ret,$dateformat);
62
- return $ret;
63
- }
64
-
65
- //-------------------------------------------------------------------------
66
-
67
- function generic_parser_a_blocks ($rawdata, $translate, &$disclaimer)
68
- {
69
- $r = array();
70
- $newblock = false;
71
- $hasdata = false;
72
- $block = array();
73
- $blocks = false;
74
- $gkey = 'main';
75
- $dend = false;
76
-
77
- while (list($key,$val)=each($rawdata))
78
- {
79
- $val=trim($val);
80
-
81
- if ($val != '' && ($val[0] == '%' || $val[0] == '#'))
82
- {
83
- if (!$dend) $disclaimer[]=trim(substr($val,1));
84
- continue;
85
- }
86
- if ($val=='')
87
- {
88
- $newblock = true;
89
- continue;
90
- }
91
- if ($newblock && $hasdata)
92
- {
93
- $blocks[$gkey] = $block;
94
- $block = array();
95
- $gkey = '';
96
- }
97
- $dend = true;
98
- $newblock = false;
99
- $k = trim(strtok($val,':'));
100
- $v = trim(substr(strstr($val,':'),1));
101
-
102
- if ($v == '') continue;
103
-
104
- $hasdata = true;
105
-
106
- if (isset($translate[$k]))
107
- {
108
- $k=$translate[$k];
109
- if ($k=='') continue;
110
- if (strstr($k,'.'))
111
- {
112
- eval("\$block".getvarname($k)."=\$v;");
113
- continue;
114
- }
115
- }
116
- else $k=strtolower($k);
117
-
118
- if ($k=='handle')
119
- {
120
- $v = strtok($v,' ');
121
- $gkey = strtoupper($v);
122
- }
123
-
124
- if (isset($block[$k]) && is_array($block[$k]))
125
- $block[$k][]=$v;
126
- else
127
- if (!isset($block[$k]) || $block[$k]=='')
128
- $block[$k]=$v;
129
- else
130
- {
131
- $x=$block[$k];
132
- unset($block[$k]);
133
- $block[$k][]=$x;
134
- $block[$k][]=$v;
135
- }
136
- }
137
-
138
- if ($hasdata) $blocks[$gkey]=$block;
139
-
140
- return $blocks;
141
- }
142
-
143
- //-------------------------------------------------------------------------
144
-
145
- function generic_parser_b ( $rawdata, $items = false, $dateformat='mdy', $hasreg=true, $scanall=false )
146
- {
147
- if (!$items)
148
- $items = array(
149
- 'Domain Name:' => 'domain.name',
150
- 'Domain ID:' => 'domain.handle',
151
- 'Sponsoring Registrar:' => 'domain.sponsor',
152
- 'Registrar ID:' => 'domain.sponsor',
153
- 'Domain Status:' => 'domain.status.',
154
- 'Status:' => 'domain.status.',
155
- 'Name Server:' => 'domain.nserver.',
156
- 'Nameservers:' => 'domain.nserver.',
157
- 'Maintainer:' => 'domain.referer',
158
-
159
- 'Domain Registration Date:' => 'domain.created',
160
- 'Domain Create Date:' => 'domain.created',
161
- 'Domain Expiration Date:' => 'domain.expires',
162
- 'Domain Last Updated Date:' => 'domain.changed',
163
- 'Creation Date:' => 'domain.created',
164
- 'Last Modification Date:' => 'domain.changed',
165
- 'Expiration Date:' => 'domain.expires',
166
- 'Created On:' => 'domain.created',
167
- 'Last Updated On:' => 'domain.changed',
168
- 'Expiration Date:' => 'domain.expires',
169
-
170
- 'Registrant ID:' => 'owner.handle',
171
- 'Registrant Name:' => 'owner.name',
172
- 'Registrant Organization:' => 'owner.organization',
173
- 'Registrant Address:' => 'owner.address.street.',
174
- 'Registrant Address1:' => 'owner.address.street.',
175
- 'Registrant Address2:' => 'owner.address.street.',
176
- 'Registrant Street:' => 'owner.address.street.',
177
- 'Registrant Street1:' => 'owner.address.street.',
178
- 'Registrant Street2:' => 'owner.address.street.',
179
- 'Registrant Street3:' => 'owner.address.street.',
180
- 'Registrant Postal Code:' => 'owner.address.pcode',
181
- 'Registrant City:' => 'owner.address.city',
182
- 'Registrant State/Province:' => 'owner.address.state',
183
- 'Registrant Country:' => 'owner.address.country',
184
- 'Registrant Country/Economy:' => 'owner.address.country',
185
- 'Registrant Phone Number:' => 'owner.phone',
186
- 'Registrant Phone:' => 'owner.phone',
187
- 'Registrant Facsimile Number:' => 'owner.fax',
188
- 'Registrant FAX:' => 'owner.fax',
189
- 'Registrant Email:' => 'owner.email',
190
- 'Registrant E-mail:' => 'owner.email',
191
-
192
- 'Administrative Contact ID:' => 'admin.handle',
193
- 'Administrative Contact Name:' => 'admin.name',
194
- 'Administrative Contact Organization:' => 'admin.organization',
195
- 'Administrative Contact Address:' => 'admin.address.street.',
196
- 'Administrative Contact Address1:' => 'admin.address.street.',
197
- 'Administrative Contact Address2:' => 'admin.address.street.',
198
- 'Administrative Contact Postal Code:' => 'admin.address.pcode',
199
- 'Administrative Contact City:' => 'admin.address.city',
200
- 'Administrative Contact State/Province:' => 'admin.address.state',
201
- 'Administrative Contact Country:' => 'admin.address.country',
202
- 'Administrative Contact Phone Number:' => 'admin.phone',
203
- 'Administrative Contact Email:' => 'admin.email',
204
- 'Administrative Contact Facsimile Number:' => 'admin.fax',
205
- 'Administrative Contact Tel:' => 'admin.phone',
206
- 'Administrative Contact Fax:' => 'admin.fax',
207
- 'Administrative ID:' => 'admin.handle',
208
- 'Administrative Name:' => 'admin.name',
209
- 'Administrative Organization:' => 'admin.organization',
210
- 'Administrative Address:' => 'admin.address.street.',
211
- 'Administrative Address1:' => 'admin.address.street.',
212
- 'Administrative Address2:' => 'admin.address.street.',
213
- 'Administrative Postal Code:' => 'admin.address.pcode',
214
- 'Administrative City:' => 'admin.address.city',
215
- 'Administrative State/Province:' => 'admin.address.state',
216
- 'Administrative Country/Economy:' => 'admin.address.country',
217
- 'Administrative Phone:' => 'admin.phone',
218
- 'Administrative E-mail:' => 'admin.email',
219
- 'Administrative Facsimile Number:' => 'admin.fax',
220
- 'Administrative Tel:' => 'admin.phone',
221
- 'Administrative FAX:' => 'admin.fax',
222
- 'Admin ID:' => 'admin.handle',
223
- 'Admin Name:' => 'admin.name',
224
- 'Admin Organization:' => 'admin.organization',
225
- 'Admin Street:' => 'admin.address.street.',
226
- 'Admin Street1:' => 'admin.address.street.',
227
- 'Admin Street2:' => 'admin.address.street.',
228
- 'Admin Street3:' => 'admin.address.street.',
229
- 'Admin Address:' => 'admin.address.street.',
230
- 'Admin Address2:' => 'admin.address.street.',
231
- 'Admin Address3:' => 'admin.address.street.',
232
- 'Admin City:' => 'admin.address.city',
233
- 'Admin State/Province:' => 'admin.address.state',
234
- 'Admin Postal Code:' => 'admin.address.pcode',
235
- 'Admin Country:' => 'admin.address.country',
236
- 'Admin Country/Economy:' => 'admin.address.country',
237
- 'Admin Phone:' => 'admin.phone',
238
- 'Admin FAX:' => 'admin.fax',
239
- 'Admin Email:' => 'admin.email',
240
- 'Admin E-mail:' => 'admin.email',
241
-
242
- 'Technical Contact ID:' => 'tech.handle',
243
- 'Technical Contact Name:' => 'tech.name',
244
- 'Technical Contact Organization:' => 'tech.organization',
245
- 'Technical Contact Address:' => 'tech.address.street.',
246
- 'Technical Contact Address1:' => 'tech.address.street.',
247
- 'Technical Contact Address2:' => 'tech.address.street.',
248
- 'Technical Contact Postal Code:' => 'tech.address.pcode',
249
- 'Technical Contact City:' => 'tech.address.city',
250
- 'Technical Contact State/Province:' => 'tech.address.state',
251
- 'Technical Contact Country:' => 'tech.address.country',
252
- 'Technical Contact Phone Number:' => 'tech.phone',
253
- 'Technical Contact Facsimile Number:' => 'tech.fax',
254
- 'Technical Contact Phone:' => 'tech.phone',
255
- 'Technical Contact Fax:' => 'tech.fax',
256
- 'Technical Contact Email:' => 'tech.email',
257
- 'Technical ID:' => 'tech.handle',
258
- 'Technical Name:' => 'tech.name',
259
- 'Technical Organization:' => 'tech.organization',
260
- 'Technical Address:' => 'tech.address.street.',
261
- 'Technical Address1:' => 'tech.address.street.',
262
- 'Technical Address2:' => 'tech.address.street.',
263
- 'Technical Postal Code:' => 'tech.address.pcode',
264
- 'Technical City:' => 'tech.address.city',
265
- 'Technical State/Province:' => 'tech.address.state',
266
- 'Technical Country/Economy:' => 'tech.address.country',
267
- 'Technical Phone Number:' => 'tech.phone',
268
- 'Technical Facsimile Number:' => 'tech.fax',
269
- 'Technical Phone:' => 'tech.phone',
270
- 'Technical Fax:' => 'tech.fax',
271
- 'Technical FAX:' => 'tech.fax',
272
- 'Technical E-mail:' => 'tech.email',
273
- 'Tech ID:' => 'tech.handle',
274
- 'Tech Name:' => 'tech.name',
275
- 'Tech Organization:' => 'tech.organization',
276
- 'Tech Address:' => 'tech.address.street.',
277
- 'Tech Address2:' => 'tech.address.street.',
278
- 'Tech Address3:' => 'tech.address.street.',
279
- 'Tech Street:' => 'tech.address.street.',
280
- 'Tech Street1:' => 'tech.address.street.',
281
- 'Tech Street2:' => 'tech.address.street.',
282
- 'Tech Street3:' => 'tech.address.street.',
283
- 'Tech City:' => 'tech.address.city',
284
- 'Tech Postal Code:' => 'tech.address.pcode',
285
- 'Tech State/Province:' => 'tech.address.state',
286
- 'Tech Country:' => 'tech.address.country',
287
- 'Tech Country/Economy:' => 'tech.address.country',
288
- 'Tech Phone:' => 'tech.phone',
289
- 'Tech FAX:' => 'tech.fax',
290
- 'Tech Email:' => 'tech.email',
291
- 'Tech E-mail:' => 'tech.email',
292
-
293
- 'Billing Contact ID:' => 'billing.handle',
294
- 'Billing Contact Name:' => 'billing.name',
295
- 'Billing Contact Organization:' => 'billing.organization',
296
- 'Billing Contact Address1:' => 'billing.address.street.',
297
- 'Billing Contact Address2:' => 'billing.address.street.',
298
- 'Billing Contact Postal Code:' => 'billing.address.pcode',
299
- 'Billing Contact City:' => 'billing.address.city',
300
- 'Billing Contact State/Province:' => 'billing.address.state',
301
- 'Billing Contact Country:' => 'billing.address.country',
302
- 'Billing Contact Phone Number:' => 'billing.phone',
303
- 'Billing Contact Facsimile Number:' => 'billing.fax',
304
- 'Billing Contact Email:' => 'billing.email',
305
- 'Billing ID:' => 'billing.handle',
306
- 'Billing Name:' => 'billing.name',
307
- 'Billing Organization:' => 'billing.organization',
308
- 'Billing Address:' => 'billing.address.street.',
309
- 'Billing Address1:' => 'billing.address.street.',
310
- 'Billing Address2:' => 'billing.address.street.',
311
- 'Billing Address3:' => 'billing.address.street.',
312
- 'Billing Street:' => 'billing.address.street.',
313
- 'Billing Street1:' => 'billing.address.street.',
314
- 'Billing Street2:' => 'billing.address.street.',
315
- 'Billing Street3:' => 'billing.address.street.',
316
- 'Billing City:' => 'billing.address.city',
317
- 'Billing Postal Code:' => 'billing.address.pcode',
318
- 'Billing State/Province:' => 'billing.address.state',
319
- 'Billing Country:' => 'billing.address.country',
320
- 'Billing Country/Economy:' => 'billing.address.country',
321
- 'Billing Phone:' => 'billing.phone',
322
- 'Billing Fax:' => 'billing.fax',
323
- 'Billing FAX:' => 'billing.fax',
324
- 'Billing Email:' => 'billing.email',
325
- 'Billing E-mail:' => 'billing.email',
326
-
327
- 'Zone ID:' => 'zone.handle',
328
- 'Zone Organization:' => 'zone.organization',
329
- 'Zone Name:' => 'zone.name',
330
- 'Zone Address:' => 'zone.address.street.',
331
- 'Zone Address 2:' => 'zone.address.street.',
332
- 'Zone City:' => 'zone.address.city',
333
- 'Zone State/Province:' => 'zone.address.state',
334
- 'Zone Postal Code:' => 'zone.address.pcode',
335
- 'Zone Country:' => 'zone.address.country',
336
- 'Zone Phone Number:' => 'zone.phone',
337
- 'Zone Fax Number:' => 'zone.fax',
338
- 'Zone Email:' => 'zone.email'
339
- );
340
-
341
- $r = '';
342
- $disok = true;
343
-
344
- while (list($key,$val) = each($rawdata))
345
- {
346
- if (trim($val) != '')
347
- {
348
- if (($val[0]=='%' || $val[0]=='#') && $disok)
349
- {
350
- $r['disclaimer'][] = trim(substr($val,1));
351
- $disok = true;
352
- continue;
353
- }
354
-
355
- $disok = false;
356
- reset($items);
357
-
358
- while (list($match, $field)=each($items))
359
- {
360
- $pos = strpos($val,$match);
361
-
362
- if ($pos !== false)
363
- {
364
- if ($field != '')
365
- {
366
- $var = '$r'.getvarname($field);
367
- $itm = trim(substr($val,$pos+strlen($match)));
368
-
369
- if ($itm!='')
370
- eval($var.'="'.str_replace('"','\"',$itm).'";');
371
- }
372
-
373
- if (!$scanall)
374
- break;
375
- }
376
- }
377
- }
378
- }
379
-
380
- if (empty($r))
381
- {
382
- if ($hasreg) $r['registered'] = 'no';
383
- }
384
- else
385
- {
386
- if ($hasreg) $r['registered'] = 'yes';
387
-
388
- $r = format_dates($r, $dateformat);
389
- }
390
-
391
- return $r;
392
- }
393
-
394
- //-------------------------------------------------------------------------
395
-
396
- function getvarname ( $vdef )
397
- {
398
- $parts = explode('.',$vdef);
399
- $var = '';
400
-
401
- foreach($parts as $mn)
402
- if ($mn == '') $var = $var.'[]';
403
- else $var = $var.'["'.$mn.'"]';
404
-
405
- return $var;
406
- }
407
-
408
- //-------------------------------------------------------------------------
409
-
410
- function get_blocks ( $rawdata, $items, $partial_match = false, $def_block = false )
411
- {
412
-
413
- $r = array();
414
- $endtag = '';
415
-
416
- while (list($key,$val) = each($rawdata))
417
- {
418
- $val = trim($val);
419
- if ($val == '') continue;
420
-
421
- $var = $found = false;
422
-
423
- foreach ($items as $field => $match)
424
- {
425
- $pos = strpos($val,$match);
426
-
427
- if ($field != '' && $pos !== false)
428
- {
429
- if ($val == $match)
430
- {
431
- $found = true;
432
- $endtag = '';
433
- $line = $val;
434
- break;
435
- }
436
-
437
- $last = substr($val,-1,1);
438
-
439
- if ($last == ':' || $last == '-' || $last == ']')
440
- {
441
- $found = true;
442
- $endtag = $last;
443
- $line = $val;
444
- }
445
- else
446
- {
447
- $var = getvarname(strtok($field,'#'));
448
- $itm = trim(substr($val,$pos+strlen($match)));
449
- eval('$r'.$var.'=$itm;');
450
- }
451
-
452
- break;
453
- }
454
- }
455
-
456
- if (!$found)
457
- {
458
- if (!$var && $def_block) $r[$def_block][] = $val;
459
- continue;
460
- }
461
-
462
- $block = array();
463
-
464
- // Block found, get data ...
465
-
466
- while (list($key,$val) = each($rawdata))
467
- {
468
- $val = trim($val);
469
-
470
- if ($val == '' || $val == str_repeat($val[0],strlen($val))) continue;
471
-
472
- $last = substr($val,-1,1);
473
- /*
474
- if ($last == $endtag)
475
- {
476
- // Another block found
477
- prev($rawdata);
478
- break;
479
- }
480
-
481
- if ($endtag == '' || $partial_match)
482
- */
483
- if ($endtag == '' || $partial_match || $last == $endtag)
484
- {
485
- //Check if this line starts another block
486
- $et = false;
487
-
488
- foreach ($items as $field => $match)
489
- {
490
- $pos = strpos($val,$match);
491
-
492
- if ($pos !== false && $pos == 0)
493
- {
494
- $et = true;
495
- break;
496
- }
497
- }
498
-
499
- if ($et)
500
- {
501
- // Another block found
502
- prev($rawdata);
503
- break;
504
- }
505
- }
506
-
507
- $block[] = $val;
508
- }
509
-
510
- if (empty($block)) continue;
511
-
512
- foreach ($items as $field => $match)
513
- {
514
- $pos = strpos($line,$match);
515
-
516
- if ($pos !== false)
517
- {
518
- $var = getvarname(strtok($field,'#'));
519
- if ($var != '[]') eval('$r'.$var.'=$block;');
520
- }
521
- }
522
- }
523
-
524
- return $r;
525
- }
526
-
527
- //-------------------------------------------------------------------------
528
-
529
- function easy_parser($data_str, $items, $date_format, $translate = false ,
530
- $has_org = false, $partial_match = false,
531
- $def_block = false )
532
- {
533
- $r = get_blocks($data_str, $items, $partial_match, $def_block);
534
- $r = get_contacts($r, $translate, $has_org);
535
- format_dates($r, $date_format);
536
- return $r;
537
- }
538
-
539
- //-------------------------------------------------------------------------
540
-
541
- function get_contacts ( $array, $extra_items='', $has_org= false )
542
- {
543
- if (isset($array['billing']))
544
- $array['billing'] = get_contact($array['billing'], $extra_items, $has_org);
545
-
546
- if (isset($array['tech']))
547
- $array['tech'] = get_contact($array['tech'], $extra_items, $has_org);
548
-
549
- if (isset($array['zone']))
550
- $array['zone'] = get_contact($array['zone'], $extra_items, $has_org);
551
-
552
- if (isset($array['admin']))
553
- $array['admin'] = get_contact($array['admin'], $extra_items, $has_org);
554
-
555
- if (isset($array['owner']))
556
- $array['owner'] = get_contact($array['owner'], $extra_items, $has_org);
557
-
558
- if (isset($array['registrar']))
559
- $array['registrar'] = get_contact($array['registrar'], $extra_items, $has_org);
560
-
561
- return $array;
562
- }
563
-
564
- //-------------------------------------------------------------------------
565
-
566
- function get_contact ( $array, $extra_items='', $has_org= false )
567
- {
568
-
569
- if (!is_array($array))
570
- return array();
571
-
572
- $items = array (
573
- 'fax..:' => 'fax',
574
- 'fax.' => 'fax',
575
- 'fax-no:' => 'fax',
576
- 'fax -' => 'fax',
577
- 'fax-' => 'fax',
578
- 'fax::' => 'fax',
579
- 'fax:' => 'fax',
580
- '[fax]' => 'fax',
581
- '(fax)' => 'fax',
582
- 'fax' => 'fax',
583
- 'tel. ' => 'phone',
584
- 'tel:' => 'phone',
585
- 'phone::' => 'phone',
586
- 'phone:' => 'phone',
587
- 'phone-' => 'phone',
588
- 'phone -' => 'phone',
589
- 'email:' => 'email',
590
- 'e-mail:' => 'email',
591
- 'company name:' => 'organization',
592
- 'organisation:' => 'organization',
593
- 'first name:' => 'name.first',
594
- 'last name:' => 'name.last',
595
- 'street:' => 'address.street',
596
- 'address:' => 'address.street.',
597
- 'language:' => '',
598
- 'location:' => 'address.city',
599
- 'country:' => 'address.country',
600
- 'name:' => 'name',
601
- 'last modified:' => 'changed'
602
- );
603
-
604
- if ($extra_items)
605
- {
606
- foreach($items as $match => $field)
607
- if (!isset($extra_items[$match]))
608
- $extra_items[$match] = $field;
609
- $items = $extra_items;
610
- }
611
-
612
- while (list($key,$val)=each($array))
613
- {
614
- $ok=true;
615
-
616
- while ($ok)
617
- {
618
- reset($items);
619
- $ok = false;
620
-
621
- while (list($match,$field) = each($items))
622
- {
623
- $pos = strpos(strtolower($val),$match);
624
-
625
- if ($pos === false) continue;
626
-
627
- $itm = trim(substr($val,$pos+strlen($match)));
628
-
629
- if ($field != '' && $itm != '')
630
- {
631
- eval('$r'.getvarname($field).'=$itm;');
632
- }
633
-
634
- $val = trim(substr($val,0,$pos));
635
-
636
- if ($val == '')
637
- {
638
- unset($array[$key]);
639
- break;
640
- }
641
- else
642
- {
643
- $array[$key] = $val;
644
- $ok = true;
645
- }
646
- //break;
647
- }
648
-
649
- if (preg_match("/([+]*[-\(\)\. x0-9]){7,}/", $val, $matches))
650
- {
651
- $phone = trim(str_replace(' ','',$matches[0]));
652
-
653
- if (strlen($phone) > 8 && !preg_match('/[0-9]{5}\-[0-9]{3}/',$phone))
654
- {
655
- if (isset($r['phone']))
656
- {
657
- if (isset($r['fax'])) continue;
658
- $r['fax'] = trim($matches[0]);
659
- }
660
- else
661
- {
662
- $r['phone'] = trim($matches[0]);
663
- }
664
-
665
- $val = str_replace($matches[0],'',$val);
666
-
667
- if ($val == '')
668
- {
669
- unset($array[$key]);
670
- continue;
671
- }
672
- else
673
- {
674
- $array[$key] = $val;
675
- $ok = true;
676
- }
677
- }
678
- }
679
-
680
- if (preg_match('/([-0-9a-zA-Z._+&\/=]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6})/',$val, $matches))
681
- {
682
- $r['email'] = $matches[0];
683
-
684
- $val = str_replace($matches[0],'',$val);
685
- $val = trim(str_replace('()','',$val));
686
-
687
- if ($val == '')
688
- {
689
- unset($array[$key]);
690
- continue;
691
- }
692
- else
693
- {
694
- if (!isset($r['name']))
695
- {
696
- $r['name'] = $val;
697
- unset($array[$key]);
698
- }
699
- else
700
- $array[$key] = $val;
701
-
702
- $ok = true;
703
- }
704
- }
705
- }
706
- }
707
-
708
- if (!isset($r['name']) && count($array)>0)
709
- {
710
- $r['name'] = array_shift($array);
711
- }
712
-
713
- if ($has_org && count($array)>0)
714
- {
715
- $r['organization'] = array_shift($array);
716
- }
717
-
718
- if (isset($r['name']) && is_array($r['name']))
719
- {
720
- $r['name'] = implode($r['name'],' ');
721
- }
722
-
723
- if (!empty($array))
724
- {
725
- if (isset($r['address']))
726
- $r['address'] = array_merge($r['address'],$array);
727
- else
728
- $r['address'] = $array;
729
- }
730
-
731
- return $r;
732
- }
733
-
734
- //-------------------------------------------------------------------------
735
-
736
- function format_dates (&$res,$format='mdy')
737
- {
738
- if (!is_array($res)) return $res;
739
-
740
- foreach ($res as $key => $val)
741
- {
742
- if (is_array($val))
743
- {
744
- if (!is_numeric($key) && ($key=='expires' || $key=='created' || $key=='changed'))
745
- {
746
- $d = get_date($val[0],$format);
747
- if ($d) $res[$key] = $d;
748
- }
749
- else
750
- {
751
- $res[$key] = format_dates($val,$format);
752
- }
753
- }
754
- else
755
- {
756
- if (!is_numeric($key) && ($key=='expires' || $key=='created' || $key=='changed'))
757
- {
758
- $d = get_date($val,$format);
759
- if ($d) $res[$key] = $d;
760
- }
761
- }
762
- }
763
-
764
- return $res;
765
- }
766
-
767
- //-------------------------------------------------------------------------
768
-
769
- function get_date($date,$format)
770
- {
771
- $months = array( 'jan'=>1, 'ene'=>1, 'feb'=>2, 'mar'=>3, 'apr'=>4, 'abr'=>4,
772
- 'may'=>5, 'jun'=>6, 'jul'=>7, 'aug'=>8, 'ago'=>8, 'sep'=>9,
773
- 'oct'=>10, 'nov'=>11, 'dec'=>12, 'dic'=>12 );
774
-
775
- $parts = explode(' ',$date);
776
-
777
- if (strpos($parts[0],'@') !== false)
778
- {
779
- unset($parts[0]);
780
- $date = implode(' ',$parts);
781
- }
782
-
783
- $date = str_replace(',',' ',trim($date));
784
- $date = str_replace('.',' ',$date);
785
- $date = str_replace('-',' ',$date);
786
- $date = str_replace('/',' ',$date);
787
- $date = str_replace("\t",' ',$date);
788
-
789
- $parts = explode(' ',$date);
790
- $res = false;
791
-
792
- if ((strlen($parts[0]) == 8 || count($parts) == 1) && is_numeric($parts[0]))
793
- {
794
- $val = $parts[0];
795
- for ($p=$i=0; $i<3; $i++)
796
- {
797
- if ($format[$i] != 'Y')
798
- {
799
- $res[$format[$i]] = substr($val,$p,2);
800
- $p += 2;
801
- }
802
- else
803
- {
804
- $res['y'] = substr($val,$p,4);
805
- $p += 4;
806
- }
807
- }
808
- }
809
- else
810
- {
811
- $format = strtolower($format);
812
-
813
- for ($p=$i=0; $p<count($parts) && $i<strlen($format); $p++)
814
- {
815
- if (trim($parts[$p]) == '')
816
- continue;
817
-
818
- if ($format[$i] != '-')
819
- {
820
- $res[$format[$i]] = $parts[$p];
821
- }
822
- $i++;
823
- }
824
- }
825
-
826
- if (!$res) return $date;
827
-
828
- $ok = false;
829
-
830
- while (!$ok)
831
- {
832
- reset($res);
833
- $ok = true;
834
-
835
- while (list($key, $val) = each($res))
836
- {
837
- if ($val == '' || $key == '') continue;
838
-
839
- if (!is_numeric($val) && isset($months[substr(strtolower($val),0,3)]))
840
- {
841
- $res[$key] = $res['m'];
842
- $res['m'] = $months[substr(strtolower($val),0,3)];
843
- $ok = false;
844
- break;
845
- }
846
-
847
- if ($key != 'y' && $key != 'Y' && $val > 1900)
848
- {
849
- $res[$key] = $res['y'];
850
- $res['y'] = $val;
851
- $ok = false;
852
- break;
853
- }
854
- }
855
- }
856
-
857
- if ($res['m'] > 12)
858
- {
859
- $v = $res['m'];
860
- $res['m'] = $res['d'];
861
- $res['d'] = $v;
862
- }
863
-
864
- if ($res['y'] < 70)
865
- $res['y'] += 2000;
866
- else
867
- if ($res['y'] <= 99)
868
- $res['y'] += 1900;
869
-
870
- return sprintf("%.4d-%02d-%02d",$res['y'],$res['m'],$res['d']);
871
- }
872
-
873
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.pl.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__PL_HANDLER__'))
29
- define('__PL_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class pl_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain.created' => 'created:',
39
- 'domain.changed' => 'last modified:',
40
- 'domain.sponsor' => 'REGISTRAR:',
41
- '#' => 'WHOIS displays data with a delay not exceeding 15 minutes in relation to the .pl Registry system'
42
-
43
- );
44
-
45
- $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd');
46
-
47
- $r['regyinfo'] = array(
48
- 'referrer' => 'http://www.dns.pl/english/index.html',
49
- 'registrar' => 'NASK'
50
- );
51
- return $r;
52
- }
53
- }
54
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.pro.php DELETED
@@ -1,43 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- require_once('whois.parser.php');
29
-
30
- if (!defined('__PRO_HANDLER__'))
31
- define('__PRO_HANDLER__', 1);
32
-
33
- class pro_handler
34
- {
35
- function parse($data, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data['rawdata']);
38
- $r['regyinfo']['referrer'] = 'http://www.registrypro.pro';
39
- $r['regyinfo']['registrar'] = 'RegistryPRO';
40
- return $r;
41
- }
42
- }
43
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.pt.php DELETED
@@ -1,81 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- /* TODO:
29
- - whois - converter para http://domaininfo.com/idn_conversion.asp punnycode antes de efectuar a pesquisa
30
- - o punnycode deveria fazer parte dos resultados fazer parte dos resultados!
31
- */
32
-
33
- if (!defined('__PT_HANDLER__'))
34
- define('__PT_HANDLER__', 1);
35
-
36
- require_once('whois.parser.php');
37
-
38
- class pt_handler
39
- {
40
- function parse($data, $query)
41
- {
42
- $items = array(
43
- 'domain.name' => ' / Domain Name:',
44
- 'domain.created' => 'Data de registo / Creation Date (dd/mm/yyyy):',
45
- 'domain.nserver.' => 'Nameserver:',
46
- 'domain.status' => 'Estado / Status:',
47
- 'owner' => 'Titular / Registrant',
48
- 'billing' => 'Entidade Gestora / Billing Contact',
49
- 'admin' => 'Respons�vel Administrativo / Admin Contact',
50
- 'tech' => 'Respons�vel T�cnico / Tech Contact',
51
- '#' => 'Nameserver Information'
52
- );
53
-
54
- $r['regrinfo'] = get_blocks($data['rawdata'], $items);
55
-
56
- if (empty($r['regrinfo']['domain']['name']))
57
- {
58
- print_r($r['regrinfo']);
59
- $r['regrinfo']['registered'] = 'no';
60
- return $r;
61
- }
62
-
63
- $r['regrinfo']['domain']['created'] = get_date($r['regrinfo']['domain']['created'], 'dmy');
64
-
65
- if ($r['regrinfo']['domain']['status'] == 'ACTIVE')
66
- {
67
- $r['regrinfo'] = get_contacts($r['regrinfo']);
68
- $r['regrinfo']['registered'] = 'yes';
69
- }
70
- else
71
- $r['regrinfo']['registered'] = 'no';
72
-
73
- $r['regyinfo'] = array(
74
- 'referrer' => 'http://www.fccn.pt',
75
- 'registrar' => 'FCCN'
76
- );
77
-
78
- return $r;
79
- }
80
- }
81
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ro.php DELETED
@@ -1,99 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- /*
29
- BUG
30
- - date on ro could be given as "mail date" (ex: updated field)
31
- - multiple person for one role, ex: news.ro
32
- - seems the only role listed is registrant
33
- */
34
-
35
- if (!defined('__RO_HANDLER__'))
36
- define('__RO_HANDLER__', 1);
37
-
38
- require_once('whois.parser.php');
39
-
40
- class ro_handler
41
- {
42
- function parse($data_str, $query)
43
- {
44
- $translate = array(
45
- 'fax-no' => 'fax',
46
- 'e-mail' => 'email',
47
- 'nic-hdl' => 'handle',
48
- 'person' => 'name',
49
- 'address' => 'address.',
50
- 'domain-name' => '',
51
- 'updated' => 'changed',
52
- 'registration-date' => 'created',
53
- 'domain-status' => 'status',
54
- 'nameserver' => 'nserver'
55
- );
56
-
57
- $contacts = array(
58
- 'admin-contact' => 'admin',
59
- 'technical-contact' => 'tech',
60
- 'zone-contact' => 'zone',
61
- 'billing-contact' => 'billing'
62
- );
63
-
64
- $extra = array(
65
- 'postal code:' => 'address.pcode'
66
- );
67
-
68
- $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain','Ymd');
69
-
70
- if (isset($reg['domain']['description']))
71
- {
72
- $reg['owner'] = get_contact($reg['domain']['description'],$extra);
73
- unset($reg['domain']['description']);
74
-
75
- foreach($reg as $key => $item)
76
- {
77
- if (isset($item['address']))
78
- {
79
- $data = $item['address'];
80
- unset($reg[$key]['address']);
81
- $reg[$key] = array_merge($reg[$key],get_contact($data,$extra));
82
- }
83
- }
84
-
85
- $reg['registered'] = 'yes';
86
- }
87
- else
88
- $reg['registered'] = 'no';
89
-
90
- $r['regrinfo'] = $reg;
91
- $r['regyinfo'] = array(
92
- 'referrer' => 'http://www.nic.ro',
93
- 'registrar' => 'nic.ro'
94
- );
95
-
96
- return $r;
97
- }
98
- }
99
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ru.php DELETED
@@ -1,63 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__RU_HANDLER__'))
29
- define('__RU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ru_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain:' => 'domain.name',
39
- 'state:' => 'domain.status',
40
- 'nserver:' => 'domain.nserver.',
41
- 'source:' => 'domain.source',
42
- 'created:' => 'domain.created',
43
- 'paid-till:' => 'domain.expires',
44
- 'type:' => 'owner.type',
45
- 'org:' => 'owner.organization',
46
- 'phone:' => 'owner.phone',
47
- 'fax-no:' => 'owner.fax',
48
- 'email:' => 'admin.email'
49
- );
50
-
51
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy');
52
-
53
- if (empty($r['regrinfo']['domain']['status']))
54
- $r['regrinfo']['registered'] = 'no';
55
-
56
- $r['regyinfo'] = array(
57
- 'referrer' => 'http://www.ripn.net',
58
- 'registrar' => 'RUCENTER-REG-RIPN'
59
- );
60
- return $r;
61
- }
62
- }
63
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.rwhois.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__RWHOIS_HANDLER__'))
29
- define('__RWHOIS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class rwhois_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'network:Organization-Name:' => 'owner.name',
39
- 'network:Organization;I:' => 'owner.organization',
40
- 'network:Organization-City:' => 'owner.address.city',
41
- 'network:Organization-Zip:' => 'owner.address.pcode',
42
- 'network:Organization-Country:' => 'owner.address.country',
43
- 'network:IP-Network-Block:' => 'network.inetnum',
44
- 'network:IP-Network:' => 'network.inetnum',
45
- 'network:Network-Name:' => 'network.name',
46
- 'network:ID:' => 'network.handle',
47
- 'network:Created:' => 'network.created',
48
- 'network:Updated:' => 'network.changed',
49
- 'network:Tech-Contact;I:' => 'tech.email',
50
- 'network:Admin-Contact;I:' => 'admin.email'
51
- );
52
-
53
- $res = generic_parser_b($data_str, $items, 'Ymd', false);
54
- if (isset($res['disclaimer'])) unset($res['disclaimer']);
55
- return array( 'regrinfo' => $res );
56
- }
57
- }
58
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.sc.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SC_HANDLER__'))
29
- define('__SC_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class sc_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, 'dmy');
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.nic.sc',
40
- 'registrar' => 'VCS (Pty) Limited'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.se.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SE_HANDLER__'))
29
- define('__SE_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class se_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain' => 'domain.name',
39
- 'state:' => 'domain.status.',
40
- 'status:' => 'domain.status.',
41
- 'expires:' => 'domain.expires',
42
- 'created:' => 'domain.created',
43
- 'nserver:' => 'domain.nserver.',
44
- 'holder:' => 'owner.handle'
45
- );
46
-
47
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd', false);
48
-
49
- $r['regrinfo']['registered'] = isset($r['regrinfo']['domain']['name']) ? 'yes' : 'no';
50
-
51
- $r['regyinfo'] = array(
52
- 'referrer' => 'http://www.nic-se.se',
53
- 'registrar' => 'NIC-SE'
54
- );
55
- return $r;
56
- }
57
- }
58
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.servers.php DELETED
@@ -1,252 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- /* servers.whois v18 Markus Welters 2004/06/25 */
29
- /* servers.whois v17 ross golder 2003/02/09 */
30
- /* servers.whois v16 mark jeftovic 2001/02/28 */
31
-
32
- $this->DATA_VERSION = '19';
33
-
34
- $this->DATA = array(
35
- 'bz' => 'gtld',
36
- 'com' => 'gtld',
37
- 'jobs' => 'gtld',
38
- 'li' => 'ch',
39
- 'net' => 'gtld',
40
- 'tv' => 'gtld',
41
- 'za.org' => 'zanet',
42
- 'za.net' => 'zanet'
43
- );
44
-
45
- /* Non UTF-8 servers */
46
-
47
- $this->NON_UTF8 = array(
48
- 'br.whois-servers.net' => 1,
49
- 'ca.whois-servers.net' => 1,
50
- 'cl.whois-servers.net' => 1,
51
- 'hu.whois-servers.net' => 1,
52
- 'is.whois-servers.net' => 1,
53
- 'pt.whois-servers.net' => 1,
54
- 'whois.interdomain.net' => 1,
55
- 'whois.lacnic.net' => 1,
56
- 'whois.nicline.com' => 1,
57
- 'whois.ripe.net' => 1
58
- );
59
-
60
- /* If whois Server needs any parameters, enter it here */
61
-
62
- $this->WHOIS_PARAM = array(
63
- 'com.whois-servers.net' => 'domain =$',
64
- 'net.whois-servers.net' => 'domain =$',
65
- 'de.whois-servers.net' => '-T dn,ace $',
66
- 'jp.whois-servers.net' => 'DOM $/e'
67
- );
68
-
69
- /* TLD's that have special whois servers or that can only be reached via HTTP */
70
-
71
- $this->WHOIS_SPECIAL = array(
72
- 'ad' => '',
73
- 'ae' => 'whois.aeda.net.ae',
74
- 'af' => 'whois.nic.af',
75
- 'ai' => 'http://whois.offshore.ai/cgi-bin/whois.pl?domain-name={domain}.ai',
76
- 'al' => '',
77
- 'az' => '',
78
- 'ba' => '',
79
- 'bb' => 'http://domains.org.bb/regsearch/getdetails.cfm?DND={domain}.bb',
80
- 'bg' => 'http://www.register.bg/bg-nic/displaydomain.pl?domain={domain}.bg&search=exist',
81
- 'bi' => 'whois.nic.bi',
82
- 'bj' => 'whois.nic.bj',
83
- 'by' => '',
84
- 'bz' => 'whois2.afilias-grs.net',
85
- 'cy' => '',
86
- 'es' => '',
87
- 'fj' => 'whois.usp.ac.fj',
88
- 'fm' => 'http://www.dot.fm/query_whois.cfm?domain={domain}&tld=fm',
89
- 'jobs' => 'jobswhois.verisign-grs.com',
90
- 'ke' => 'kenic.or.ke',
91
- 'la' => 'whois.centralnic.net',
92
- 'gr' => '',
93
- 'gs' => 'http://www.adamsnames.tc/whois/?domain={domain}.gs',
94
- 'gt' => 'http://www.gt/Inscripcion/whois.php?domain={domain}.gt',
95
- 'me' => 'whois.meregistry.net',
96
- 'mobi' => 'whois.dotmobiregistry.net',
97
- 'ms' => 'http://www.adamsnames.tc/whois/?domain={domain}.ms',
98
- 'mt' => 'http://www.um.edu.mt/cgi-bin/nic/whois?domain={domain}.mt',
99
- 'nl' => 'whois.domain-registry.nl',
100
- 'ly' => 'whois.nic.ly',
101
- 'pe' => 'kero.rcp.net.pe',
102
- 'pr' => 'whois.uprr.pr',
103
- 'pro' => 'whois.registry.pro',
104
- 'sc' => 'whois2.afilias-grs.net',
105
- 'tc' => 'http://www.adamsnames.tc/whois/?domain={domain}.tc',
106
- 'tf' => 'http://www.adamsnames.tc/whois/?domain={domain}.tf',
107
- 've' => 'whois.nic.ve',
108
- 'vg' => 'http://www.adamsnames.tc/whois/?domain={domain}.vg',
109
- // Second level
110
- 'net.au' => 'whois.aunic.net',
111
- 'ae.com' => 'whois.centralnic.net',
112
- 'br.com' => 'whois.centralnic.net',
113
- 'cn.com' => 'whois.centralnic.net',
114
- 'de.com' => 'whois.centralnic.net',
115
- 'eu.com' => 'whois.centralnic.net',
116
- 'hu.com' => 'whois.centralnic.net',
117
- 'jpn.com'=> 'whois.centralnic.net',
118
- 'kr.com' => 'whois.centralnic.net',
119
- 'gb.com' => 'whois.centralnic.net',
120
- 'no.com' => 'whois.centralnic.net',
121
- 'qc.com' => 'whois.centralnic.net',
122
- 'ru.com' => 'whois.centralnic.net',
123
- 'sa.com' => 'whois.centralnic.net',
124
- 'se.com' => 'whois.centralnic.net',
125
- 'za.com' => 'whois.centralnic.net',
126
- 'uk.com' => 'whois.centralnic.net',
127
- 'us.com' => 'whois.centralnic.net',
128
- 'uy.com' => 'whois.centralnic.net',
129
- 'gb.net' => 'whois.centralnic.net',
130
- 'se.net' => 'whois.centralnic.net',
131
- 'uk.net' => 'whois.centralnic.net',
132
- 'za.net' => 'whois.za.net',
133
- 'za.org' => 'whois.za.net',
134
- 'co.za' => 'http://co.za/cgi-bin/whois.sh?Domain={domain}.co.za',
135
- 'org.za' => 'http://www.org.za/cgi-bin/rwhois?domain={domain}.org.za&format=full'
136
- );
137
-
138
- /* handled gTLD whois servers */
139
-
140
- $this->WHOIS_GTLD_HANDLER = array(
141
- 'whois.bulkregister.com' => 'enom',
142
- 'whois.dotregistrar.com' => 'dotster',
143
- 'whois.namesdirect.com' => 'dotster',
144
- 'whois.psi-usa.info' => 'psiusa',
145
- 'whois.www.tv' => 'tvcorp',
146
- 'whois.tucows.com' => 'opensrs',
147
- 'whois.35.com' => 'onlinenic',
148
- 'whois.nominalia.com' => 'genericb',
149
- 'whois.encirca.com' => 'genericb',
150
- 'whois.corenic.net' => 'genericb'
151
- );
152
-
153
- /* Non ICANN TLD's */
154
-
155
- $this->WHOIS_NON_ICANN = array (
156
- 'agent' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
157
- 'agente' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
158
- 'america' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
159
- 'amor' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
160
- 'amore' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
161
- 'amour' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
162
- 'arte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
163
- 'artes' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
164
- 'arts' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
165
- 'asta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
166
- 'auction' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
167
- 'auktion' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
168
- 'boutique' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
169
- 'chat' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
170
- 'chiesa' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
171
- 'church' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
172
- 'cia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
173
- 'ciao' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
174
- 'cie' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
175
- 'club' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
176
- 'clube' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
177
- 'com2' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
178
- 'deporte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
179
- 'ditta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
180
- 'earth' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
181
- 'eglise' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
182
- 'enchere' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
183
- 'escola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
184
- 'escuela' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
185
- 'esporte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
186
- 'etc' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
187
- 'famiglia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
188
- 'familia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
189
- 'familie' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
190
- 'family' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
191
- 'free' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
192
- 'hola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
193
- 'game' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
194
- 'ges' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
195
- 'gmbh' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
196
- 'golf' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
197
- 'gratis' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
198
- 'gratuit' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
199
- 'iglesia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
200
- 'igreja' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
201
- 'inc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
202
- 'jeu' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
203
- 'jogo' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
204
- 'juego' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
205
- 'kids' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
206
- 'kirche' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
207
- 'krunst' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
208
- 'law' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
209
- 'legge' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
210
- 'lei' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
211
- 'leilao' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
212
- 'ley' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
213
- 'liebe' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
214
- 'lion' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
215
- 'llc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
216
- 'llp' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
217
- 'loi' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
218
- 'loja' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
219
- 'love' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
220
- 'ltd' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
221
- 'makler' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
222
- 'med' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
223
- 'mp3' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
224
- 'not' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
225
- 'online' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
226
- 'recht' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
227
- 'reise' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
228
- 'resto' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
229
- 'school' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
230
- 'schule' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
231
- 'scifi' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
232
- 'scuola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
233
- 'shop' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
234
- 'soc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
235
- 'spiel' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
236
- 'sport' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
237
- 'subasta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
238
- 'tec' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
239
- 'tech' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
240
- 'tienda' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
241
- 'travel' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
242
- 'turismo' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
243
- 'usa' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}',
244
- 'verein' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
245
- 'viaje' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
246
- 'viagem' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
247
- 'video' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
248
- 'voyage' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
249
- 'xxx' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}',
250
- 'z' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}'
251
- );
252
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.si.php DELETED
@@ -1,55 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SI_HANDLER__'))
29
- define('__SI_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class si_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $translate = array(
38
- 'nic-hdl' => 'handle',
39
- 'nameserver' => 'nserver'
40
- );
41
-
42
- $contacts = array(
43
- 'registrant' => 'owner',
44
- 'tech-c' => 'tech'
45
- );
46
-
47
- $r['regrinfo'] = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd');
48
- $r['regyinfo'] = array(
49
- 'referrer' => 'http://www.arnes.si',
50
- 'registrar' => 'ARNES'
51
- );
52
- return $r;
53
- }
54
- }
55
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.su.php DELETED
@@ -1,63 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__SU_HANDLER__'))
29
- define('__SU_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class su_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain:' => 'domain.name',
39
- 'state:' => 'domain.status',
40
- 'person:' => 'owner.name',
41
- 'phone:' => 'owner.phone',
42
- 'e-mail:' => 'owner.email',
43
- 'created:' => 'domain.created',
44
- 'paid-till:' => 'domain.expires',
45
- /*
46
- 'nserver:' => 'domain.nserver.',
47
- 'source:' => 'domain.source',
48
- 'type:' => 'owner.type',
49
- 'org:' => 'owner.organization',
50
- 'fax-no:' => 'owner.fax',
51
- */
52
- );
53
-
54
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy');
55
-
56
- $r['regyinfo'] = array(
57
- 'referrer' => 'http://www.ripn.net',
58
- 'registrar' => 'RUCENTER-REG-RIPN'
59
- );
60
- return $r;
61
- }
62
- }
63
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.tel.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__TEL_HANDLER__'))
29
- define('__TEL_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class tel_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, '-md--y');
38
- $r['regyinfo'] = array(
39
- 'referrer' => 'http://www.telnic.org',
40
- 'registrar' => 'Telnic'
41
- );
42
- return $r;
43
- }
44
- }
45
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.travel.php DELETED
@@ -1,43 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__TRAVEL_HANDLER__'))
29
- define('__TRAVEL_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class travel_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $r['regrinfo'] = generic_parser_b($data_str['rawdata']);
38
- $r['regyinfo']['referrer'] = 'http://www.nic.travel/';
39
- $r['regyinfo']['registrar'] = 'Tralliance Corporation';
40
- return $r;
41
- }
42
- }
43
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.uk.php DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__UK_HANDLER__'))
29
- define('__UK_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class uk_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'owner.organization' => 'Registrant:',
39
- 'owner.address' => "Registrant's address:",
40
- 'owner.type' => 'Registrant type:',
41
- 'domain.created' => 'Registered on:',
42
- 'domain.changed' => 'Last updated:',
43
- 'domain.expires' => 'Renewal date:',
44
- 'domain.nserver' => 'Name servers:',
45
- 'domain.sponsor' => 'Registrar:',
46
- 'domain.status' => 'Registration status:',
47
- 'domain.dnssec' => 'DNSSEC:',
48
- '' => 'WHOIS lookup made at',
49
- 'disclaimer' => '--',
50
- );
51
-
52
- $r['regrinfo'] = get_blocks($data_str['rawdata'], $items);
53
-
54
- if (isset($r['regrinfo']['owner']))
55
- {
56
- $r['regrinfo']['owner']['organization'] = $r['regrinfo']['owner']['organization'][0];
57
- $r['regrinfo']['domain']['sponsor'] = $r['regrinfo']['domain']['sponsor'][0];
58
- $r['regrinfo']['registered'] = 'yes';
59
-
60
- $r = format_dates($r, 'dmy');
61
- }
62
- else
63
- $r['regrinfo']['registered'] = 'no';
64
-
65
- $r['regyinfo'] = array(
66
- 'referrer' => 'http://www.nominet.org.uk',
67
- 'registrar' => 'Nominet UK'
68
- );
69
- return $r;
70
- }
71
- }
72
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.us.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if(!defined('__US_HANDLER__')) define('__US_HANDLER__',1);
29
-
30
- require_once('whois.parser.php');
31
-
32
- class us_handler
33
- {
34
- function parse ($data_str, $query)
35
- {
36
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], false, '-md--y');
37
- $r['regyinfo'] = array(
38
- 'referrer'=>'http://www.neustar.us',
39
- 'registrar' => 'NEUSTAR INC.'
40
- );
41
- return $r;
42
- }
43
- }
44
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.utils.php DELETED
@@ -1,152 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- class utils extends Whois {
29
-
30
- // showObject() and debugObject()
31
- // - debug code to show an object or array
32
-
33
- function showObject(&$obj)
34
- {
35
- $r = $this->debugObject($obj);
36
- return "<pre>$r</pre>\n";
37
- }
38
-
39
- function debugObject($obj,$indent=0)
40
- {
41
- if (is_Array($obj))
42
- {
43
- $return = '';
44
- foreach($obj as $k => $v)
45
- {
46
- $return .= str_repeat('&nbsp;',$indent);
47
- $return .= $k."->$v\n";
48
- $return .= $this->debugObject($v,$indent+1);
49
- }
50
- return $return;
51
- }
52
- }
53
-
54
- function ns_rr_defined($query) {
55
- return checkdnsrr($query,'NS');
56
- }
57
-
58
- // get nice HTML output
59
-
60
- function showHTML($result, $link_myself=true, $params='query=$0&amp;output=nice') {
61
-
62
- // adds links fort HTML output
63
-
64
- $email_regex = "/([-_\w\.]+)(@)([-_\w\.]+)\b/i";
65
- $html_regex = "/(?:^|\b)((((http|https|ftp):\/\/)|(www\.))([\w\.]+)([,:%#&\/?~=\w+\.-]+))(?:\b|$)/is";
66
- $ip_regex = "/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/i";
67
-
68
- $out = '';
69
- $lempty = true;
70
-
71
- foreach($result['rawdata'] as $line)
72
- {
73
- $line = trim($line);
74
-
75
- if ($line == '')
76
- {
77
- if ($lempty) continue;
78
- else $lempty = true;
79
- }
80
- else
81
- $lempty = false;
82
-
83
- $out .= $line."\n";
84
- }
85
-
86
- if ($lempty) $out = trim($out);
87
-
88
- $out = strip_tags($out);
89
- $out = preg_replace ($email_regex, '<a href="mailto:$0">$0</a>', $out);
90
- $out = preg_replace_callback ($html_regex, 'href_replace', $out);
91
-
92
- if ($link_myself)
93
- {
94
- if ($params[0] == '/')
95
- $link = $params;
96
- else
97
- $link = $_SERVER['PHP_SELF'].'?'.$params;
98
-
99
- $out = preg_replace ($ip_regex, '<a href="'.$link.'">$0</a>', $out);
100
-
101
- if (isset($result['regrinfo']['domain']['nserver']))
102
- {
103
- $nserver = $result['regrinfo']['domain']['nserver'];
104
- }
105
- else
106
- $nserver = false;
107
-
108
- if (isset($result['regrinfo']['network']['nserver']))
109
- {
110
- $nserver = $result['regrinfo']['network']['nserver'];
111
- }
112
-
113
- if (is_array($nserver))
114
- {
115
- reset($nserver);
116
- while (list($host, $ip) = each($nserver))
117
- {
118
- $url = '<a href="'. str_replace('$0',$ip,$link)."\">$host</a>";
119
- $out = str_replace($host, $url, $out);
120
- $out = str_replace(strtoupper($host), $url, $out);
121
- }
122
- }
123
- }
124
-
125
- // Add bold field names
126
-
127
- $out = preg_replace ("/(?m)^([-\s\.&;'\w\t\(\)\/]+:\s*)/", '<b>$1</b>', $out);
128
-
129
- // Add italics for disclaimer
130
-
131
- $out = preg_replace ("/(?m)^(%.*)/", '<i>$0</i>', $out);
132
-
133
- return str_replace("\n","<br/>\n",$out);
134
- }
135
- }
136
-
137
- function href_replace($matches)
138
- {
139
- if (substr($matches[0],0,4)=='www.')
140
- {
141
- $web=$matches[0];
142
- $url='http://'.$web;
143
- }
144
- else
145
- {
146
- $web=$matches[0];
147
- $url=$web;
148
- }
149
-
150
- return '<a href="'.$url.'" target="_blank">'.$web.'</a>';
151
- }
152
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ve.php DELETED
@@ -1,75 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
26
- USA.
27
- */
28
-
29
- if (!defined('__VE_HANDLER__'))
30
- define('__VE_HANDLER__', 1);
31
-
32
- require_once('whois.parser.php');
33
-
34
- class ve_handler
35
- {
36
- function parse($data_str, $query)
37
- {
38
- $items = array(
39
- 'owner' => 'Titular:',
40
- 'domain.name' => 'Nombre de Dominio:',
41
- 'admin' => 'Contacto Administrativo',
42
- 'tech' => 'Contacto Tecnico',
43
- 'billing' => 'Contacto de Cobranza:',
44
- 'domain.created' => 'Fecha de Creacion:',
45
- 'domain.changed' => 'Ultima Actualizacion:',
46
- 'domain.expires' => 'Fecha de Vencimiento:',
47
- 'domain.status' => 'Estatus del dominio:',
48
- 'domain.nserver' => 'Servidor(es) de Nombres de Dominio'
49
- );
50
-
51
- $r['regrinfo'] = get_blocks($data_str['rawdata'], $items);
52
-
53
- if (!isset($r['regrinfo']['domain']['created']) || is_array($r['regrinfo']['domain']['created']))
54
- {
55
- $r['regrinfo'] = array ( 'registered' => 'no');
56
- return $r;
57
- }
58
-
59
- $dns = array();
60
-
61
- foreach($r['regrinfo']['domain']['nserver'] as $nserv)
62
- {
63
- if ($nserv[0] == '-') $dns[] = $nserv;
64
- }
65
-
66
- $r['regrinfo']['domain']['nserver'] = $dns;
67
- $r['regrinfo'] = get_contacts($r['regrinfo']);
68
- $r['regyinfo'] = array(
69
- 'referrer' => 'http://registro.nic.ve',
70
- 'registrar' => 'NIC-Venezuela - CNTI'
71
- );
72
- return $r;
73
- }
74
- }
75
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.ws.php DELETED
@@ -1,76 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__WS_HANDLER__'))
29
- define('__WS_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class ws_handler extends WhoisClient
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'Domain Name:' => 'domain.name',
39
- 'Registrant Name:' => 'owner.organization',
40
- 'Registrant Email:' => 'owner.email',
41
- 'Domain Created:' => 'domain.created',
42
- 'Domain Last Updated:' => 'domain.changed',
43
- 'Registrar Name:' => 'domain.sponsor',
44
- 'Current Nameservers:' => 'domain.nserver.',
45
- 'Administrative Contact Email:' => 'admin.email',
46
- 'Administrative Contact Telephone:' => 'admin.phone',
47
- 'Registrar Whois:' => 'rwhois'
48
- );
49
-
50
- $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd');
51
-
52
- $r['regyinfo']['referrer'] = 'http://www.samoanic.ws';
53
- $r['regyinfo']['registrar'] = 'Samoa Nic';
54
-
55
- if (!empty($r['regrinfo']['domain']['name']))
56
- {
57
- $r['regrinfo']['registered'] = 'yes';
58
-
59
- if (isset($r['regrinfo']['rwhois']))
60
- {
61
- if ($this->deep_whois)
62
- {
63
- $r['regyinfo']['whois'] = $r['regrinfo']['rwhois'];
64
- $r = $this->DeepWhois($query,$r);
65
- }
66
-
67
- unset($r['regrinfo']['rwhois']);
68
- }
69
- }
70
- else
71
- $r['regrinfo']['registered'] = 'no';
72
-
73
- return $r;
74
- }
75
- }
76
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/whois/whois.zanet.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
- /*
3
- Whois.php PHP classes to conduct whois queries
4
-
5
- Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
6
-
7
- Maintained by David Saez
8
-
9
- For the most recent version of this package visit:
10
-
11
- http://www.phpwhois.org
12
-
13
- This program is free software; you can redistribute it and/or
14
- modify it under the terms of the GNU General Public License
15
- as published by the Free Software Foundation; either version 2
16
- of the License, or (at your option) any later version.
17
-
18
- This program is distributed in the hope that it will be useful,
19
- but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- GNU General Public License for more details.
22
-
23
- You should have received a copy of the GNU General Public License
24
- along with this program; if not, write to the Free Software
25
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
- */
27
-
28
- if (!defined('__ZANET_HANDLER__'))
29
- define('__ZANET_HANDLER__', 1);
30
-
31
- require_once('whois.parser.php');
32
-
33
- class zanet_handler
34
- {
35
- function parse($data_str, $query)
36
- {
37
- $items = array(
38
- 'domain.name' => 'Domain Name : ',
39
- 'domain.created' => 'Record Created :',
40
- 'domain.changed' => 'Record Last Updated :',
41
- 'owner.name' => 'Registered for :',
42
- 'admin' => 'Administrative Contact :',
43
- 'tech' => 'Technical Contact :',
44
- 'domain.nserver' => 'Domain Name Servers listed in order:',
45
- 'registered' => 'No such domain: ',
46
- '' => 'The ZA NiC whois'
47
- );
48
-
49
- // Arrange contacts ...
50
-
51
- $rawdata = array();
52
-
53
- while (list($key, $line) = each($data_str['rawdata']))
54
- {
55
- if (strpos($line, ' Contact ') !== false)
56
- {
57
- $pos = strpos($line, ':');
58
-
59
- if ($pos !== false)
60
- {
61
- $rawdata[] = substr($line, 0, $pos + 1);
62
- $rawdata[] = trim(substr($line, $pos + 1));
63
- continue;
64
- }
65
- }
66
- $rawdata[] = $line;
67
- }
68
-
69
- $r['regrinfo'] = get_blocks($rawdata, $items);
70
-
71
- if (isset($r['regrinfo']['registered']))
72
- {
73
- $r['regrinfo']['registered'] = 'no';
74
- }
75
- else
76
- {
77
- if (isset($r['regrinfo']['admin']))
78
- $r['regrinfo']['admin'] = get_contact($r['regrinfo']['admin']);
79
-
80
- if (isset($r['regrinfo']['tech']))
81
- $r['regrinfo']['tech'] = get_contact($r['regrinfo']['tech']);
82
- }
83
-
84
- $r['regyinfo']['referrer'] = 'http://www.za.net/'; // or http://www.za.org
85
- $r['regyinfo']['registrar'] = 'ZA NiC';
86
- format_dates($r, 'xmdxxy');
87
- return $r;
88
- }
89
- }
90
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/wordfenceConstants.php CHANGED
@@ -4,7 +4,7 @@ define('WORDFENCE_API_URL_SEC', 'https://noc1.wordfence.com/');
4
  define('WORDFENCE_API_URL_NONSEC', 'http://noc1.wordfence.com/');
5
  define('WORDFENCE_MAX_SCAN_TIME', 86400); //Increased this from 10 mins to 1 day because very big scans run for a long time. Users can use kill.
6
  define('WORDFENCE_TRANSIENTS_TIMEOUT', 3600); //how long are items cached in seconds e.g. files downloaded for diffing
7
- define('WORDFENCE_MAX_IPLOC_AGE', 86400); //1 week
8
  define('WORDFENCE_CRAWLER_VERIFY_CACHE_TIME', 604800);
9
  define('WORDFENCE_REVERSE_LOOKUP_CACHE_TIME', 86400);
10
  define('WORDFENCE_MAX_FILE_SIZE_TO_PROCESS', 52428800); //50 megs
4
  define('WORDFENCE_API_URL_NONSEC', 'http://noc1.wordfence.com/');
5
  define('WORDFENCE_MAX_SCAN_TIME', 86400); //Increased this from 10 mins to 1 day because very big scans run for a long time. Users can use kill.
6
  define('WORDFENCE_TRANSIENTS_TIMEOUT', 3600); //how long are items cached in seconds e.g. files downloaded for diffing
7
+ define('WORDFENCE_MAX_IPLOC_AGE', 86400); //1 day
8
  define('WORDFENCE_CRAWLER_VERIFY_CACHE_TIME', 604800);
9
  define('WORDFENCE_REVERSE_LOOKUP_CACHE_TIME', 86400);
10
  define('WORDFENCE_MAX_FILE_SIZE_TO_PROCESS', 52428800); //50 megs
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: mmaunder
3
  Tags: wordpress, security, performance, speed, caching, cache, caching plugin, wordpress cache, wordpress caching, wordpress security, security plugin, secure, anti-virus, malware, firewall, antivirus, virus, google safe browsing, phishing, scrapers, hacking, wordfence, securty, secrity, secure, two factor, cellphone sign-in, cellphone signin, cellphone, twofactor, security, secure, htaccess, login, log, users, login alerts, lock, chmod, maintenance, plugin, private, privacy, protection, permissions, 503, base64, injection, code, encode, script, attack, hack, hackers, block, blocked, prevent, prevention, RFI, XSS, CRLF, CSRF, SQL Injection, vulnerability, website security, WordPress security, security log, logging, HTTP log, error log, login security, personal security, infrastructure security, firewall security, front-end security, web server security, proxy security, reverse proxy security, secure website, secure login, two factor security, maximum login security, heartbleed, heart bleed, heartbleed vulnerability, openssl vulnerability, nginx, litespeed, php5-fpm, woocommerce support, woocommerce caching
4
  Requires at least: 3.3.1
5
  Tested up to: 4.0
6
- Stable tag: 5.2.7
7
 
8
  Wordfence Security is a free enterprise class security and performance plugin that makes your site up to 50 times faster and more secure.
9
 
@@ -163,6 +163,11 @@ cause a security hole on your site.
163
 
164
  == Changelog ==
165
 
 
 
 
 
 
166
  = 5.2.7 =
167
  * Fixed issue that would cause infected files with identical content to only have the first file found show up in scans and the rest would not appear.
168
  * Whois queries now go via our own server as a workaround for hosting providers who block your web server's access to port 43 preventing you from making a direct whois query.
3
  Tags: wordpress, security, performance, speed, caching, cache, caching plugin, wordpress cache, wordpress caching, wordpress security, security plugin, secure, anti-virus, malware, firewall, antivirus, virus, google safe browsing, phishing, scrapers, hacking, wordfence, securty, secrity, secure, two factor, cellphone sign-in, cellphone signin, cellphone, twofactor, security, secure, htaccess, login, log, users, login alerts, lock, chmod, maintenance, plugin, private, privacy, protection, permissions, 503, base64, injection, code, encode, script, attack, hack, hackers, block, blocked, prevent, prevention, RFI, XSS, CRLF, CSRF, SQL Injection, vulnerability, website security, WordPress security, security log, logging, HTTP log, error log, login security, personal security, infrastructure security, firewall security, front-end security, web server security, proxy security, reverse proxy security, secure website, secure login, two factor security, maximum login security, heartbleed, heart bleed, heartbleed vulnerability, openssl vulnerability, nginx, litespeed, php5-fpm, woocommerce support, woocommerce caching
4
  Requires at least: 3.3.1
5
  Tested up to: 4.0
6
+ Stable tag: 5.2.8
7
 
8
  Wordfence Security is a free enterprise class security and performance plugin that makes your site up to 50 times faster and more secure.
9
 
163
 
164
  == Changelog ==
165
 
166
+ = 5.2.8 =
167
+ * Detailed documentation for all options on the Wordfence options page. Launching docs.wordfence.com wiki.
168
+ * Fixed server-side issue where diff'ing certain files would give a blank page or an API error.
169
+ * Removed now unused whois library because we're now using Wordfence API server to get around whois port blocking.
170
+
171
  = 5.2.7 =
172
  * Fixed issue that would cause infected files with identical content to only have the first file found show up in scans and the rest would not appear.
173
  * Whois queries now go via our own server as a workaround for hosting providers who block your web server's access to port 43 preventing you from making a direct whois query.
wordfence.php CHANGED
@@ -4,13 +4,13 @@ Plugin Name: Wordfence Security
4
  Plugin URI: http://www.wordfence.com/
5
  Description: Wordfence Security - Anti-virus, Firewall and High Speed Cache
6
  Author: Wordfence
7
- Version: 5.2.7
8
  Author URI: http://www.wordfence.com/
9
  */
10
  if(defined('WP_INSTALLING') && WP_INSTALLING){
11
  return;
12
  }
13
- define('WORDFENCE_VERSION', '5.2.7');
14
  if(get_option('wordfenceActivated') != 1){
15
  add_action('activated_plugin','wordfence_save_activation_error'); function wordfence_save_activation_error(){ update_option('wf_plugin_act_error', ob_get_contents()); }
16
  }
4
  Plugin URI: http://www.wordfence.com/
5
  Description: Wordfence Security - Anti-virus, Firewall and High Speed Cache
6
  Author: Wordfence
7
+ Version: 5.2.8
8
  Author URI: http://www.wordfence.com/
9
  */
10
  if(defined('WP_INSTALLING') && WP_INSTALLING){
11
  return;
12
  }
13
+ define('WORDFENCE_VERSION', '5.2.8');
14
  if(get_option('wordfenceActivated') != 1){
15
  add_action('activated_plugin','wordfence_save_activation_error'); function wordfence_save_activation_error(){ update_option('wf_plugin_act_error', ob_get_contents()); }
16
  }