Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin - Version 1.5.0

Version Description

  • Fixed XSS Vulnerabilities
  • Added more indexes to Pretty Link tables
  • Other minor fixes
Download this release

Release Info

Developer supercleanse
Plugin Icon 128x128 Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin
Version 1.5.0
Comparing to
See all releases

Code changes from version 1.4.6 to 1.5.0

Files changed (303) hide show
  1. {trunk/classes → classes}/controllers/PrliAppController.php +0 -0
  2. classes/models/PrliClick.php +102 -29
  3. classes/models/PrliGroup.php +13 -5
  4. classes/models/PrliLink.php +259 -112
  5. classes/models/PrliLinkMeta.php +3 -2
  6. {trunk/classes → classes}/models/PrliOptions.php +0 -0
  7. {trunk/classes → classes}/models/PrliUpdate.php +0 -0
  8. {trunk/classes → classes}/models/PrliUrlUtils.php +0 -0
  9. classes/models/PrliUtils.php +581 -293
  10. classes/models/models.inc.php +55 -0
  11. classes/views/prli-clicks/csv.php +3 -5
  12. {trunk/classes → classes}/views/prli-clicks/csv_download.php +0 -0
  13. classes/views/prli-clicks/head.php +3 -2
  14. classes/views/prli-clicks/list.php +34 -15
  15. classes/views/prli-dashboard-widget/widget.php +6 -5
  16. classes/views/prli-groups/edit.php +1 -1
  17. classes/views/prli-groups/list.php +5 -8
  18. classes/views/prli-groups/new.php +1 -1
  19. classes/views/prli-links/bar.php +1 -0
  20. classes/views/prli-links/edit.php +1 -1
  21. classes/views/prli-links/form.php +47 -62
  22. classes/views/prli-links/head.php +1 -1
  23. classes/views/prli-links/list.php +58 -48
  24. classes/views/prli-links/new.php +1 -1
  25. classes/views/prli-links/ultra-cloak.php +1 -0
  26. classes/views/prli-options/form.php +61 -126
  27. classes/views/prli-options/head.php +19 -8
  28. classes/views/prli-options/pro-settings.php +6 -31
  29. {trunk/classes → classes}/views/prli-tools/form.php +0 -0
  30. classes/views/shared/errors.php +9 -9
  31. {trunk/classes → classes}/views/shared/link-table-nav.php +0 -0
  32. classes/views/shared/nav.php +9 -1
  33. classes/views/shared/table-nav.php +11 -11
  34. {trunk/i18n → i18n}/pretty-link.pot +2 -2
  35. images/browser/abilon.png +0 -0
  36. images/browser/adobe.png +0 -0
  37. images/browser/akregator.png +0 -0
  38. images/browser/alcatel.png +0 -0
  39. images/browser/amaya.png +0 -0
  40. images/browser/amigavoyager.png +0 -0
  41. images/browser/analogx.png +0 -0
  42. images/browser/apt.png +0 -0
  43. images/browser/avant.png +0 -0
  44. images/browser/aweb.png +0 -0
  45. images/browser/bpftp.png +0 -0
  46. images/browser/bytel.png +0 -0
  47. images/browser/chimera.png +0 -0
  48. images/browser/chrome.png +0 -0
  49. images/browser/cyberdog.png +0 -0
  50. images/browser/da.png +0 -0
  51. images/browser/dillo.png +0 -0
  52. images/browser/doris.png +0 -0
  53. images/browser/dreamcast.png +0 -0
  54. images/browser/ecatch.png +0 -0
  55. images/browser/encompass.png +0 -0
  56. images/browser/epiphany.png +0 -0
  57. images/browser/ericsson.png +0 -0
  58. images/browser/feeddemon.png +0 -0
  59. images/browser/feedreader.png +0 -0
  60. images/browser/firefox.png +0 -0
  61. images/browser/flashget.png +0 -0
  62. images/browser/fpexpress.png +0 -0
  63. images/browser/fresco.png +0 -0
  64. images/browser/freshdownload.png +0 -0
  65. images/browser/frontpage.png +0 -0
  66. images/browser/galeon.png +0 -0
  67. images/browser/getright.png +0 -0
  68. images/browser/gnome.png +0 -0
  69. images/browser/gnus.png +0 -0
  70. images/browser/gozilla.png +0 -0
  71. images/browser/hotjava.png +0 -0
  72. images/browser/httrack.png +0 -0
  73. images/browser/ibrowse.png +0 -0
  74. images/browser/icab.png +0 -0
  75. images/browser/java.png +0 -0
  76. images/browser/jetbrains_omea.png +0 -0
  77. images/browser/kmeleon.png +0 -0
  78. images/browser/konqueror.png +0 -0
  79. images/browser/leechget.png +0 -0
  80. images/browser/lg.png +0 -0
  81. images/browser/lotusnotes.png +0 -0
  82. images/browser/lynx.png +0 -0
  83. images/browser/macweb.png +0 -0
  84. images/browser/mediaplayer.png +0 -0
  85. images/browser/motorola.png +0 -0
  86. images/browser/mozilla.png +0 -0
  87. images/browser/mplayer.png +0 -0
  88. images/browser/msie.png +0 -0
  89. images/browser/msie_large.png +0 -0
  90. images/browser/multizilla.png +0 -0
  91. images/browser/ncsa_mosaic.png +0 -0
  92. images/browser/neon.png +0 -0
  93. images/browser/netnewswire.png +0 -0
  94. images/browser/netpositive.png +0 -0
  95. images/browser/netscape.png +0 -0
  96. images/browser/netscape_large.png +0 -0
  97. images/browser/netshow.png +0 -0
  98. images/browser/newsfire.png +0 -0
  99. images/browser/newsgator.png +0 -0
  100. images/browser/newzcrawler.png +0 -0
  101. images/browser/nokia.png +0 -0
  102. images/browser/notavailable.png +0 -0
  103. images/browser/omniweb.png +0 -0
  104. images/browser/opera.png +0 -0
  105. images/browser/panasonic.png +0 -0
  106. images/browser/pdaphone.png +0 -0
  107. images/browser/philips.png +0 -0
  108. images/browser/phoenix.png +0 -0
  109. images/browser/pluck.png +0 -0
  110. images/browser/pulpfiction.png +0 -0
  111. images/browser/real.png +0 -0
  112. images/browser/rss.png +0 -0
  113. images/browser/rssbandit.png +0 -0
  114. images/browser/rssowl.png +0 -0
  115. images/browser/rssreader.png +0 -0
  116. images/browser/rssxpress.png +0 -0
  117. images/browser/safari.png +0 -0
  118. images/browser/sagem.png +0 -0
  119. images/browser/samsung.png +0 -0
  120. images/browser/sharp.png +0 -0
  121. images/browser/sharpreader.png +0 -0
  122. images/browser/shrook.png +0 -0
  123. images/browser/siemens.png +0 -0
  124. images/browser/sony.png +0 -0
  125. images/browser/staroffice.png +0 -0
  126. images/browser/subversion.png +0 -0
  127. images/browser/teleport.png +0 -0
  128. images/browser/trium.png +0 -0
  129. images/browser/unknown.png +0 -0
  130. images/browser/w3c.png +0 -0
  131. images/browser/webcopier.png +0 -0
  132. images/browser/webreaper.png +0 -0
  133. images/browser/webtv.png +0 -0
  134. images/browser/webzip.png +0 -0
  135. images/browser/winxbox.png +0 -0
  136. images/browser/wizz.png +0 -0
  137. {trunk/images → images}/co.mments.gif +0 -0
  138. {trunk/images → images}/dark_add_twitter_account.png +0 -0
  139. {trunk/images → images}/delicious_32.png +0 -0
  140. {trunk/images → images}/digg_32.png +0 -0
  141. {trunk/images → images}/email_32.png +0 -0
  142. {trunk/images → images}/facebook.png +0 -0
  143. {trunk/images → images}/facebook_32.png +0 -0
  144. {trunk/images → images}/hyves_32.png +0 -0
  145. {trunk/images → images}/linkedin_32.png +0 -0
  146. {trunk/images → images}/mixx_32.png +0 -0
  147. {trunk/images → images}/newsvine_32.png +0 -0
  148. images/os/aix.png +0 -0
  149. images/os/amigaos.png +0 -0
  150. images/os/apple.png +0 -0
  151. images/os/atari.png +0 -0
  152. images/os/beos.png +0 -0
  153. images/os/bsd.png +0 -0
  154. images/os/bsdfreebsd.png +0 -0
  155. images/os/bsdi.png +0 -0
  156. images/os/bsdnetbsd.png +0 -0
  157. images/os/bsdopenbsd.png +0 -0
  158. images/os/commodore.png +0 -0
  159. images/os/cpm.png +0 -0
  160. images/os/debian.png +0 -0
  161. images/os/digital.png +0 -0
  162. images/os/dos.png +0 -0
  163. images/os/dreamcast.png +0 -0
  164. images/os/freebsd.png +0 -0
  165. images/os/gnu.png +0 -0
  166. images/os/hpux.png +0 -0
  167. images/os/ibm.png +0 -0
  168. images/os/imode.png +0 -0
  169. images/os/irix.png +0 -0
  170. images/os/java.png +0 -0
  171. images/os/kfreebsd.png +0 -0
  172. images/os/linux.png +0 -0
  173. images/os/linuxcentos.png +0 -0
  174. images/os/linuxdebian.png +0 -0
  175. images/os/linuxfedora.png +0 -0
  176. images/os/linuxgentoo.png +0 -0
  177. images/os/linuxmandr.png +0 -0
  178. images/os/linuxredhat.png +0 -0
  179. images/os/linuxsuse.png +0 -0
  180. images/os/linuxubuntu.png +0 -0
  181. images/os/mac.png +0 -0
  182. images/os/macintosh.png +0 -0
  183. images/os/macosx.png +0 -0
  184. images/os/netbsd.png +0 -0
  185. images/os/netware.png +0 -0
  186. images/os/next.png +0 -0
  187. images/os/openbsd.png +0 -0
  188. images/os/os2.png +0 -0
  189. images/os/osf.png +0 -0
  190. images/os/psp.png +0 -0
  191. images/os/qnx.png +0 -0
  192. images/os/riscos.png +0 -0
  193. images/os/sco.png +0 -0
  194. images/os/sunos.png +0 -0
  195. images/os/symbian.png +0 -0
  196. images/os/unix.png +0 -0
  197. images/os/unknown.png +0 -0
  198. images/os/vms.png +0 -0
  199. images/os/webtv.png +0 -0
  200. images/os/win.png +0 -0
  201. images/os/win16.png +0 -0
  202. images/os/win2000.png +0 -0
  203. images/os/win2003.png +0 -0
  204. images/os/win95.png +0 -0
  205. images/os/win98.png +0 -0
  206. images/os/wince.png +0 -0
  207. images/os/winlong.png +0 -0
  208. images/os/winme.png +0 -0
  209. images/os/winnt.png +0 -0
  210. images/os/winunknown.png +0 -0
  211. images/os/winxbox.png +0 -0
  212. images/os/winxp.png +0 -0
  213. {trunk/images → images}/prettylink_logo.jpg +0 -0
  214. {trunk/images → images}/prettylink_logo_med.jpg +0 -0
  215. {trunk/images → images}/prettylink_logo_small.jpg +0 -0
  216. {trunk/images → images}/reddit_32.png +0 -0
  217. {trunk/images → images}/retweet.gif +0 -0
  218. {trunk/images → images}/retweet.png +0 -0
  219. {trunk/images → images}/rotate_link.png +0 -0
  220. {trunk/images → images}/sphinn_32.png +0 -0
  221. {trunk/images → images}/stumbleupon_32.png +0 -0
  222. {trunk/images → images}/technorati_32.png +0 -0
  223. {trunk/images → images}/tweet.gif +0 -0
  224. {trunk/images → images}/tweet.png +0 -0
  225. {trunk/images → images}/twitter.png +0 -0
  226. {trunk/images → images}/twitter_32.png +0 -0
  227. {trunk/images → images}/yahoobuzz_32.png +0 -0
  228. includes/php/php_browsecap.ini +801 -390
  229. pretty-bar.php +52 -57
  230. pretty-link.php +7 -334
  231. prli-api.php +14 -47
  232. trunk/prli-bookmarklet.php → prli-bookmarklet.php +0 -0
  233. prli-clicks.php +67 -7
  234. prli-config.php +83 -61
  235. prli-dashboard-widget.php +1 -8
  236. prli-links.php +24 -29
  237. trunk/prli-main.php → prli-main.php +0 -0
  238. prli-options.php +50 -131
  239. prli-pro-settings.php +7 -50
  240. trunk/prli-tools.php → prli-tools.php +0 -0
  241. prli-xmlrpc.php +46 -66
  242. readme.txt +284 -46
  243. trunk/classes/models/PrliClick.php +0 -314
  244. trunk/classes/models/PrliGroup.php +0 -124
  245. trunk/classes/models/PrliLink.php +0 -473
  246. trunk/classes/models/PrliLinkMeta.php +0 -59
  247. trunk/classes/models/PrliUtils.php +0 -1178
  248. trunk/classes/models/models.inc.php +0 -74
  249. trunk/classes/views/prli-clicks/csv.php +0 -22
  250. trunk/classes/views/prli-clicks/head.php +0 -106
  251. trunk/classes/views/prli-clicks/list.php +0 -170
  252. trunk/classes/views/prli-dashboard-widget/widget.php +0 -24
  253. trunk/classes/views/prli-groups/edit.php +0 -58
  254. trunk/classes/views/prli-groups/head.php +0 -35
  255. trunk/classes/views/prli-groups/list.php +0 -85
  256. trunk/classes/views/prli-groups/new.php +0 -59
  257. trunk/classes/views/prli-links/bar.php +0 -13
  258. trunk/classes/views/prli-links/edit.php +0 -22
  259. trunk/classes/views/prli-links/form.php +0 -99
  260. trunk/classes/views/prli-links/head.php +0 -91
  261. trunk/classes/views/prli-links/list.php +0 -191
  262. trunk/classes/views/prli-links/new.php +0 -22
  263. trunk/classes/views/prli-links/ultra-cloak.php +0 -12
  264. trunk/classes/views/prli-options/form.php +0 -110
  265. trunk/classes/views/prli-options/head.php +0 -47
  266. trunk/classes/views/prli-options/pro-settings.php +0 -18
  267. trunk/classes/views/shared/errors.php +0 -19
  268. trunk/classes/views/shared/nav.php +0 -9
  269. trunk/classes/views/shared/table-nav.php +0 -93
  270. trunk/images/arrow_down.png +0 -0
  271. trunk/images/arrow_up.png +0 -0
  272. trunk/images/bar_background.png +0 -0
  273. trunk/images/bar_map.png +0 -0
  274. trunk/images/bookmark.png +0 -0
  275. trunk/images/forward_params.png +0 -0
  276. trunk/images/nofollow.png +0 -0
  277. trunk/images/not_tracking.png +0 -0
  278. trunk/images/pixel_track.png +0 -0
  279. trunk/images/pretty-link-48x48.png +0 -0
  280. trunk/images/pretty-link-add.png +0 -0
  281. trunk/images/pretty-link-med.png +0 -0
  282. trunk/images/pretty-link-small.png +0 -0
  283. trunk/images/tracking.png +0 -0
  284. trunk/images/ultra-cloak.png +0 -0
  285. trunk/images/url_icon.gif +0 -0
  286. trunk/includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  287. trunk/includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  288. trunk/includes/jquery/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  289. trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  290. trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  291. trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  292. trunk/includes/jquery/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  293. trunk/includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  294. trunk/includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  295. trunk/includes/jquery/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  296. trunk/includes/jquery/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  297. trunk/includes/jquery/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  298. trunk/includes/jquery/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  299. trunk/includes/jquery/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  300. trunk/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css +0 -404
  301. trunk/includes/jquery/js/jquery-1.3.2.min.js +0 -19
  302. trunk/includes/jquery/js/jquery-ui-1.7.1.custom.min.js +0 -273
  303. trunk/includes/php/php_browsecap.ini +0 -12752
{trunk/classes → classes}/controllers/PrliAppController.php RENAMED
File without changes
classes/models/PrliClick.php CHANGED
@@ -9,60 +9,129 @@ class PrliClick
9
  $this->table_name = "{$wpdb->prefix}prli_clicks";
10
  }
11
 
12
- function get_ip_exclude_list()
13
- {
14
- $exclude_list = get_option('prli_exclude_ips');
15
- $exclude_list = preg_replace('#[ \t]#','',$exclude_list);
16
-
17
- if($exclude_list)
18
- return "'" . implode("','", explode(',',$exclude_list)) . "'";
19
- else
20
- return '';
21
- }
22
-
23
  function get_exclude_where_clause( $where = '', $abbr = 'cl')
24
  {
25
- $exclude_list = $this->get_ip_exclude_list();
 
 
 
26
 
27
- if($where == '')
28
- $starts_with = '';
29
- else
30
- $starts_with = ' AND';
31
 
32
- if( $exclude_list != '')
33
- return $starts_with . " $abbr.ip NOT IN (" . $exclude_list . ')';
34
- else
35
- return '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
 
38
  function getOne( $id )
39
  {
40
  global $wpdb, $prli_link, $prli_utils;
41
- $click_table = $wpdb->prefix . "prli_clicks";
42
  $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id AND id=' . $id . $prli_utils->prepend_and_or_where(' AND',$this->get_exclude_where_clause());
43
 
44
  return $wpdb->get_row($query);
45
  }
46
 
47
  // SELECT cl.*,li.name as link_name FROM wp_prli_clicks cl, wp_prli_links li WHERE li.id = cl.link_id ORDER BY created_at DESC
48
- function getAll($where = '', $order = '')
49
  {
50
  global $wpdb, $prli_link, $prli_utils;
51
- $click_table = $wpdb->prefix . "prli_clicks";
52
  $where .= $this->get_exclude_where_clause( $where );
53
  $where = $prli_utils->prepend_and_or_where(' AND', $where);
54
- $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order;
 
 
 
 
 
55
  return $wpdb->get_results($query);
56
  }
57
 
58
  // Delete all of the clicks from the database.
59
  function clearAllClicks()
60
  {
61
- global $wpdb;
62
- $query = "TRUNCATE TABLE " . $this->table_name;
 
 
 
 
63
  return $wpdb->query($query);
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  // Pagination Methods
67
  function getRecordCount($where='')
68
  {
@@ -70,6 +139,7 @@ class PrliClick
70
  $where .= $this->get_exclude_where_clause( $where );
71
  $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
72
  $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' cl'. $where;
 
73
  return $wpdb->get_var($query);
74
  }
75
 
@@ -78,15 +148,17 @@ class PrliClick
78
  return ceil((int)$this->getRecordCount($where) / (int)$p_size);
79
  }
80
 
81
- function getPage($current_p,$p_size, $where = '', $order = '')
82
  {
83
  global $wpdb, $prli_link, $prli_utils;
84
- $click_table = $wpdb->prefix . "prli_clicks";
85
  $end_index = $current_p * $p_size;
86
  $start_index = $end_index - $p_size;
87
  $where .= $this->get_exclude_where_clause( $where );
88
  $where = $prli_utils->prepend_and_or_where(' AND', $where);
89
- $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
 
 
 
90
  $results = $wpdb->get_results($query);
91
  return $results;
92
  }
@@ -115,6 +187,7 @@ class PrliClick
115
  {
116
  global $wpdb, $prli_link;
117
 
 
118
  $query = "SELECT DATE(cl.created_at) as cldate,COUNT(*) as clcount FROM ".$this->table_name." cl WHERE cl.created_at BETWEEN '".date("Y-n-j",$start_timestamp)." 00:00:00' AND '".date("Y-n-j",$end_timestamp)." 23:59:59'".$search_where.$this->get_exclude_where_clause( ' AND' );
119
 
120
  if($link_id != "all")
9
  $this->table_name = "{$wpdb->prefix}prli_clicks";
10
  }
11
 
 
 
 
 
 
 
 
 
 
 
 
12
  function get_exclude_where_clause( $where = '', $abbr = 'cl')
13
  {
14
+ global $prli_options;
15
+ $exclude_list = trim($prli_options->prli_exclude_ips);
16
+ $filter_bots = (int)$prli_options->filter_robots;
17
+ $return_stmt = '';
18
 
19
+ if(empty($exclude_list) and $filter_bots == 0)
20
+ return $return_stmt;
21
+
22
+ $return_stmt .= (empty($where)?'':' AND');
23
 
24
+ if(!empty($exclude_list))
25
+ {
26
+ $exclude_ips = explode(',',$exclude_list);
27
+ for($i = 0; $i < count($exclude_ips); $i++)
28
+ {
29
+ $exclude_ip = trim(preg_replace('#\*#','%',$exclude_ips[$i]));
30
+
31
+ if($i > 0)
32
+ $return_stmt .= ' AND';
33
+
34
+ $return_stmt .= " {$abbr}.ip NOT LIKE '{$exclude_ip}'";
35
+ }
36
+ }
37
+
38
+ if($filter_bots != 0)
39
+ {
40
+ $return_stmt .= (empty($exclude_list)?' (':' AND (');
41
+ $whitelist = trim($prli_options->whitelist_ips);
42
+
43
+ if(!empty($whitelist))
44
+ {
45
+ $whitelist_ips = explode(',',$whitelist);
46
+ for($i = 0; $i <= count($whitelist_ips); $i++)
47
+ {
48
+ if($i == count($whitelist_ips))
49
+ {
50
+ $return_stmt .= ' OR';
51
+ break;
52
+ }
53
+
54
+ $whitelist_ip = trim(preg_replace('#\*#','%',$whitelist_ips[$i]));
55
+
56
+ if($i > 0)
57
+ $return_stmt .= ' OR';
58
+
59
+ $return_stmt .= " {$abbr}.ip LIKE '{$whitelist_ip}'";
60
+ }
61
+
62
+ }
63
+
64
+ $return_stmt .= " {$abbr}.robot=0 )";
65
+ }
66
+
67
+ return $return_stmt;
68
  }
69
 
70
  function getOne( $id )
71
  {
72
  global $wpdb, $prli_link, $prli_utils;
 
73
  $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id AND id=' . $id . $prli_utils->prepend_and_or_where(' AND',$this->get_exclude_where_clause());
74
 
75
  return $wpdb->get_row($query);
76
  }
77
 
78
  // SELECT cl.*,li.name as link_name FROM wp_prli_clicks cl, wp_prli_links li WHERE li.id = cl.link_id ORDER BY created_at DESC
79
+ function getAll($where = '', $order = '', $include_stats = false, $limit = '')
80
  {
81
  global $wpdb, $prli_link, $prli_utils;
 
82
  $where .= $this->get_exclude_where_clause( $where );
83
  $where = $prli_utils->prepend_and_or_where(' AND', $where);
84
+ $limit = (empty($limit)?'':" LIMIT {$limit}");
85
+ if($include_stats)
86
+ $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . $limit;
87
+ else
88
+ $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . $limit;
89
+
90
  return $wpdb->get_results($query);
91
  }
92
 
93
  // Delete all of the clicks from the database.
94
  function clearAllClicks()
95
  {
96
+ global $wpdb, $prli_link_meta;
97
+
98
+ $query = $wpdb->prepare("DELETE FROM {$prli_link_meta->table_name} WHERE meta_key=%s OR meta_key=%s", 'static-clicks', 'static-uniques');
99
+ $wpdb->query($query);
100
+
101
+ $query = "TRUNCATE TABLE {$this->table_name}";
102
  return $wpdb->query($query);
103
  }
104
 
105
+ /* This will delete all the clicks in the database by their age measured in days. */
106
+ function clear_clicks_by_age_in_days($days)
107
+ {
108
+ global $wpdb;
109
+
110
+ $days_in_seconds = $days * 24 * 60 * 60;
111
+ $oldest_time = time() - $days_in_seconds;
112
+
113
+ $num_records = $this->getRecordCount( " UNIX_TIMESTAMP(created_at) < {$oldest_time}" );
114
+
115
+ if($num_records)
116
+ {
117
+ $query = "DELETE FROM {$this->table_name} WHERE UNIX_TIMESTAMP(created_at) < %d";
118
+ $query = $wpdb->prepare( $query, $oldest_time );
119
+
120
+ $wpdb->query($query);
121
+ }
122
+
123
+ return $num_records;
124
+ }
125
+
126
+ function get_distinct_ip_count($where='')
127
+ {
128
+ global $wpdb, $prli_link, $prli_utils;
129
+ $where .= $this->get_exclude_where_clause( $where );
130
+ $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
131
+ $query = 'SELECT COUNT(DISTINCT ip) FROM ' . $this->table_name . ' cl'. $where;
132
+ return $wpdb->get_var($query);
133
+ }
134
+
135
  // Pagination Methods
136
  function getRecordCount($where='')
137
  {
139
  $where .= $this->get_exclude_where_clause( $where );
140
  $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
141
  $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' cl'. $where;
142
+
143
  return $wpdb->get_var($query);
144
  }
145
 
148
  return ceil((int)$this->getRecordCount($where) / (int)$p_size);
149
  }
150
 
151
+ function getPage($current_p,$p_size, $where = '', $order = '',$include_stats=false)
152
  {
153
  global $wpdb, $prli_link, $prli_utils;
 
154
  $end_index = $current_p * $p_size;
155
  $start_index = $end_index - $p_size;
156
  $where .= $this->get_exclude_where_clause( $where );
157
  $where = $prli_utils->prepend_and_or_where(' AND', $where);
158
+ if($include_stats)
159
+ $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
160
+ else
161
+ $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
162
  $results = $wpdb->get_results($query);
163
  return $results;
164
  }
187
  {
188
  global $wpdb, $prli_link;
189
 
190
+ $search_where = '';
191
  $query = "SELECT DATE(cl.created_at) as cldate,COUNT(*) as clcount FROM ".$this->table_name." cl WHERE cl.created_at BETWEEN '".date("Y-n-j",$start_timestamp)." 00:00:00' AND '".date("Y-n-j",$end_timestamp)." 23:59:59'".$search_where.$this->get_exclude_where_clause( ' AND' );
192
 
193
  if($link_id != "all")
classes/models/PrliGroup.php CHANGED
@@ -49,17 +49,25 @@ class PrliGroup
49
  return $wpdb->query($destroy);
50
  }
51
 
52
- function getOne( $id )
53
  {
54
  global $wpdb, $prli_link, $prli_click;
55
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count, (SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl WHERE link_id IN (SELECT li2.id FROM ' . $prli_link->table_name . ' li2 WHERE li2.group_id=gr.id)) as click_count FROM ' . $this->table_name . ' gr WHERE id=' . $id . ';';
 
 
 
 
56
  return $wpdb->get_row($query);
57
  }
58
 
59
- function getAll( $where = '', $order_by = '', $return_type = OBJECT )
60
  {
61
  global $wpdb, $prli_utils, $prli_link, $prli_click;
62
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count, (SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl WHERE link_id IN (SELECT li2.id FROM ' . $prli_link->table_name . ' li2 WHERE li2.group_id=gr.id)) as click_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
 
 
 
 
63
  return $wpdb->get_results($query, $return_type);
64
  }
65
 
@@ -81,7 +89,7 @@ class PrliGroup
81
  global $wpdb, $prli_link, $prli_utils, $prli_click;
82
  $end_index = $current_p * $p_size;
83
  $start_index = $end_index - $p_size;
84
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count, (SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl WHERE link_id IN (SELECT li2.id FROM ' . $prli_link->table_name . ' li2 WHERE li2.group_id=gr.id)) as click_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by .' LIMIT ' . $start_index . ',' . $p_size;
85
  $results = $wpdb->get_results($query);
86
  return $results;
87
  }
49
  return $wpdb->query($destroy);
50
  }
51
 
52
+ function getOne( $id, $include_stats = false )
53
  {
54
  global $wpdb, $prli_link, $prli_click;
55
+
56
+ if($include_stats)
57
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr WHERE id=' . $id;
58
+ else
59
+ $query = 'SELECT gr.* FROM ' . $this->table_name . ' gr WHERE id=' . $id;
60
  return $wpdb->get_row($query);
61
  }
62
 
63
+ function getAll( $where = '', $order_by = '', $return_type = OBJECT, $include_stats = false )
64
  {
65
  global $wpdb, $prli_utils, $prli_link, $prli_click;
66
+
67
+ if($include_stats)
68
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
69
+ else
70
+ $query = 'SELECT gr.* FROM ' . $this->table_name . " gr" . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
71
  return $wpdb->get_results($query, $return_type);
72
  }
73
 
89
  global $wpdb, $prli_link, $prli_utils, $prli_click;
90
  $end_index = $current_p * $p_size;
91
  $start_index = $end_index - $p_size;
92
+ $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by .' LIMIT ' . $start_index . ',' . $p_size;
93
  $results = $wpdb->get_results($query);
94
  return $results;
95
  }
classes/models/PrliLink.php CHANGED
@@ -11,9 +11,13 @@ class PrliLink
11
 
12
  function create( $values )
13
  {
14
- global $wpdb;
 
 
 
 
 
15
 
16
- $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
17
  $query_str = "INSERT INTO {$this->table_name} " .
18
  '(url,'.
19
  'slug,'.
@@ -22,15 +26,11 @@ class PrliLink
22
  'param_struct,'.
23
  'redirect_type,'.
24
  'description,'.
25
- 'gorder,'.
26
  'track_me,'.
27
  'nofollow,'.
28
- 'use_prettybar,'.
29
- 'use_ultra_cloak,'.
30
- 'track_as_img,'.
31
  'group_id,'.
32
  'created_at) ' .
33
- 'VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%d,%d,%d,%d,%d,%d,NOW())';
34
 
35
  $query = $wpdb->prepare( $query_str,
36
  $values['url'],
@@ -40,12 +40,8 @@ class PrliLink
40
  $values['param_struct'],
41
  $values['redirect_type'],
42
  $values['description'],
43
- $values['gorder'],
44
  (int)isset($values['track_me']),
45
  (int)isset($values['nofollow']),
46
- (int)isset($values['use_prettybar']),
47
- (int)isset($values['use_ultra_cloak']),
48
- (int)isset($values['track_as_img']),
49
  (isset($values['group_id'])?(int)$values['group_id']:'NULL') );
50
  $query_results = $wpdb->query($query);
51
 
@@ -57,9 +53,13 @@ class PrliLink
57
 
58
  function update( $id, $values )
59
  {
60
- global $wpdb;
 
 
 
 
 
61
 
62
- $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
63
  $query_str = "UPDATE {$this->table_name} " .
64
  'SET url=%s, ' .
65
  'slug=%s, ' .
@@ -68,29 +68,21 @@ class PrliLink
68
  'param_struct=%s, ' .
69
  'redirect_type=%s, ' .
70
  'description=%s, ' .
71
- 'gorder=%s, ' .
72
  'track_me=%d, ' .
73
  'nofollow=%d, ' .
74
- 'use_prettybar=%d, ' .
75
- 'use_ultra_cloak=%d, ' .
76
- 'track_as_img=%d, ' .
77
  'group_id=%d ' .
78
  ' WHERE id=%d';
79
 
80
  $query = $wpdb->prepare( $query_str,
81
- $values['url'],
82
- $values['slug'],
83
- $values['name'],
84
- $values['param_forwarding'],
85
- $values['param_struct'],
86
- $values['redirect_type'],
87
- $values['description'],
88
- $values['gorder'],
89
  (int)isset($values['track_me']),
90
  (int)isset($values['nofollow']),
91
- (int)isset($values['use_prettybar']),
92
- (int)isset($values['use_ultra_cloak']),
93
- (int)isset($values['track_as_img']),
94
  (isset($values['group_id'])?(int)$values['group_id']:'NULL'),
95
  $id );
96
 
@@ -111,11 +103,14 @@ class PrliLink
111
  function destroy( $id )
112
  {
113
  require_once(PRLI_MODELS_PATH.'/models.inc.php');
114
- global $wpdb, $prli_click;
115
 
116
- $reset = 'DELETE FROM ' . $prli_click->table_name . ' WHERE link_id=' . $id;
117
- $destroy = 'DELETE FROM ' . $this->table_name . ' WHERE id=' . $id;
 
 
118
 
 
119
  $wpdb->query($reset);
120
  return $wpdb->query($destroy);
121
  }
@@ -123,75 +118,213 @@ class PrliLink
123
  function reset( $id )
124
  {
125
  require_once(PRLI_MODELS_PATH.'/models.inc.php');
126
- global $wpdb, $prli_click;
 
 
 
127
 
128
- $reset = 'DELETE FROM ' . $prli_click->table_name . ' WHERE link_id=' . $id;
129
  return $wpdb->query($reset);
130
  }
131
 
132
- function getOneFromSlug( $slug, $return_type = OBJECT )
133
  {
134
- global $wpdb, $prli_click;
135
- $query = 'SELECT li.*, ' .
136
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
137
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
138
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
139
- 'WHERE cl.link_id = li.id ' .
140
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ' .
141
- 'FROM ' . $this->table_name . ' li ' .
142
- 'WHERE slug=\'' . $slug . '\'';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  return $wpdb->get_row($query, $return_type);
144
  }
145
 
146
- function getOne( $id )
147
  {
148
- global $wpdb, $prli_click;
149
- $query = 'SELECT li.*, ' .
150
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
151
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
152
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
153
- 'WHERE cl.link_id = li.id ' .
154
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ' .
155
- 'FROM ' . $this->table_name . ' li ' .
156
- 'WHERE id=' . $id;
157
- return $wpdb->get_row($query);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  }
159
 
160
  function get_link_min( $id, $return_type = OBJECT )
161
  {
162
  global $wpdb;
163
- $query_str = 'SELECT id,'.
164
- 'url,'.
165
- 'slug,'.
166
- 'name,'.
167
- 'description,'.
168
- 'group_id,'.
169
- 'redirect_type,'.
170
- 'track_me,'.
171
- 'use_prettybar,'.
172
- 'use_ultra_cloak,'.
173
- 'param_forwarding,'.
174
- 'param_struct,'.
175
- 'track_as_img '.
176
- "FROM {$this->table_name} ".
177
- 'WHERE id=%d';
178
  $query = $wpdb->prepare($query_str, $id);
179
  return $wpdb->get_row($query, $return_type);
180
  }
181
 
182
- function getAll($where = '', $order_by = '', $return_type = OBJECT)
183
  {
184
- global $wpdb, $prli_click, $prli_group, $prli_utils;
185
- $query = 'SELECT li.*, ' .
186
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
187
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
188
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
189
- 'WHERE cl.link_id = li.id ' .
190
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ' .
191
- 'gr.name as group_name ' .
192
- 'FROM '. $this->table_name . ' li ' .
193
- 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
194
- $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  return $wpdb->get_results($query, $return_type);
196
  }
197
 
@@ -210,16 +343,26 @@ class PrliLink
210
 
211
  function getPage($current_p,$p_size, $where = "", $order_by = '', $return_type = OBJECT)
212
  {
213
- global $wpdb, $prli_click, $prli_utils, $prli_group;
214
  $end_index = $current_p * $p_size;
215
  $start_index = $end_index - $p_size;
216
- $query = 'SELECT li.*, ' .
217
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
 
 
218
  'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
219
  '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
220
  'WHERE cl.link_id = li.id ' .
221
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ' .
222
- 'gr.name as group_name ' .
 
 
 
 
 
 
 
 
223
  'FROM ' . $this->table_name . ' li ' .
224
  'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
225
  $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by . ' ' .
@@ -261,34 +404,33 @@ class PrliLink
261
  $link = $this->getOneFromSlug($slug);
262
 
263
  if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
264
- (isset($link->track_as_img) and $link->track_as_img == 1))
265
- return "&lt;img src=\"".$prli_blogurl . '/' . $link->slug . $link->param_struct . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
266
  else if((!isset($link->param_forwarding) or $link->param_forwarding != 'custom') and
267
- (isset($link->track_as_img) and $link->track_as_img == 1))
268
- return "&lt;img src=\"".$prli_blogurl . '/' . $link->slug . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
269
  else if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
270
- (!isset($link->track_as_img) or $link->track_as_img == 0))
271
- return $prli_blogurl . '/' . $link->slug . $link->param_struct;
272
  else
273
- return $prli_blogurl . '/' . $link->slug;
274
  }
275
 
276
  // Set defaults and grab get or post of each possible param
277
  function get_params_array()
278
  {
279
- $values = array(
280
- 'action' => (isset($_GET['action'])?$_GET['action']:(isset($_POST['action'])?$_POST['action']:'list')),
281
- 'regenerate' => (isset($_GET['regenerate'])?$_GET['regenerate']:(isset($_POST['regenerate'])?$_POST['regenerate']:'false')),
282
- 'id' => (isset($_GET['id'])?$_GET['id']:(isset($_POST['id'])?$_POST['id']:'')),
283
- 'group_name' => (isset($_GET['group_name'])?$_GET['group_name']:(isset($_POST['group_name'])?$_POST['group_name']:'')),
284
- 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
285
- 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
286
- 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
287
- 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
288
- 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
 
289
  );
290
-
291
- return $values;
292
  }
293
 
294
  function validate( $values )
@@ -296,23 +438,28 @@ class PrliLink
296
  global $wpdb, $prli_utils, $prli_blogurl;
297
 
298
  $errors = array();
299
- if( ( $values['url'] == null or $values['url'] == '') and $values['track_as_img'] != 'on' )
300
- $errors[] = "Target URL can't be blank -- unless this Pretty Link is being used as a tracking pixel (see Advanced Options on this page)";
301
 
302
  if( $values['slug'] == null or $values['slug'] == '' )
303
  $errors[] = "Pretty Link can't be blank";
304
 
305
- if( $values['url'] == "$prli_blogurl/".$values['slug'] )
306
  $errors[] = "Target URL must be different than the Pretty Link";
307
 
308
- if( !empty($values['url']) and !preg_match('/^http.?:\/\/.*\..*$/', $values['url'] ) )
 
 
309
  $errors[] = "Link URL must be a correctly formatted url";
310
 
311
- if( !preg_match('/^[a-zA-Z0-9\.\-_\/]+$/', $values['slug'] ) )
312
- $errors[] = "Pretty Link must not contain spaces or special characters";
 
 
 
313
 
314
  if( !$prli_utils->slugIsAvailable($values['slug'],$values['id']) )
315
- $errors[] = "This pretty link slug is already taken, please choose a different one";
316
 
317
  if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and empty($values['param_struct']) )
318
  $errors[] = "If Custom Parameter Forwarding has been selected then you must specify a forwarding format.";
11
 
12
  function create( $values )
13
  {
14
+ global $wpdb, $prli_url_utils;
15
+
16
+ if($values['redirect_type'] == 'pixel')
17
+ $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
18
+ else
19
+ $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
20
 
 
21
  $query_str = "INSERT INTO {$this->table_name} " .
22
  '(url,'.
23
  'slug,'.
26
  'param_struct,'.
27
  'redirect_type,'.
28
  'description,'.
 
29
  'track_me,'.
30
  'nofollow,'.
 
 
 
31
  'group_id,'.
32
  'created_at) ' .
33
+ 'VALUES (%s,%s,%s,%s,%s,%s,%s,%d,%d,%d,NOW())';
34
 
35
  $query = $wpdb->prepare( $query_str,
36
  $values['url'],
40
  $values['param_struct'],
41
  $values['redirect_type'],
42
  $values['description'],
 
43
  (int)isset($values['track_me']),
44
  (int)isset($values['nofollow']),
 
 
 
45
  (isset($values['group_id'])?(int)$values['group_id']:'NULL') );
46
  $query_results = $wpdb->query($query);
47
 
53
 
54
  function update( $id, $values )
55
  {
56
+ global $wpdb, $prli_url_utils;
57
+
58
+ if($values['redirect_type'] == 'pixel')
59
+ $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
60
+ else
61
+ $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
62
 
 
63
  $query_str = "UPDATE {$this->table_name} " .
64
  'SET url=%s, ' .
65
  'slug=%s, ' .
68
  'param_struct=%s, ' .
69
  'redirect_type=%s, ' .
70
  'description=%s, ' .
 
71
  'track_me=%d, ' .
72
  'nofollow=%d, ' .
 
 
 
73
  'group_id=%d ' .
74
  ' WHERE id=%d';
75
 
76
  $query = $wpdb->prepare( $query_str,
77
+ isset($values['url'])?$values['url']:'',
78
+ isset($values['slug'])?$values['slug']:'',
79
+ isset($values['name'])?$values['name']:'',
80
+ isset($values['param_forwarding'])?$values['param_forwarding']:'',
81
+ isset($values['param_struct'])?$values['param_struct']:'',
82
+ isset($values['redirect_type'])?$values['redirect_type']:'',
83
+ isset($values['description'])?$values['description']:'',
 
84
  (int)isset($values['track_me']),
85
  (int)isset($values['nofollow']),
 
 
 
86
  (isset($values['group_id'])?(int)$values['group_id']:'NULL'),
87
  $id );
88
 
103
  function destroy( $id )
104
  {
105
  require_once(PRLI_MODELS_PATH.'/models.inc.php');
106
+ global $wpdb, $prli_click, $prli_link_meta;
107
 
108
+ do_action('prli_delete_link', $id);
109
+ $metas = $wpdb->prepare("DELETE FROM {$prli_link_meta->table_name} WHERE link_id=%d",$id);
110
+ $reset = $wpdb->prepare("DELETE FROM {$prli_click->table_name} WHERE link_id=%d",$id);
111
+ $destroy = $wpdb->prepare("DELETE FROM {$this->table_name} WHERE id=%d",$id);
112
 
113
+ $wpdb->query($metas);
114
  $wpdb->query($reset);
115
  return $wpdb->query($destroy);
116
  }
118
  function reset( $id )
119
  {
120
  require_once(PRLI_MODELS_PATH.'/models.inc.php');
121
+ global $wpdb, $prli_click, $prli_link_meta;
122
+
123
+ $prli_link_meta->delete_link_meta($id, 'static-clicks');
124
+ $prli_link_meta->delete_link_meta($id, 'static-uniques');
125
 
126
+ $reset = $wpdb->prepare("DELETE FROM {$prli_click->table_name} WHERE link_id=%d", $id);
127
  return $wpdb->query($reset);
128
  }
129
 
130
+ function getOneFromSlug( $slug, $return_type = OBJECT, $include_stats = false )
131
  {
132
+ global $wpdb, $prli_click, $prli_options, $prli_link_meta;
133
+ if($include_stats)
134
+ {
135
+ $query = 'SELECT li.*, ';
136
+ if($prli_options->extended_tracking != 'count')
137
+ {
138
+ $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
139
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
140
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
141
+ 'WHERE cl.link_id = li.id ' .
142
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ';
143
+ }
144
+ else
145
+ {
146
+ $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
147
+ 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
148
+ '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
149
+ 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques ';
150
+ }
151
+ $query .= "FROM {$this->table_name} li " .
152
+ 'WHERE slug=%s';
153
+ }
154
+ else
155
+ $query = "SELECT * FROM {$this->table_name} WHERE slug=%s";
156
+
157
+ $query = $wpdb->prepare($query, $slug);
158
+ $link = $wpdb->get_row($query, $return_type);
159
+
160
+ if( $include_stats and $link and $prli_options->extended_tracking == 'count' )
161
+ {
162
+ $link->clicks = $prli_link_meta->get_link_meta($link->id,'static-clicks',true);
163
+ $link->uniques = $prli_link_meta->get_link_meta($link->id,'static-uniques',true);
164
+ }
165
+
166
+ return $link;
167
+ }
168
+
169
+ function getOne( $id, $return_type = OBJECT, $include_stats = false )
170
+ {
171
+ global $wpdb, $prli_click, $prli_link_meta, $prli_options;
172
+ if( !isset($id) or empty($id) )
173
+ return false;
174
+
175
+ if($include_stats)
176
+ {
177
+ $query = 'SELECT li.*, ';
178
+ if($prli_options->extended_tracking != 'count')
179
+ {
180
+ $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
181
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
182
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
183
+ 'WHERE cl.link_id = li.id ' .
184
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ';
185
+ }
186
+ else
187
+ {
188
+ $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
189
+ 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
190
+ '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
191
+ 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques ';
192
+ }
193
+ $query .= 'FROM ' . $this->table_name . ' li ' .
194
+ 'WHERE id=%d';
195
+ }
196
+ else
197
+ $query = "SELECT * FROM {$this->table_name} WHERE id=%d";
198
+
199
+ $query = $wpdb->prepare($query, $id);
200
  return $wpdb->get_row($query, $return_type);
201
  }
202
 
203
+ function find_first_target_url($target_url)
204
  {
205
+ global $wpdb;
206
+ $query_str = "SELECT id FROM {$this->table_name} WHERE url=%s LIMIT 1";
207
+ $query = $wpdb->prepare($query_str,$target_url);
208
+ return $wpdb->get_var($query);
209
+ }
210
+
211
+ function &get_or_create_pretty_link_for_target_url( $target_url, $group=0 )
212
+ {
213
+ $pretty_link_id = $this->find_first_target_url( $target_url );
214
+ $pretty_link = $this->getOne($pretty_link_id);
215
+
216
+ if(empty($pretty_link) or !$pretty_link)
217
+ {
218
+ $pl_insert_id = prli_create_pretty_link( $target_url, '', '', '', $group );
219
+ $pretty_link = $this->getOne($pl_insert_id);
220
+ }
221
+ else
222
+ prli_update_pretty_link( $pretty_link->id, '', '', '', '', $group );
223
+
224
+ if( !isset($pretty_link) or
225
+ empty($pretty_link) or
226
+ !$pretty_link )
227
+ return false;
228
+ else
229
+ return $pretty_link;
230
+ }
231
+
232
+ function is_pretty_link($url, $check_domain=true)
233
+ {
234
+ global $prli_blogurl;
235
+
236
+ if( !$check_domain or preg_match( '#^' . preg_quote( $prli_blogurl ) . '#', $url ) )
237
+ {
238
+ $uri = preg_replace('#' . preg_quote($prli_blogurl) . '#', '', $url);
239
+
240
+ // Resolve WP installs in sub-directories
241
+ preg_match('#^(https?://.*?)(/.*)$#', $prli_blogurl, $subdir);
242
+
243
+ $struct = PrliUtils::get_permalink_pre_slug_regex();
244
+
245
+ $subdir_str = (isset($subdir[2])?$subdir[2]:'');
246
+
247
+ $match_str = '#^'.$subdir_str.'('.$struct.')([^\?]*?)([\?].*?)?$#';
248
+
249
+ if(preg_match($match_str, $uri, $match_val))
250
+ {
251
+ // Match longest slug -- this is the most common
252
+ $params = (isset($match_val[3])?$match_val[3]:'');
253
+ if( $pretty_link_found =& $this->is_pretty_link_slug( $match_val[2] ) )
254
+ return compact('pretty_link_found','pretty_link_params');
255
+
256
+ // Trim down the matched link
257
+ $matched_link = preg_replace('#/[^/]*?$#','',$match_val[2],1);
258
+
259
+ // cycle through the links (maximum depth 25 folders so we don't get out
260
+ // of control -- that should be enough eh?) and trim the link down each time
261
+ for( $i=0; ($i < 25) and
262
+ $matched_link and
263
+ !empty($matched_link) and
264
+ $matched_link != $match_val[2]; $i++ )
265
+ {
266
+ $new_match_str ="#^{$subdir_str}({$struct})({$matched_link})(.*?)?$#";
267
+
268
+ $params = (isset($match_val[3])?$match_val:'');
269
+ if( $pretty_link_found =& $this->is_pretty_link_slug( $match_val[2] ) )
270
+ return compact('pretty_link_found','pretty_link_params');
271
+
272
+ // Trim down the matched link and try again
273
+ $matched_link = preg_replace('#/[^/]*$#','',$match_val[2],1);
274
+ }
275
+ }
276
+ }
277
+
278
+ return false;
279
+ }
280
+
281
+ function is_pretty_link_slug($slug)
282
+ {
283
+ return $this->getOneFromSlug( urldecode($slug) );
284
  }
285
 
286
  function get_link_min( $id, $return_type = OBJECT )
287
  {
288
  global $wpdb;
289
+ $query_str = "SELECT * FROM {$this->table_name} WHERE id=%d";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  $query = $wpdb->prepare($query_str, $id);
291
  return $wpdb->get_row($query, $return_type);
292
  }
293
 
294
+ function getAll($where = '', $order_by = '', $return_type = OBJECT, $include_stats = false)
295
  {
296
+ global $wpdb, $prli_click, $prli_group, $prli_link_meta, $prli_options, $prli_utils;
297
+
298
+ if($include_stats)
299
+ {
300
+ $query = 'SELECT li.*, ';
301
+ if($prli_options->extended_tracking != 'count')
302
+ {
303
+ $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
304
+ 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
305
+ '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
306
+ 'WHERE cl.link_id = li.id ' .
307
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ';
308
+ }
309
+ else
310
+ {
311
+ $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
312
+ 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
313
+ '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
314
+ 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques, ';
315
+ }
316
+ $query .= 'gr.name as group_name ' .
317
+ 'FROM '. $this->table_name . ' li ' .
318
+ 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
319
+ $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
320
+ }
321
+ else
322
+ {
323
+ $query = "SELECT li.*, gr.name as group_name FROM {$this->table_name} li " .
324
+ 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
325
+ $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
326
+ }
327
+
328
  return $wpdb->get_results($query, $return_type);
329
  }
330
 
343
 
344
  function getPage($current_p,$p_size, $where = "", $order_by = '', $return_type = OBJECT)
345
  {
346
+ global $wpdb, $prli_click, $prli_utils, $prli_group, $prli_link_meta, $prli_options;
347
  $end_index = $current_p * $p_size;
348
  $start_index = $end_index - $p_size;
349
+ $query = 'SELECT li.*, ';
350
+ if($prli_options->extended_tracking != 'count')
351
+ {
352
+ $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
353
  'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
354
  '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
355
  'WHERE cl.link_id = li.id ' .
356
+ 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ';
357
+ }
358
+ else
359
+ {
360
+ $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
361
+ 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
362
+ '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
363
+ 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques, ';
364
+ }
365
+ $query .= 'gr.name as group_name ' .
366
  'FROM ' . $this->table_name . ' li ' .
367
  'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
368
  $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by . ' ' .
404
  $link = $this->getOneFromSlug($slug);
405
 
406
  if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
407
+ (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
408
+ return "&lt;img src=\"".$prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . $link->param_struct . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
409
  else if((!isset($link->param_forwarding) or $link->param_forwarding != 'custom') and
410
+ (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
411
+ return "&lt;img src=\"".$prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
412
  else if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
413
+ (!isset($link->redirect_type) or $link->redirect_type != 'pixel'))
414
+ return $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . $link->param_struct;
415
  else
416
+ return $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug;
417
  }
418
 
419
  // Set defaults and grab get or post of each possible param
420
  function get_params_array()
421
  {
422
+ return array(
423
+ 'action' => (isset($_REQUEST['action'])?$_REQUEST['action']:'list'),
424
+ 'regenerate' => (isset($_REQUEST['regenerate'])?$_REQUEST['regenerate']:'false'),
425
+ 'id' => (isset($_REQUEST['id'])?$_REQUEST['id']:''),
426
+ 'group_name' => (isset($_REQUEST['group_name'])?$_REQUEST['group_name']:''),
427
+ 'paged' => (isset($_REQUEST['paged'])?$_REQUEST['paged']:1),
428
+ 'group' => (isset($_REQUEST['group'])?$_REQUEST['group']:''),
429
+ 'search' => (isset($_REQUEST['search'])?$_REQUEST['search']:''),
430
+ 'sort' => (isset($_REQUEST['sort'])?$_REQUEST['sort']:''),
431
+ 'sdir' => (isset($_REQUEST['sdir'])?$_REQUEST['sdir']:''),
432
+ 'message' => (isset($_REQUEST['message'])?$_REQUEST['message']:'')
433
  );
 
 
434
  }
435
 
436
  function validate( $values )
438
  global $wpdb, $prli_utils, $prli_blogurl;
439
 
440
  $errors = array();
441
+ if( ( $values['url'] == null or $values['url'] == '') and $values['redirect_type'] != 'pixel' )
442
+ $errors[] = "Target URL can't be blank";
443
 
444
  if( $values['slug'] == null or $values['slug'] == '' )
445
  $errors[] = "Pretty Link can't be blank";
446
 
447
+ if( $values['url'] == $prli_blogurl.PrliUtils::get_permalink_pre_slug_uri().$values['slug'] )
448
  $errors[] = "Target URL must be different than the Pretty Link";
449
 
450
+ if( !empty($values['url']) and
451
+ !preg_match('/^http.?:\/\/.*\..*$/', $values['url'] ) and
452
+ !preg_match('!^(http|https)://(localhost|127\.0\.0\.1)(:\d+)?(/[\w- ./?%&=]*)?!', $values['url'] ) )
453
  $errors[] = "Link URL must be a correctly formatted url";
454
 
455
+ if( preg_match('/^[\?\&\#]+$/', $values['slug'] ) )
456
+ $errors[] = "Pretty Link slugs must not contain question marks, ampersands or number signs.";
457
+
458
+ if( preg_match('#/$#', $values['slug']) )
459
+ $errors[] = "Pretty Link slugs must not end with a slash (\"/\")";
460
 
461
  if( !$prli_utils->slugIsAvailable($values['slug'],$values['id']) )
462
+ $errors[] = "This Pretty Link Slug is already taken. Check to make sure it isn't being used by another pretty link, post, page, category or tag slug. If none of these are true then check to see that this slug isn't the name of a file in the root folder of your wordpress install.";
463
 
464
  if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and empty($values['param_struct']) )
465
  $errors[] = "If Custom Parameter Forwarding has been selected then you must specify a forwarding format.";
classes/models/PrliLinkMeta.php CHANGED
@@ -39,10 +39,11 @@ class PrliLinkMeta
39
  if(!is_array($meta_values))
40
  $meta_values = array($meta_values);
41
 
 
42
  foreach($meta_values as $meta_value)
43
- $this->add_link_meta($link_id, $meta_key, $meta_value);
44
 
45
- return $wpdb->query($query);
46
  }
47
 
48
  function delete_link_meta($link_id, $meta_key)
39
  if(!is_array($meta_values))
40
  $meta_values = array($meta_values);
41
 
42
+ $status = false;
43
  foreach($meta_values as $meta_value)
44
+ $status = $this->add_link_meta($link_id, $meta_key, $meta_value);
45
 
46
+ return $status;
47
  }
48
 
49
  function delete_link_meta($link_id, $meta_key)
{trunk/classes → classes}/models/PrliOptions.php RENAMED
File without changes
{trunk/classes → classes}/models/PrliUpdate.php RENAMED
File without changes
{trunk/classes → classes}/models/PrliUrlUtils.php RENAMED
File without changes
classes/models/PrliUtils.php CHANGED
@@ -83,13 +83,9 @@ class PrliUtils
83
  function getFirstRecordNum($r_count,$current_p,$p_size)
84
  {
85
  if($current_p == 1)
86
- {
87
  return 1;
88
- }
89
  else
90
- {
91
  return ($this->getLastRecordNum($r_count,($current_p - 1),$p_size) + 1);
92
- }
93
  }
94
 
95
  function slugIsAvailable( $full_slug, $id = '' )
@@ -102,13 +98,11 @@ class PrliUtils
102
  $slug = $slug_components[0];
103
 
104
  // Check slug uniqueness against posts, pages and categories
105
- $posts_table = $wpdb->prefix . "posts";
106
- $terms_table = $wpdb->prefix . "terms";
107
 
108
- $post_slug = $wpdb->get_var("SELECT post_name FROM $posts_table WHERE post_name='$slug'");
109
- $term_slug = $wpdb->get_col("SELECT slug FROM $terms_table WHERE slug='$slug'");
110
-
111
- if( $post_slug == $slug or $term_slug == $slug )
112
  return false;
113
 
114
  // Check slug against files on the root wordpress install
@@ -122,21 +116,43 @@ class PrliUtils
122
 
123
  // Check slug against other slugs in the prli links database.
124
  // We'll use the full_slug here because its easier to guarantee uniqueness.
125
- if($id != null and $id != '')
126
- $query = "SELECT slug FROM " . $prli_link->table_name . " WHERE slug='" . $full_slug . "' AND id <> " . $id;
127
  else
128
- $query = "SELECT slug FROM " . $prli_link->table_name . " WHERE slug='" . $full_slug . "'";
129
 
130
  $link_slug = $wpdb->get_var($query);
131
 
132
  if( $link_slug == $full_slug )
133
  return false;
134
 
 
 
 
 
 
135
  // TODO: Check permalink structure to avoid the ability of creating a year or something as a slug
136
 
137
  return true;
138
  }
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  /* Needed because we don't know if the target uesr will have a browsercap file installed
141
  on their server ... particularly in a shared hosting environment this is difficult
142
  */
@@ -146,34 +162,38 @@ class PrliUtils
146
  $yu=array();
147
  $q_s=array("#\.#","#\*#","#\?#");
148
  $q_r=array("\.",".*",".?");
149
- $brows=parse_ini_file(PRLI_PATH."/includes/php/php_browsecap.ini",true);
150
- foreach($brows as $k=>$t)
 
151
  {
152
- if(fnmatch($k,$agent))
153
  {
154
- $yu['browser_name_pattern']=$k;
155
- $pat=preg_replace($q_s,$q_r,$k);
156
- $yu['browser_name_regex']=strtolower("^$pat$");
157
- foreach($brows as $g=>$r)
158
  {
159
- if($t['Parent']==$g)
 
 
 
160
  {
161
- foreach($brows as $a=>$b)
162
  {
163
- if($r['Parent']==$a)
164
  {
165
- $yu=array_merge($yu,$b,$r,$t);
166
- foreach($yu as $d=>$z)
167
  {
168
- $l=strtolower($d);
169
- $hu[$l]=$z;
 
 
 
 
170
  }
171
  }
172
  }
173
  }
 
 
174
  }
175
-
176
- break;
177
  }
178
  }
179
 
@@ -183,7 +203,7 @@ class PrliUtils
183
  // This is where the magic happens!
184
  function track_link($slug,$values)
185
  {
186
- global $wpdb, $prli_click, $prli_link;
187
 
188
  $query = "SELECT * FROM ".$prli_link->table_name." WHERE slug='$slug' LIMIT 1";
189
  $pretty_link = $wpdb->get_row($query);
@@ -192,53 +212,95 @@ class PrliUtils
192
 
193
  if(isset($pretty_link->track_me) and $pretty_link->track_me)
194
  {
195
- $first_click = false;
196
-
197
- $click_ip = $_SERVER['REMOTE_ADDR'];
198
- $click_referer = $_SERVER['HTTP_REFERER'];
199
- $click_host = gethostbyaddr($click_ip);
200
-
201
- $click_uri = $_SERVER['REQUEST_URI'];
202
- $click_user_agent = $_SERVER['HTTP_USER_AGENT'];
203
- $click_browser = $this->php_get_browser();
204
 
 
 
 
 
 
205
  //Set Cookie if it doesn't exist
206
  $cookie_name = 'prli_click_' . $pretty_link->id;
 
207
  //Used for unique click tracking
208
  $cookie_expire_time = time()+60*60*24*30; // Expire in 30 days
209
-
210
- $visitor_cookie = 'prli_visitor';
211
- //Used for visitor activity
212
- $visitor_cookie_expire_time = time()+60*60*24*365; // Expire in 1 year
213
 
214
-
215
- if($_COOKIE[$cookie_name] == null)
216
  {
217
- setcookie($cookie_name,$slug,$cookie_expire_time);
218
- $first_click = true;
219
  }
220
 
221
- // Retrieve / Generate visitor id
222
- if($_COOKIE[$visitor_cookie] == null)
223
  {
224
- $visitor_uid = $prli_click->generateUniqueVisitorId();
225
- setcookie($visitor_cookie,$visitor_uid,$visitor_cookie_expire_time);
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
227
  else
228
- $visitor_uid = $_COOKIE[$visitor_cookie];
229
-
230
- //Record Click in DB
231
- $insert = "INSERT INTO ".$prli_click->table_name." (link_id,vuid,ip,browser,btype,bversion,os,referer,uri,host,first_click,created_at) VALUES ($pretty_link->id,'$visitor_uid','$click_ip','$click_user_agent','".$click_browser['browser']."','".$click_browser['version']."','".$click_browser['platform']."','$click_referer','$click_uri','$click_host','$first_click',NOW())";
232
-
233
- $results = $wpdb->query( $insert );
234
 
235
- do_action('prli_record_click',array('link_id' => $pretty_link->id, 'click_id' => $wpdb->insert_id, 'url' => $pretty_link_url));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }
237
 
238
  // Reformat Parameters
239
  $param_string = '';
240
 
241
- if(isset($pretty_link->param_forwarding) and $pretty_link->param_forwarding and isset($values) and count($values) >= 1)
242
  {
243
  $first_param = true;
244
  foreach($values as $key => $value)
@@ -255,34 +317,27 @@ class PrliUtils
255
  }
256
  }
257
 
258
- //Redirect to Product URL
259
- if(!isset($pretty_link->track_as_img) or $pretty_link->track_as_img == 0)
 
 
260
  {
261
- if(isset($pretty_link->nofollow) and $pretty_link->nofollow)
262
- header('X-Robots-Tag: noindex, nofollow');
263
-
264
- // If we're using the pretty bar then don't redirect -- load the pretty bar view
265
- if( isset($pretty_link->use_prettybar) and $pretty_link->use_prettybar )
266
- {
267
- global $prli_blogurl;
268
- require_once PRLI_VIEWS_PATH . '/prli-links/bar.php';
269
- }
270
- else if( isset($pretty_link->use_ultra_cloak) and $pretty_link->use_ultra_cloak )
271
- require_once PRLI_VIEWS_PATH . '/prli-links/ultra-cloak.php';
272
- else
273
- {
274
- if ((int)$pretty_link->redirect_type == 301)
275
- header("HTTP/1.1 301 Moved Permanently");
276
- elseif ((int)$pretty_link->redirect_type == 307)
277
  {
278
  if($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
279
  header("HTTP/1.1 302 Found");
280
  else
281
  header("HTTP/1.1 307 Temporary Redirect");
 
282
  }
283
-
284
- header('Location: '.$pretty_link_url.$param_string);
285
- }
286
  }
287
  }
288
 
@@ -488,7 +543,7 @@ class PrliUtils
488
  case '}':
489
  if(!empty($index_str) and !empty($value_str))
490
  {
491
- $json_array[$index_str] = htmlspecialchars_decode(stripslashes($value_str));
492
  $index_str = '';
493
  $value_str = '';
494
  }
@@ -497,7 +552,7 @@ class PrliUtils
497
  case ']':
498
  if(!empty($value_str))
499
  {
500
- $json_array[] = htmlspecialchars_decode(stripslashes($value_str));
501
  $value_str = '';
502
  }
503
  return array($i,$json_array);
@@ -546,7 +601,7 @@ class PrliUtils
546
  {
547
  if(!empty($index_str) and !empty($value_str))
548
  {
549
- $json_array[$index_str] = htmlspecialchars_decode(stripslashes($value_str));
550
  $index_str = '';
551
  $value_str = '';
552
  }
@@ -558,7 +613,7 @@ class PrliUtils
558
  {
559
  if(!empty($value_str))
560
  {
561
- $json_array[] = htmlspecialchars_decode(stripslashes($value_str));
562
  $value_str = '';
563
  }
564
 
@@ -580,6 +635,17 @@ class PrliUtils
580
  return array(-1,$json_array);
581
  }
582
 
 
 
 
 
 
 
 
 
 
 
 
583
  // Get the timestamp of the start date
584
  function get_start_date($values,$min_date = '')
585
  {
@@ -617,274 +683,496 @@ class PrliUtils
617
  return (( $where == '' )?'':$starts_with . $where);
618
  }
619
 
620
- // Determines whether or not Pretty Link Pro is installed and activated
621
- function pro_is_installed()
622
  {
623
- $activated = get_option('prlipro_activated');
624
 
625
- if(!$activated)
626
- {
627
- $username = get_option( 'prlipro_username' );
628
- $password = get_option( 'prlipro_password' );
 
 
 
 
 
 
 
629
 
630
- if($username and $password)
631
- {
632
- $user_type = $this->get_pro_user_type($username, $password);
633
 
634
- if(!empty($user_type))
635
- {
636
- // Tells us that Pro has been activated
637
- delete_option('prlipro_activated');
638
- add_option('prlipro_activated',1);
639
 
640
- $activated = true;
641
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
642
  }
643
- }
644
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
645
 
646
- return ( $activated and $this->pro_files_installed() );
 
 
647
  }
648
 
649
- function pro_files_installed()
 
650
  {
651
- return file_exists(PRLI_PATH . "/pro/pretty-link-pro.php");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
652
  }
653
 
654
- function get_pro_version()
 
655
  {
656
- if($this->pro_is_installed())
 
 
 
 
 
 
 
657
  {
658
- require_once(PRLI_PATH . "/pro/prlipro-config.php");
659
- global $prlipro_version;
 
660
 
661
- return $prlipro_version;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
662
  }
663
- else
664
- return 0;
665
- }
666
 
667
- function get_pro_user_type($username, $password)
668
- {
669
- include_once(ABSPATH."wp-includes/class-IXR.php");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
670
 
671
- $client = new IXR_Client('http://prettylinkpro.com/xmlrpc.php');
 
 
 
 
 
 
 
 
 
 
672
 
673
- if (!$client->query('prlipro.get_user_type',$username,$password))
674
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
675
 
676
- $type = $client->getResponse();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
677
 
678
- return $type;
679
- }
 
 
 
 
 
680
 
681
- function download_and_install_pro($username, $password, $force = false)
682
- {
683
- global $prli_version, $wpdb;
 
684
 
685
- include_once(ABSPATH."wp-includes/class-IXR.php");
 
686
 
687
- $client = new IXR_Client('http://prettylinkpro.com/xmlrpc.php');
688
- $user_type = $this->get_pro_user_type($username, $password);
689
 
690
- if(!empty($user_type))
 
 
 
 
691
  {
692
- if($force or !$this->pro_files_installed())
 
 
 
693
  {
694
- // Test to make sure this sheesh is writeable
695
- $handle = fopen(PRLI_PATH . '/098j1248iomv.txt', 'w');
696
- if(!$handle)
 
 
 
 
 
697
  {
698
- return "Your account was validated but " . PRLI_PATH . " is not writeable<br/>Talk to your webhost about increasing your write permissions or install using the <a href=\"http://prettylinkpro.com/user-manual/pretty-link-pro-manual-installation/\">Manual Install</a> Process";
 
 
 
 
 
 
 
 
699
  }
700
- else
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
701
  {
702
- fclose($handle);
703
- unlink(PRLI_PATH . '/098j1248iomv.txt');
704
  }
 
705
 
706
- // Get the file
707
- if (!$client->query('prlipro.download_upgrade_file',$username,$password,$prli_version))
708
- return $client->getErrorCode() . ": " . $client->getErrorMessage();
 
709
 
710
- $zipfile_str = $client->getResponse();
 
 
 
 
711
 
712
- $zipfilename = PRLI_PATH . "/pretty-link-pro-{$prli_version}.zip";
 
 
 
 
 
 
713
 
714
- // Write the transferred string out as a file
715
- $fh = fopen($zipfilename, 'w');
716
- fwrite($fh, $zipfile_str);
717
- fclose($fh);
 
718
 
719
- // Unzip the file
720
- include_once(ABSPATH.'wp-admin/includes/class-pclzip.php');
721
- $prlipro_path = PRLI_PATH . '/pro';
722
 
723
- // unlink pro directory if force is set to true
724
- if($force)
725
- $this->delete_dir($prlipro_path);
 
 
 
726
 
727
- $archive = new PclZip($zipfilename);
728
- if( !($archive_files = $archive->extract( PCLZIP_OPT_PATH, PRLI_PATH ) ) )
729
- return("Unzip Error : ".$archive->errorInfo(true));
730
 
731
- // Unlink the zip file
732
- unlink($zipfilename);
733
- }
734
-
735
- $this->install_pro_db();
736
 
737
- // Delete all Pro Keyword Caches if they exist
738
- $postmeta_table = "{$wpdb->prefix}postmeta";
739
- $query = $wpdb->prepare("DELETE FROM {$postmeta_table} WHERE meta_key=%s", 'prli-keyword-cached-content');
740
- $wpdb->query($query);
 
 
741
 
742
- // Tells us that Pro has been activated
743
- delete_option('prlipro_activated');
744
- add_option('prlipro_activated',1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
745
  }
746
  else
747
- return("Your Username and/or Password are not valid");
748
-
749
- return 'SUCCESS';
750
  }
751
 
752
- function uninstall_pro()
753
  {
754
- $prlipro_path = PRLI_PATH . '/pro';
755
 
756
- // unlink pro directory
757
- $this->delete_dir($prlipro_path);
758
-
759
- delete_option( 'prlipro_activated' );
760
- delete_option( 'prlipro_username' );
761
- delete_option( 'prlipro_password' );
762
 
763
- // Yah- I just leave the pro database tables & data hanging
764
- // around in case you want to re-install it at some point
 
 
 
765
  }
766
 
767
- function install_pro_db()
768
  {
769
- global $wpdb;
 
 
 
 
 
770
 
771
- $upgrade_path = ABSPATH . 'wp-admin/includes/upgrade.php';
772
- require_once($upgrade_path);
773
-
774
- // Pretty Link Pro Tables
775
- $tweets_table = "{$wpdb->prefix}prli_tweets";
776
- $keywords_table = "{$wpdb->prefix}prli_keywords";
777
- $reports_table = "{$wpdb->prefix}prli_reports";
778
- $report_links_table = "{$wpdb->prefix}prli_report_links";
779
- $link_rotations_table = "{$wpdb->prefix}prli_link_rotations";
780
- $clicks_rotations_table = "{$wpdb->prefix}prli_clicks_rotations";
781
-
782
- /* Create/Upgrade Tweets Table */
783
- $sql = "CREATE TABLE {$tweets_table} (
784
- id int(11) NOT NULL auto_increment,
785
- twid varchar(255) NOT NULL,
786
- tw_text varchar(255) default NULL,
787
- tw_to_user_id varchar(255) default NULL,
788
- tw_from_user varchar(255) default NULL,
789
- tw_from_user_id varchar(255) NOT NULL,
790
- tw_iso_language_code varchar(255) default NULL,
791
- tw_source varchar(255) default NULL,
792
- tw_profile_image_url varchar(255) default NULL,
793
- tw_created_at varchar(255) NOT NULL,
794
- created_at datetime NOT NULL,
795
- link_id int(11) default NULL,
796
- PRIMARY KEY (id),
797
- KEY link_id (link_id),
798
- KEY twid (twid)
799
- );";
800
-
801
- dbDelta($sql);
802
-
803
- /* Create/Upgrade Keywords Table */
804
- $sql = "CREATE TABLE {$keywords_table} (
805
- id int(11) NOT NULL auto_increment,
806
- text varchar(255) NOT NULL,
807
- link_id int(11) NOT NULL,
808
- created_at datetime NOT NULL,
809
- PRIMARY KEY (id),
810
- KEY link_id (link_id)
811
- );";
812
-
813
- dbDelta($sql);
814
-
815
- /* Create/Upgrade Reports Table */
816
- $sql = "CREATE TABLE {$reports_table} (
817
- id int(11) NOT NULL auto_increment,
818
- name varchar(255) NOT NULL,
819
- goal_link_id int(11) default NULL,
820
- created_at datetime NOT NULL,
821
- PRIMARY KEY (id),
822
- KEY goal_link_id (goal_link_id)
823
- );";
824
-
825
- dbDelta($sql);
826
-
827
- /* Create/Upgrade Reports Table */
828
- $sql = "CREATE TABLE {$report_links_table} (
829
- id int(11) NOT NULL auto_increment,
830
- report_id int(11) NOT NULL,
831
- link_id int(11) NOT NULL,
832
- created_at datetime NOT NULL,
833
- PRIMARY KEY (id),
834
- KEY report_id (report_id),
835
- KEY link_id (link_id)
836
- );";
837
-
838
- dbDelta($sql);
839
-
840
- /* Create/Upgrade Link Rotations Table */
841
- $sql = "CREATE TABLE {$link_rotations_table} (
842
- id int(11) NOT NULL auto_increment,
843
- url varchar(255) default NULL,
844
- weight int(11) default 0,
845
- r_index int(11) default 0,
846
- link_id int(11) NOT NULL,
847
- created_at datetime NOT NULL,
848
- PRIMARY KEY (id),
849
- KEY link_id (link_id)
850
- );";
851
-
852
- dbDelta($sql);
853
-
854
- /* Create/Upgrade Clicks / Rotations Table */
855
- $sql = "CREATE TABLE {$clicks_rotations_table} (
856
- id int(11) NOT NULL auto_increment,
857
- click_id int(11) NOT NULL,
858
- link_id int(11) NOT NULL,
859
- url text NOT NULL,
860
- PRIMARY KEY (id),
861
- KEY click_id (click_id),
862
- KEY link_id (link_id)
863
- );";
864
-
865
- dbDelta($sql);
866
  }
867
 
868
- // be careful with this one -- I use it to forceably reinstall pretty link pro
869
- function delete_dir($dir)
870
  {
871
- if (!file_exists($dir))
872
- return true;
 
 
 
 
873
 
874
- if (!is_dir($dir))
875
- return unlink($dir);
876
-
877
- foreach (scandir($dir) as $item)
 
 
 
 
 
878
  {
879
- if ($item == '.' || $item == '..')
880
- continue;
881
-
882
- if (!$this->delete_dir($dir.DIRECTORY_SEPARATOR.$item))
883
- return false;
884
  }
885
-
886
- return rmdir($dir);
887
  }
888
-
889
  }
890
  ?>
83
  function getFirstRecordNum($r_count,$current_p,$p_size)
84
  {
85
  if($current_p == 1)
 
86
  return 1;
 
87
  else
 
88
  return ($this->getLastRecordNum($r_count,($current_p - 1),$p_size) + 1);
 
89
  }
90
 
91
  function slugIsAvailable( $full_slug, $id = '' )
98
  $slug = $slug_components[0];
99
 
100
  // Check slug uniqueness against posts, pages and categories
101
+ $postname = $wpdb->get_var($wpdb->prepare("SELECT post_name FROM {$wpdb->posts} WHERE post_name=%s LIMIT 1",$slug));
102
+ $taxonomy = $wpdb->get_var($wpdb->prepare("SELECT taxonomy FROM {$wpdb->term_taxonomy} WHERE taxonomy=%s LIMIT 1",$slug));
103
 
104
+ // If anything was returned for these two calls then the slug has been taken
105
+ if( $postname or $taxonomy )
 
 
106
  return false;
107
 
108
  // Check slug against files on the root wordpress install
116
 
117
  // Check slug against other slugs in the prli links database.
118
  // We'll use the full_slug here because its easier to guarantee uniqueness.
119
+ if(!is_null($id) and !empty($id) and is_numeric($id))
120
+ $query = $wpdb->prepare("SELECT slug FROM {$prli_link->table_name} WHERE slug=%s AND id <> %d", $full_slug, $id);
121
  else
122
+ $query = $wpdb->prepare("SELECT slug FROM {$prli_link->table_name} WHERE slug=%s", $full_slug);
123
 
124
  $link_slug = $wpdb->get_var($query);
125
 
126
  if( $link_slug == $full_slug )
127
  return false;
128
 
129
+ $pre_slug_slug = PrliUtils::get_permalink_pre_slug_uri(true,true);
130
+
131
+ if($full_slug == $pre_slug_slug)
132
+ return false;
133
+
134
  // TODO: Check permalink structure to avoid the ability of creating a year or something as a slug
135
 
136
  return true;
137
  }
138
 
139
+ function &php_get_browsercap_ini()
140
+ {
141
+ // Since it's a fairly expensive proposition to load the ini file
142
+ // let's make sure we only do it once
143
+ static $browsecap_ini;
144
+
145
+ if(!isset($browsecap_ini))
146
+ {
147
+ if( version_compare(PHP_VERSION, '5.3.0') >= 0 )
148
+ $browsecap_ini =& parse_ini_file( PRLI_PATH . "/includes/php/php_browsecap.ini", true, INI_SCANNER_RAW );
149
+ else
150
+ $browsecap_ini =& parse_ini_file( PRLI_PATH . "/includes/php/php_browsecap.ini", true );
151
+ }
152
+
153
+ return $browsecap_ini;
154
+ }
155
+
156
  /* Needed because we don't know if the target uesr will have a browsercap file installed
157
  on their server ... particularly in a shared hosting environment this is difficult
158
  */
162
  $yu=array();
163
  $q_s=array("#\.#","#\*#","#\?#");
164
  $q_r=array("\.",".*",".?");
165
+ $brows =& $this->php_get_browsercap_ini();
166
+
167
+ if(!empty($brows) and $brows and is_array($brows))
168
  {
169
+ foreach($brows as $k=>$t)
170
  {
171
+ if(fnmatch($k,$agent))
 
 
 
172
  {
173
+ $yu['browser_name_pattern']=$k;
174
+ $pat=preg_replace($q_s,$q_r,$k);
175
+ $yu['browser_name_regex']=strtolower("^$pat$");
176
+ foreach($brows as $g=>$r)
177
  {
178
+ if($t['Parent']==$g)
179
  {
180
+ foreach($brows as $a=>$b)
181
  {
182
+ if($r['Parent']==$a)
 
183
  {
184
+ $yu=array_merge($yu,$b,$r,$t);
185
+ foreach($yu as $d=>$z)
186
+ {
187
+ $l=strtolower($d);
188
+ $hu[$l]=$z;
189
+ }
190
  }
191
  }
192
  }
193
  }
194
+
195
+ break;
196
  }
 
 
197
  }
198
  }
199
 
203
  // This is where the magic happens!
204
  function track_link($slug,$values)
205
  {
206
+ global $wpdb, $prli_click, $prli_options, $prli_link, $prli_update;
207
 
208
  $query = "SELECT * FROM ".$prli_link->table_name." WHERE slug='$slug' LIMIT 1";
209
  $pretty_link = $wpdb->get_row($query);
212
 
213
  if(isset($pretty_link->track_me) and $pretty_link->track_me)
214
  {
215
+ $first_click = 0;
 
 
 
 
 
 
 
 
216
 
217
+ $click_ip = isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:'';
218
+ $click_referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';
219
+ $click_uri = isset($_SERVER['REQUEST_URI'])?$_SERVER['REQUEST_URI']:'';
220
+ $click_user_agent = isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'';
221
+
222
  //Set Cookie if it doesn't exist
223
  $cookie_name = 'prli_click_' . $pretty_link->id;
224
+
225
  //Used for unique click tracking
226
  $cookie_expire_time = time()+60*60*24*30; // Expire in 30 days
 
 
 
 
227
 
228
+ if(!isset($_COOKIE[$cookie_name]))
 
229
  {
230
+ setcookie($cookie_name,$slug,$cookie_expire_time,'/');
231
+ $first_click = 1;
232
  }
233
 
234
+ if(isset($prli_options->extended_tracking) and $prli_options->extended_tracking == 'extended')
 
235
  {
236
+ $click_browser = $this->php_get_browser();
237
+ $click_host = gethostbyaddr($click_ip);
238
+
239
+ $visitor_cookie = 'prli_visitor';
240
+ //Used for visitor activity
241
+ $visitor_cookie_expire_time = time()+60*60*24*365; // Expire in 1 year
242
+
243
+ // Retrieve / Generate visitor id
244
+ if(!isset($_COOKIE[$visitor_cookie]))
245
+ {
246
+ $visitor_uid = $prli_click->generateUniqueVisitorId();
247
+ setcookie($visitor_cookie,$visitor_uid,$visitor_cookie_expire_time,'/');
248
+ }
249
+ else
250
+ $visitor_uid = $_COOKIE[$visitor_cookie];
251
  }
252
  else
253
+ {
254
+ $click_browser = array( 'browser' => '', 'version' => '', 'platform' => '', 'crawler' => '' );
255
+ $click_host = '';
256
+ $visitor_uid = '';
257
+ }
 
258
 
259
+ if($prli_options->extended_tracking != 'count')
260
+ {
261
+ //Record Click in DB
262
+ $insert_str = "INSERT INTO {$prli_click->table_name} (link_id,vuid,ip,browser,btype,bversion,os,referer,uri,host,first_click,robot,created_at) VALUES (%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%d,%d,NOW())";
263
+ $insert = $wpdb->prepare($insert_str, $pretty_link->id,
264
+ $visitor_uid,
265
+ $click_ip,
266
+ $click_user_agent,
267
+ $click_browser['browser'],
268
+ $click_browser['version'],
269
+ $click_browser['platform'],
270
+ $click_referer,
271
+ $click_uri,
272
+ $click_host,
273
+ $first_click,
274
+ $this->this_is_a_robot($click_user_agent,$click_browser));
275
+
276
+ $results = $wpdb->query( $insert );
277
+
278
+ do_action('prli_record_click',array('link_id' => $pretty_link->id, 'click_id' => $wpdb->insert_id, 'url' => $pretty_link_url));
279
+ }
280
+ else
281
+ {
282
+ global $prli_link_meta;
283
+ $exclude_ips = explode(",", $prli_options->prli_exclude_ips);
284
+ if(!in_array($click_ip, $exclude_ips) and !$this->this_is_a_robot($click_user_agent,$click_browser))
285
+ {
286
+ $clicks = $prli_link_meta->get_link_meta($pretty_link->id, 'static-clicks', true);
287
+ $clicks = (empty($clicks) or $clicks === false)?0:$clicks;
288
+ $prli_link_meta->update_link_meta($pretty_link->id, 'static-clicks', $clicks+1);
289
+
290
+ if($first_click)
291
+ {
292
+ $uniques = $prli_link_meta->get_link_meta($pretty_link->id, 'static-uniques', true);
293
+ $uniques = (empty($uniques) or $uniques === false)?0:$uniques;
294
+ $prli_link_meta->update_link_meta($pretty_link->id, 'static-uniques', $uniques+1);
295
+ }
296
+ }
297
+ }
298
  }
299
 
300
  // Reformat Parameters
301
  $param_string = '';
302
 
303
+ if(isset($pretty_link->param_forwarding) and ($pretty_link->param_forwarding == 'custom' OR $pretty_link->param_forwarding == 'on') and isset($values) and count($values) >= 1)
304
  {
305
  $first_param = true;
306
  foreach($values as $key => $value)
317
  }
318
  }
319
 
320
+ if(isset($pretty_link->nofollow) and $pretty_link->nofollow)
321
+ header("X-Robots-Tag: noindex, nofollow", true);
322
+
323
+ switch($pretty_link->redirect_type)
324
  {
325
+ case '301':
326
+ header("HTTP/1.1 301 Moved Permanently");
327
+ header('Location: '.$pretty_link_url.$param_string);
328
+ break;
329
+ default:
330
+ if( $pretty_link->redirect_type == '307' or
331
+ !$prli_update->pro_is_installed_and_authorized() )
 
 
 
 
 
 
 
 
 
332
  {
333
  if($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
334
  header("HTTP/1.1 302 Found");
335
  else
336
  header("HTTP/1.1 307 Temporary Redirect");
337
+ header('Location: '.$pretty_link_url.$param_string);
338
  }
339
+ else
340
+ do_action('prli_issue_cloaked_redirect', $pretty_link->redirect_type, $pretty_link, $pretty_link_url, $param_string);
 
341
  }
342
  }
343
 
543
  case '}':
544
  if(!empty($index_str) and !empty($value_str))
545
  {
546
+ $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
547
  $index_str = '';
548
  $value_str = '';
549
  }
552
  case ']':
553
  if(!empty($value_str))
554
  {
555
+ $json_array[] = $this->prli_decode_json_unicode($value_str);
556
  $value_str = '';
557
  }
558
  return array($i,$json_array);
601
  {
602
  if(!empty($index_str) and !empty($value_str))
603
  {
604
+ $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
605
  $index_str = '';
606
  $value_str = '';
607
  }
613
  {
614
  if(!empty($value_str))
615
  {
616
+ $json_array[] = $this->prli_decode_json_unicode($value_str);
617
  $value_str = '';
618
  }
619
 
635
  return array(-1,$json_array);
636
  }
637
 
638
+ function prli_decode_json_unicode($val)
639
+ {
640
+ $val = preg_replace_callback("/\\\u([0-9a-fA-F]{4})/",
641
+ create_function(
642
+ '$matches',
643
+ 'return html_entity_decode("&#".hexdec($matches[1]).";",ENT_COMPAT,"UTF-8");'
644
+ ),
645
+ $val);
646
+ return $val;
647
+ }
648
+
649
  // Get the timestamp of the start date
650
  function get_start_date($values,$min_date = '')
651
  {
683
  return (( $where == '' )?'':$starts_with . $where);
684
  }
685
 
686
+ function uninstall_pro()
 
687
  {
688
+ $prlipro_path = PRLI_PATH . '/pro';
689
 
690
+ // unlink pro directory
691
+ $this->delete_dir($prlipro_path);
692
+
693
+ delete_option( 'prlipro_activated' );
694
+ delete_option( 'prlipro_username' );
695
+ delete_option( 'prlipro_password' );
696
+ delete_option( 'prlipro-credentials' );
697
+
698
+ // Yah- I just leave the pro database tables & data hanging
699
+ // around in case you want to re-install it at some point
700
+ }
701
 
702
+ function install_pro_db()
703
+ {
704
+ global $wpdb, $prlipro_db_version;
705
 
706
+ $old_pro_db_version = get_option('prlipro_db_version');
 
 
 
 
707
 
708
+ if($prlipro_db_version != $old_pro_db_version)
709
+ {
710
+ $upgrade_path = ABSPATH . 'wp-admin/includes/upgrade.php';
711
+ require_once($upgrade_path);
712
+
713
+ // Pretty Link Pro Tables
714
+ $tweets_table = "{$wpdb->prefix}prli_tweets";
715
+ $keywords_table = "{$wpdb->prefix}prli_keywords";
716
+ $reports_table = "{$wpdb->prefix}prli_reports";
717
+ $report_links_table = "{$wpdb->prefix}prli_report_links";
718
+ $link_rotations_table = "{$wpdb->prefix}prli_link_rotations";
719
+ $clicks_rotations_table = "{$wpdb->prefix}prli_clicks_rotations";
720
+
721
+ $charset_collate = '';
722
+ if( $wpdb->has_cap( 'collation' ) )
723
+ {
724
+ if( !empty($wpdb->charset) )
725
+ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
726
+ if( !empty($wpdb->collate) )
727
+ $charset_collate .= " COLLATE $wpdb->collate";
728
  }
 
729
 
730
+ /* Create/Upgrade Tweets Table */
731
+ $sql = "CREATE TABLE {$tweets_table} (
732
+ id int(11) NOT NULL auto_increment,
733
+ twid varchar(255) NOT NULL,
734
+ tw_text varchar(255) default NULL,
735
+ tw_to_user_id varchar(255) default NULL,
736
+ tw_from_user varchar(255) default NULL,
737
+ tw_from_user_id varchar(255) NOT NULL,
738
+ tw_iso_language_code varchar(255) default NULL,
739
+ tw_source varchar(255) default NULL,
740
+ tw_profile_image_url varchar(255) default NULL,
741
+ tw_created_at varchar(255) NOT NULL,
742
+ created_at datetime NOT NULL,
743
+ link_id int(11) default NULL,
744
+ PRIMARY KEY (id),
745
+ KEY tw_text (tw_text),
746
+ KEY tw_to_user_id (tw_to_user_id),
747
+ KEY tw_from_user (tw_from_user),
748
+ KEY tw_from_user_id (tw_from_user_id),
749
+ KEY tw_iso_language_code (tw_iso_language_code),
750
+ KEY tw_source (tw_source),
751
+ KEY tw_profile_image_url (tw_profile_image_url),
752
+ KEY twid (twid)
753
+ ) {$charset_collate};";
754
+
755
+ dbDelta($sql);
756
+
757
+ /* Create/Upgrade Keywords Table */
758
+ $sql = "CREATE TABLE {$keywords_table} (
759
+ id int(11) NOT NULL auto_increment,
760
+ text varchar(255) NOT NULL,
761
+ link_id int(11) NOT NULL,
762
+ created_at datetime NOT NULL,
763
+ PRIMARY KEY (id),
764
+ KEY link_id (link_id),
765
+ KEY text (text)
766
+ ) {$charset_collate};";
767
+
768
+ dbDelta($sql);
769
+
770
+ /* Create/Upgrade Reports Table */
771
+ $sql = "CREATE TABLE {$reports_table} (
772
+ id int(11) NOT NULL auto_increment,
773
+ name varchar(255) NOT NULL,
774
+ goal_link_id int(11) default NULL,
775
+ created_at datetime NOT NULL,
776
+ PRIMARY KEY (id),
777
+ KEY goal_link_id (goal_link_id),
778
+ KEY name (name)
779
+ ) {$charset_collate};";
780
+
781
+ dbDelta($sql);
782
+
783
+ /* Create/Upgrade Reports Table */
784
+ $sql = "CREATE TABLE {$report_links_table} (
785
+ id int(11) NOT NULL auto_increment,
786
+ report_id int(11) NOT NULL,
787
+ link_id int(11) NOT NULL,
788
+ created_at datetime NOT NULL,
789
+ PRIMARY KEY (id),
790
+ KEY report_id (report_id),
791
+ KEY link_id (link_id)
792
+ ) {$charset_collate};";
793
+
794
+ dbDelta($sql);
795
+
796
+ /* Create/Upgrade Link Rotations Table */
797
+ $sql = "CREATE TABLE {$link_rotations_table} (
798
+ id int(11) NOT NULL auto_increment,
799
+ url varchar(255) default NULL,
800
+ weight int(11) default 0,
801
+ r_index int(11) default 0,
802
+ link_id int(11) NOT NULL,
803
+ created_at datetime NOT NULL,
804
+ PRIMARY KEY (id),
805
+ KEY link_id (link_id),
806
+ KEY url (url),
807
+ KEY weight (weight),
808
+ KEY r_index (r_index)
809
+ ) {$charset_collate};";
810
+
811
+ dbDelta($sql);
812
+
813
+ /* Create/Upgrade Clicks / Rotations Table */
814
+ $sql = "CREATE TABLE {$clicks_rotations_table} (
815
+ id int(11) NOT NULL auto_increment,
816
+ click_id int(11) NOT NULL,
817
+ link_id int(11) NOT NULL,
818
+ url text NOT NULL,
819
+ PRIMARY KEY (id),
820
+ KEY click_id (click_id),
821
+ KEY link_id (link_id)
822
+ ) {$charset_collate};";
823
+
824
+ dbDelta($sql);
825
+ }
826
 
827
+ /***** SAVE DB VERSION *****/
828
+ delete_option('prlipro_db_version');
829
+ add_option('prlipro_db_version',$prlipro_db_version);
830
  }
831
 
832
+ // be careful with this one -- I use it to forceably reinstall pretty link pro
833
+ function delete_dir($dir)
834
  {
835
+ if (!file_exists($dir))
836
+ return true;
837
+
838
+ if (!is_dir($dir))
839
+ return unlink($dir);
840
+
841
+ foreach (scandir($dir) as $item)
842
+ {
843
+ if ($item == '.' || $item == '..')
844
+ continue;
845
+
846
+ if (!$this->delete_dir($dir.DIRECTORY_SEPARATOR.$item))
847
+ return false;
848
+ }
849
+
850
+ return rmdir($dir);
851
  }
852
 
853
+ // Used in the install procedure to migrate database columns
854
+ function migrate_before_db_upgrade()
855
  {
856
+ global $prli_options, $prli_update, $prli_link, $prli_click, $wpdb;
857
+ $db_version = (int)get_option('prli_db_version');
858
+
859
+ if(!$db_version)
860
+ return;
861
+
862
+ // Migration for version 1 of the database
863
+ if($db_version and $db_version < 1)
864
  {
865
+ $query = "SELECT * from {$prli_link->table_name}";
866
+ $links = $wpdb->get_results($query);
867
+ $query_str = "UPDATE {$prli_link->table_name} SET redirect_type=%s WHERE id=%d";
868
 
869
+ foreach($links as $link)
870
+ {
871
+ if(isset($link->track_as_img) and $link->track_as_img)
872
+ {
873
+ $query = $wpdb->prepare($query_str, 'pixel', $link->id);
874
+ $wpdb->query($query);
875
+ }
876
+ else if(isset($link->use_prettybar) and $link->use_prettybar)
877
+ {
878
+ $query = $wpdb->prepare($query_str, 'prettybar', $link->id);
879
+ $wpdb->query($query);
880
+ }
881
+ else if(isset($link->use_ultra_cloak) and $link->use_ultra_cloak)
882
+ {
883
+ $query = $wpdb->prepare($query_str, 'cloak', $link->id);
884
+ $wpdb->query($query);
885
+ }
886
+ }
887
+
888
+ $query = "ALTER TABLE {$prli_link->table_name} DROP COLUMN track_as_img, DROP COLUMN use_prettybar, DROP COLUMN use_ultra_cloak, DROP COLUMN gorder";
889
+ $wpdb->query($query);
890
  }
 
 
 
891
 
892
+ if($db_version and $db_version < 2)
893
+ {
894
+ unset($prli_options->prli_exclude_ips);
895
+ unset($prli_options->prettybar_image_url);
896
+ unset($prli_options->prettybar_background_image_url);
897
+ unset($prli_options->prettybar_color);
898
+ unset($prli_options->prettybar_text_color);
899
+ unset($prli_options->prettybar_link_color);
900
+ unset($prli_options->prettybar_hover_color);
901
+ unset($prli_options->prettybar_visited_color);
902
+ unset($prli_options->prettybar_title_limit);
903
+ unset($prli_options->prettybar_desc_limit);
904
+ unset($prli_options->prettybar_link_limit);
905
+
906
+ // Save the posted value in the database
907
+ update_option( 'prli_options', $prli_options );
908
+ }
909
 
910
+ // Modify the tables so they're UTF-8
911
+ if($db_version and $db_version < 3)
912
+ {
913
+ $charset_collate = '';
914
+ if( $wpdb->has_cap( 'collation' ) )
915
+ {
916
+ if( !empty($wpdb->charset) )
917
+ $charset_collate = "CONVERT TO CHARACTER SET $wpdb->charset";
918
+ if( !empty($wpdb->collate) )
919
+ $charset_collate .= " COLLATE $wpdb->collate";
920
+ }
921
 
922
+ if(!empty($charset_collate))
923
+ {
924
+ $prli_table_names = array( "{$wpdb->prefix}prli_groups",
925
+ "{$wpdb->prefix}prli_clicks",
926
+ "{$wpdb->prefix}prli_links",
927
+ "{$wpdb->prefix}prli_link_metas",
928
+ "{$wpdb->prefix}prli_tweets",
929
+ "{$wpdb->prefix}prli_keywords",
930
+ "{$wpdb->prefix}prli_reports",
931
+ "{$wpdb->prefix}prli_report_links",
932
+ "{$wpdb->prefix}prli_link_rotations",
933
+ "{$wpdb->prefix}prli_clicks_rotations" );
934
+
935
+ foreach($prli_table_names as $prli_table_name)
936
+ {
937
+ $query = "ALTER TABLE {$prli_table_name} {$charset_collate}";
938
+ $wpdb->query($query);
939
+ }
940
+ }
941
+ }
942
+
943
+ // Upgrade the twitter hide badges on pages / posts for pro users
944
+ if($db_version and $db_version < 7)
945
+ {
946
+ if($prli_update->pro_is_installed())
947
+ {
948
+ global $prlipro_options;
949
 
950
+ if(trim($prlipro_options->twitter_badge_hidden) != '')
951
+ {
952
+ $hidden_post_ids = explode(',',trim($prlipro_options->twitter_badge_hidden));
953
+ foreach($hidden_post_ids as $post_id)
954
+ {
955
+ $prlipro_post_options = PrliProPostOptions::get_stored_object($post_id);
956
+ $prlipro_post_options->hide_twitter_button = 1;
957
+ $prlipro_post_options->store($post_id);
958
+ }
959
+ }
960
+ }
961
+ }
962
+
963
+ if($db_version and $db_version < 8)
964
+ {
965
+ // Install / Upgrade Pretty Link Pro
966
+ $prlipro_username = get_option( 'prlipro_username' );
967
+ $prlipro_password = get_option( 'prlipro_password' );
968
 
969
+ if( !empty($prlipro_username) and !empty($prlipro_password) )
970
+ {
971
+ $creds = array('username' => $prlipro_username,
972
+ 'password' => $prlipro_password);
973
+ update_option('prlipro-credentials', $creds);
974
+ }
975
+ }
976
 
977
+ // Hiding pretty link custom fields
978
+ if($db_version and $db_version < 10)
979
+ {
980
+ $query_str = "UPDATE {$wpdb->postmeta} SET meta_key=%s WHERE meta_key=%s";
981
 
982
+ $query = $wpdb->prepare($query_str, '_pretty-link', 'pretty-link');
983
+ $wpdb->query($query);
984
 
985
+ $query = $wpdb->prepare($query_str, '_prli-keyword-cached-content', 'prli-keyword-cached-content');
986
+ $wpdb->query($query);
987
 
988
+ $query = $wpdb->prepare($query_str, '_prlipro-post-options', 'prlipro-post-options');
989
+ $wpdb->query($query);
990
+ }
991
+
992
+ if($db_version and $db_version < 11)
993
  {
994
+ /* Too much to handle on larger tweet databases -- this code will still be accessible by going to the following url:
995
+ {$prli_blogurl}/wp-admin/admin.php?page=pretty-link/pro/prlipro-options.php&action=trim_dup_tweets
996
+ // Clearing out duplicate tweets
997
+ if($prli_update->pro_is_installed())
998
  {
999
+ $block_size = 2000;
1000
+ $upper_limit = $block_size - 1;
1001
+ $tweet_table = "{$wpdb->prefix}prli_tweets";
1002
+
1003
+ $query = $wpdb->prepare("SELECT count(DISTINCT twid) FROM {$tweet_table}");
1004
+ $twid_count = $wpdb->get_var($query);
1005
+
1006
+ for($offset=0; $offset < $twid_count; $offset += $block_size)
1007
  {
1008
+ $limit = $offset + $upper_limit;
1009
+ $query = $wpdb->prepare("SELECT id FROM {$tweet_table} GROUP BY twid LIMIT %d,%d",$offset,$limit);
1010
+ $tweet_ids = $wpdb->get_col($query);
1011
+
1012
+ if(is_array($tweet_ids) and count($tweet_ids) > 0)
1013
+ {
1014
+ $query = $wpdb->prepare("DELETE FROM {$tweet_table} WHERE id not in (" . implode(',', $tweet_ids) . ")");
1015
+ $wpdb->query($query);
1016
+ }
1017
  }
1018
+ }
1019
+ */
1020
+ }
1021
+ }
1022
+
1023
+
1024
+ function migrate_after_db_upgrade()
1025
+ {
1026
+ global $prli_options, $prli_link, $prli_link_meta, $prli_click, $wpdb;
1027
+ $db_version = (int)get_option('prli_db_version');
1028
+
1029
+ if(!$db_version)
1030
+ return;
1031
+
1032
+ if($db_version and $db_version < 5)
1033
+ {
1034
+ // Migrate pretty-link-posted-to-twitter
1035
+ $query = "SELECT * FROM {$wpdb->prefix}postmeta WHERE meta_key=%s";
1036
+ $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter');
1037
+ $posts_posted = $wpdb->get_results($query);
1038
+
1039
+ foreach($posts_posted as $postmeta)
1040
+ {
1041
+ if($postmeta->meta_value == '1')
1042
  {
1043
+ $link_id = PrliUtils::get_prli_post_meta($postmeta->post_id,'pretty-link',true);
1044
+ $prli_link_meta->update_link_meta($link_id,'pretty-link-posted-to-twitter','1');
1045
  }
1046
+ }
1047
 
1048
+ // Cleanup
1049
+ $query = "DELETE FROM {$wpdb->prefix}postmeta WHERE meta_key=%s OR meta_key=%s OR meta_key=%s OR meta_key=%s";
1050
+ $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter','pretty-link-tweet-count','pretty-link-tweet-last-update','prli-keyword-replacement-count');
1051
+ $results = $wpdb->query($query);
1052
 
1053
+ $query = "DELETE FROM {$prli_link_meta->table_name} WHERE meta_key=%s";
1054
+ $query = $wpdb->prepare($query,'prli-url-aliases');
1055
+ $results = $wpdb->query($query);
1056
+ }
1057
+ }
1058
 
1059
+ function this_is_a_robot($browser_ua,&$browsecap,$header='')
1060
+ {
1061
+ $click = new PrliClick();
1062
+ $click->browser = $browser_ua;
1063
+ $click->btype = $browsecap['browser'];
1064
+ return $this->is_robot($click, $browsecap, $header);
1065
+ }
1066
 
1067
+ function is_robot(&$click,&$browsecap,$header='')
1068
+ {
1069
+ global $prli_utils, $prli_click, $prli_options;
1070
+ $ua_string = trim(urldecode($click->browser));
1071
+ $btype = trim($click->btype);
1072
 
1073
+ // Yah, if the whole user agent string is missing -- wtf?
1074
+ if(empty($ua_string))
1075
+ return 1;
1076
 
1077
+ // If we're doing extended tracking and the Browser type
1078
+ // was unidentifiable then it's most likely a bot
1079
+ if( isset($prli_options->extended_tracking) and
1080
+ $prli_options->extended_tracking == 'extended' and
1081
+ empty($btype) )
1082
+ return 1;
1083
 
1084
+ // Some bots actually say they're bots right up front let's get rid of them asap
1085
+ if(preg_match("#(bot|Bot|spider|Spider|crawl|Crawl)#",$ua_string))
1086
+ return 1;
1087
 
1088
+ $crawler = $browsecap['crawler'];
 
 
 
 
1089
 
1090
+ // If php_browsecap tells us its a bot, let's believe him
1091
+ if($crawler == 1)
1092
+ return 1;
1093
+
1094
+ return 0;
1095
+ }
1096
 
1097
+ function get_permalink_pre_slug_uri($force=false,$trim=false)
1098
+ {
1099
+ global $prli_options;
1100
+
1101
+ if($force or $prli_options->link_prefix)
1102
+ {
1103
+ preg_match('#^([^%]*?)%#', get_option('permalink_structure'), $struct);
1104
+ $pre_slug_uri = $struct[1];
1105
+
1106
+ if($trim)
1107
+ {
1108
+ $pre_slug_uri = trim($pre_slug_uri);
1109
+ $pre_slug_uri = preg_replace('#^/#','',$pre_slug_uri);
1110
+ $pre_slug_uri = preg_replace('#/$#','',$pre_slug_uri);
1111
+ }
1112
+
1113
+ return $pre_slug_uri;
1114
  }
1115
  else
1116
+ return '/';
 
 
1117
  }
1118
 
1119
+ function get_permalink_pre_slug_regex()
1120
  {
1121
+ $pre_slug_uri = PrliUtils::get_permalink_pre_slug_uri(true);
1122
 
1123
+ if(empty($pre_slug_uri))
1124
+ return '/';
1125
+ else
1126
+ return "{$pre_slug_uri}|/";
1127
+ }
 
1128
 
1129
+ function rewriting_on()
1130
+ {
1131
+ $permalink_structure = get_option('permalink_structure');
1132
+
1133
+ return ($permalink_structure and !empty($permalink_structure));
1134
  }
1135
 
1136
+ function get_prli_post_meta($post_id, $key, $single=false)
1137
  {
1138
+ if( isset($post_id) and !empty($post_id) and
1139
+ $post_id and is_numeric($post_id) )
1140
+ return get_post_meta($post_id, $key, $single);
1141
+ else
1142
+ return false;
1143
+ }
1144
 
1145
+ function update_prli_post_meta($post_id, $meta_key, $meta_value)
1146
+ {
1147
+ if( isset($post_id) and !empty($post_id) and
1148
+ $post_id and is_numeric($post_id) )
1149
+ return update_post_meta($post_id, $meta_key, $meta_value);
1150
+ else
1151
+ return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1152
  }
1153
 
1154
+ function delete_prli_post_meta($post_id, $key)
 
1155
  {
1156
+ if( isset($post_id) and !empty($post_id) and
1157
+ $post_id and is_numeric($post_id) )
1158
+ return delete_post_meta($post_id, $key);
1159
+ else
1160
+ return false;
1161
+ }
1162
 
1163
+ /** Gets rid of any pretty link postmetas created without a post_id **/
1164
+ function clear_unknown_post_metas()
1165
+ {
1166
+ global $wpdb;
1167
+
1168
+ $query = "SELECT count(*) FROM {$wpdb->postmeta} WHERE ( meta_key LIKE 'prli%' OR meta_key LIKE 'pretty-link%' OR meta_key LIKE '_prli%' OR meta_key LIKE '_pretty-link%' ) AND post_id=0";
1169
+ $count = $wpdb->get_var($query);
1170
+
1171
+ if($count)
1172
  {
1173
+ $query = "DELETE FROM {$wpdb->postmeta} WHERE ( meta_key LIKE 'prli%' OR meta_key LIKE 'pretty-link%' OR meta_key LIKE '_prli%' OR meta_key LIKE '_pretty-link%' ) AND post_id=0";
1174
+ $wpdb->query($query);
 
 
 
1175
  }
 
 
1176
  }
 
1177
  }
1178
  ?>
classes/models/models.inc.php CHANGED
@@ -3,17 +3,72 @@ require_once(PRLI_MODELS_PATH.'/PrliLink.php');
3
  require_once(PRLI_MODELS_PATH.'/PrliClick.php');
4
  require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
5
  require_once(PRLI_MODELS_PATH.'/PrliUtils.php');
 
6
  require_once(PRLI_MODELS_PATH.'/PrliLinkMeta.php');
 
7
 
8
  global $prli_link;
9
  global $prli_link_meta;
10
  global $prli_click;
11
  global $prli_group;
12
  global $prli_utils;
 
 
13
 
14
  $prli_link = new PrliLink();
15
  $prli_link_meta = new PrliLinkMeta();
16
  $prli_click = new PrliClick();
17
  $prli_group = new PrliGroup();
18
  $prli_utils = new PrliUtils();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  ?>
3
  require_once(PRLI_MODELS_PATH.'/PrliClick.php');
4
  require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
5
  require_once(PRLI_MODELS_PATH.'/PrliUtils.php');
6
+ require_once(PRLI_MODELS_PATH.'/PrliUrlUtils.php');
7
  require_once(PRLI_MODELS_PATH.'/PrliLinkMeta.php');
8
+ require_once(PRLI_MODELS_PATH.'/PrliUpdate.php');
9
 
10
  global $prli_link;
11
  global $prli_link_meta;
12
  global $prli_click;
13
  global $prli_group;
14
  global $prli_utils;
15
+ global $prli_url_utils;
16
+ global $prli_update;
17
 
18
  $prli_link = new PrliLink();
19
  $prli_link_meta = new PrliLinkMeta();
20
  $prli_click = new PrliClick();
21
  $prli_group = new PrliGroup();
22
  $prli_utils = new PrliUtils();
23
+ $prli_url_utils = new PrliUrlUtils();
24
+ $prli_update = new PrliUpdate();
25
+
26
+ global $prli_db_version;
27
+ global $prlipro_db_version;
28
+
29
+ $prli_db_version = 12; // this is the version of the database we're moving to
30
+ $prlipro_db_version = 2; // this is the version of the database we're moving to
31
+
32
+ // Load Controller(s)
33
+ require_once( PRLI_CONTROLLERS_PATH.'/PrliAppController.php');
34
+
35
+ global $prli_app_controller;
36
+
37
+ $prli_app_controller = new PrliAppController();
38
+
39
+ function prli_get_main_message( $message = "Get started by <a href=\"?page=pretty-link/prli-links.php&action=new\">adding a URL</a> that you want to turn into a pretty link.<br/>Come back to see how many times it was clicked.", $expiration=3600) // Get new messages every 1 hour
40
+ {
41
+ global $prli_update, $wp_version;
42
+ include_once(ABSPATH."/wp-includes/class-IXR.php");
43
+
44
+ $message_mothership = (($prli_update->pro_is_installed_and_authorized())?'http://prettylinkpro.com/xmlrpc.php':'http://blairwilliams.com/xmlrpc.php');
45
+
46
+ if( version_compare($wp_version, '3.0', '>=') )
47
+ $messages = get_site_transient('_prli_messages'); // for WordPress 3.0
48
+ else
49
+ $messages = get_transient('_prli_messages'); // for WordPress 2.8+
50
+
51
+ // if the messages array has expired go back to the mothership
52
+ if($messages === false)
53
+ {
54
+ $client = new IXR_Client($message_mothership);
55
+ if ($client->query('prli.get_main_message_array'))
56
+ $messages = $client->getResponse();
57
+
58
+ // If we're having connection issues on the mothership then store the default message in the transient
59
+ if(empty($messages) or !$messages or !is_array($messages))
60
+ $messages = array($message);
61
+
62
+ if( version_compare($wp_version, '3.0', '>=') )
63
+ set_site_transient("_prli_messages", $messages, $expiration); // for WordPress 3.0
64
+ else
65
+ set_transient("_prli_messages", $messages, $expiration); // for WordPress 2.8+
66
+ }
67
+
68
+ if(empty($messages) or !$messages or !is_array($messages))
69
+ return $message;
70
+ else
71
+ return $messages[array_rand($messages)];
72
+ }
73
+
74
  ?>
classes/views/prli-clicks/csv.php CHANGED
@@ -1,9 +1,8 @@
1
  <?php
2
- require_once('prli-config.php');
3
-
4
- if(is_user_logged_in() and $current_user->user_level >= 8)
5
  {
6
- $filename = date("ymdHis",time()) . '_' . $link_name . '_pretty_link_clicks.csv';
 
7
  header("Content-Type: text/x-csv");
8
  header("Content-Disposition: attachment; filename=\"$filename\"");
9
  header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
@@ -21,4 +20,3 @@
21
  }
22
  else
23
  header("Location: " . $prli_blogurl);
24
- ?>
1
  <?php
2
+ if(is_user_logged_in() and current_user_can('level_10'))
 
 
3
  {
4
+
5
+ $filename = date("ymdHis",time()) . '_' . $link_name . '_pretty_link_clicks_' . $hmin . '-' . $hmax . '.csv';
6
  header("Content-Type: text/x-csv");
7
  header("Content-Disposition: attachment; filename=\"$filename\"");
8
  header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
20
  }
21
  else
22
  header("Location: " . $prli_blogurl);
 
{trunk/classes → classes}/views/prli-clicks/csv_download.php RENAMED
File without changes
classes/views/prli-clicks/head.php CHANGED
@@ -1,3 +1,4 @@
 
1
  <!-- JQuery UI Includes -->
2
  <link type="text/css" href="<?php echo PRLI_URL; ?>/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
3
  <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
@@ -5,8 +6,8 @@
5
 
6
  <script type="text/javascript">
7
  $(document).ready(function(){
8
- $("#sdate").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: -30, minDate: -<?php echo $min_date; ?>, maxDate: 0 });
9
- $("#edate").datepicker({ dateFormat: 'yy-mm-dd', minDate: -<?php echo $min_date; ?>, maxDate: 0 });
10
  });
11
  </script>
12
 
1
+ <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
  <!-- JQuery UI Includes -->
3
  <link type="text/css" href="<?php echo PRLI_URL; ?>/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
4
  <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
6
 
7
  <script type="text/javascript">
8
  $(document).ready(function(){
9
+ $("#sdate").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: -30, minDate: -<?php echo esc_js($min_date); ?>, maxDate: 0 });
10
+ $("#edate").datepicker({ dateFormat: 'yy-mm-dd', minDate: -<?php echo esc_js($min_date); ?>, maxDate: 0 });
11
  });
12
  </script>
13
 
classes/views/prli-clicks/list.php CHANGED
@@ -1,9 +1,10 @@
 
1
  <div class="wrap">
2
  <?php
3
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
  ?>
5
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Hits</h2>
6
- <span style="font-size: 14px; font-weight: bold;">For <?php echo $link_name; ?>: </span>
7
  <?php
8
  // Don't show this sheesh if we're displaying the vuid or ip grouping
9
  if(empty($params['ip']) and empty($params['vuid']))
@@ -25,7 +26,7 @@
25
 
26
 
27
  <div class="filter_pane">
28
- <form class="form-fields" name="form2" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
29
  <?php wp_nonce_field('prli-reports'); ?>
30
  <span>Type:</span>&nbsp;
31
  <select id="type" name="type" style="display: inline;">
@@ -53,7 +54,7 @@
53
  ?>
54
 
55
  <div id="search_pane" style="padding-top: 5px;">
56
- <form class="form-fields" name="click_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
57
  <?php wp_nonce_field('prli-clicks'); ?>
58
 
59
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
@@ -74,28 +75,34 @@
74
  <table class="widefat post fixed" cellspacing="0">
75
  <thead>
76
  <tr>
77
- <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=btype<?php echo (($sort_str == 'btype' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Browser<?php echo (($sort_str == 'btype')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
 
78
  </th>
 
79
  <th class="manage-column" width="12%">
80
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=ip<?php echo (($sort_str == 'ip' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">IP<?php echo (($sort_str == 'ip')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
81
  </th>
 
82
  <th class="manage-column" width="12%">
83
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=vuid<?php echo (($sort_str == 'vuid' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Visitor<?php echo (($sort_str == 'vuid')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
84
  </th>
 
85
  <th class="manage-column" width="13%">
86
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Timestamp<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
87
  </th>
 
88
  <th class="manage-column" width="16%">
89
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=host<?php echo (($sort_str == 'host' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Host<?php echo (($sort_str == 'host')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
90
  </th>
 
91
  <th class="manage-column" width="16%">
92
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=uri<?php echo (($sort_str == 'uri' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">URI<?php echo (($sort_str == 'uri')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
93
  </th>
94
  <th class="manage-column" width="16%">
95
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=referer<?php echo (($sort_str == 'referer' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Referrer<?php echo (($sort_str == 'referer')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
96
  </th>
97
  <th class="manage-column" width="13%">
98
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=link<?php echo (($sort_str == 'link' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Link<?php echo (($sort_str == 'link')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
99
  </th>
100
  </tr>
101
  </thead>
@@ -115,14 +122,20 @@
115
  {
116
  ?>
117
  <tr>
118
- <td><img src="<?php echo PRLI_URL; ?>/images/browser/<?php echo prli_browser_image($click->btype); ?>" alt="<?php echo $click->btype . " v" . $click->bversion; ?>" title="<?php echo $click->btype . " v" . $click->bversion; ?>"/>&nbsp;<img src="<?php echo PRLI_URL; ?>/images/os/<?php echo prli_os_image($click->os); ?>" alt="<?php echo $click->os; ?>" title="<?php echo $click->os; ?>"/></td>
 
 
119
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&ip=<?php echo $click->ip; ?>" title="View All Activity for IP Address: <?php echo $click->ip; ?>"><?php echo $click->ip; ?> (<?php echo $click->ip_count; ?>)</a></td>
 
120
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
 
121
  <td><?php echo $click->created_at; ?></td>
 
122
  <td><?php echo $click->host; ?></td>
 
123
  <td><?php echo $click->uri; ?></td>
124
  <td><?php echo $click->referer; ?></td>
125
- <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo $click->link_name; ?>"><?php echo $click->link_name; ?></a></td>
126
  </tr>
127
  <?php
128
  }
@@ -130,11 +143,17 @@
130
  ?>
131
  <tfoot>
132
  <tr>
 
133
  <th class="manage-column">Browser</th>
 
134
  <th class="manage-column">IP</th>
 
135
  <th class="manage-column">Visitor</th>
 
136
  <th class="manage-column">Timestamp</th>
 
137
  <th class="manage-column">Host</th>
 
138
  <th class="manage-column">URI</th>
139
  <th class="manage-column">Referrer</th>
140
  <th class="manage-column">Link</th>
@@ -142,7 +161,7 @@
142
  </tfoot>
143
  </table>
144
 
145
- <a href="<?php echo PRLI_URL; ?>/prli-clicks.php?action=csv<?php echo $page_params; ?>">Download CSV (<?php echo $link_name; ?>)</a>
146
 
147
  <?php
148
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
1
+ <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
  <div class="wrap">
3
  <?php
4
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
5
  ?>
6
+ <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Hits</h2>
7
+ <span style="font-size: 14px; font-weight: bold;">For <?php echo stripslashes($link_name); ?>: </span>
8
  <?php
9
  // Don't show this sheesh if we're displaying the vuid or ip grouping
10
  if(empty($params['ip']) and empty($params['vuid']))
26
 
27
 
28
  <div class="filter_pane">
29
+ <form class="form-fields" name="form2" method="post" action="">
30
  <?php wp_nonce_field('prli-reports'); ?>
31
  <span>Type:</span>&nbsp;
32
  <select id="type" name="type" style="display: inline;">
54
  ?>
55
 
56
  <div id="search_pane" style="padding-top: 5px;">
57
+ <form class="form-fields" name="click_form" method="post" action="">
58
  <?php wp_nonce_field('prli-clicks'); ?>
59
 
60
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
75
  <table class="widefat post fixed" cellspacing="0">
76
  <thead>
77
  <tr>
78
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
79
+ <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=btype<?php echo (($sort_str == 'btype' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Browser<?php echo (($sort_str == 'btype')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
80
  </th>
81
+ <?php } ?>
82
  <th class="manage-column" width="12%">
83
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=ip<?php echo (($sort_str == 'ip' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">IP<?php echo (($sort_str == 'ip')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
84
  </th>
85
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
86
  <th class="manage-column" width="12%">
87
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=vuid<?php echo (($sort_str == 'vuid' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Visitor<?php echo (($sort_str == 'vuid')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
88
  </th>
89
+ <?php } ?>
90
  <th class="manage-column" width="13%">
91
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Timestamp<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
92
  </th>
93
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
94
  <th class="manage-column" width="16%">
95
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=host<?php echo (($sort_str == 'host' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Host<?php echo (($sort_str == 'host')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
96
  </th>
97
+ <?php } ?>
98
  <th class="manage-column" width="16%">
99
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=uri<?php echo (($sort_str == 'uri' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">URI<?php echo (($sort_str == 'uri')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
100
  </th>
101
  <th class="manage-column" width="16%">
102
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=referer<?php echo (($sort_str == 'referer' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Referrer<?php echo (($sort_str == 'referer')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
103
  </th>
104
  <th class="manage-column" width="13%">
105
+ <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=link<?php echo (($sort_str == 'link' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Link<?php echo (($sort_str == 'link')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
106
  </th>
107
  </tr>
108
  </thead>
122
  {
123
  ?>
124
  <tr>
125
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
126
+ <td><img src="<?php echo esc_html(PRLI_BROWSER_URL); ?>/<?php echo prli_browser_image($click->btype); ?>" alt="<?php echo $click->btype . " v" . $click->bversion; ?>" title="<?php echo $click->btype . " v" . $click->bversion; ?>"/>&nbsp;<img src="<?php echo esc_html(PRLI_OS_URL); ?>/<?php echo prli_os_image($click->os); ?>" alt="<?php echo $click->os; ?>" title="<?php echo $click->os; ?>"/></td>
127
+ <?php } ?>
128
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&ip=<?php echo $click->ip; ?>" title="View All Activity for IP Address: <?php echo $click->ip; ?>"><?php echo $click->ip; ?> (<?php echo $click->ip_count; ?>)</a></td>
129
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
130
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
131
+ <?php } ?>
132
  <td><?php echo $click->created_at; ?></td>
133
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
134
  <td><?php echo $click->host; ?></td>
135
+ <?php } ?>
136
  <td><?php echo $click->uri; ?></td>
137
  <td><?php echo $click->referer; ?></td>
138
+ <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo stripslashes($click->link_name); ?>"><?php echo stripslashes($click->link_name); ?></a></td>
139
  </tr>
140
  <?php
141
  }
143
  ?>
144
  <tfoot>
145
  <tr>
146
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
147
  <th class="manage-column">Browser</th>
148
+ <?php } ?>
149
  <th class="manage-column">IP</th>
150
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
151
  <th class="manage-column">Visitor</th>
152
+ <?php } ?>
153
  <th class="manage-column">Timestamp</th>
154
+ <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
155
  <th class="manage-column">Host</th>
156
+ <?php } ?>
157
  <th class="manage-column">URI</th>
158
  <th class="manage-column">Referrer</th>
159
  <th class="manage-column">Link</th>
161
  </tfoot>
162
  </table>
163
 
164
+ <a href="?page=pretty-link/prli-clicks.php&action=csv<?php echo $page_params; ?>">Download CSV (<?php echo stripslashes($link_name); ?>)</a>
165
 
166
  <?php
167
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
classes/views/prli-dashboard-widget/widget.php CHANGED
@@ -1,5 +1,6 @@
 
1
  <div class="wrap">
2
- <img style="float: left;" src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/><div style="min-height: 36px;"><div style="min-height: 18px; margin-left: 45px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 12px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo $message; ?></p></div></div>
3
 
4
  <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
5
  <input type="hidden" name="action" value="quick-create">
@@ -7,12 +8,12 @@
7
 
8
  <table class="form-table">
9
  <tr class="form-field">
10
- <td width="75px" valign="top">Target URL*</td>
11
  <td><input type="text" name="url" value="" size="75">
12
  </tr>
13
  <tr>
14
- <td valign="top">Pretty Link*</td>
15
- <td><strong><?php echo $prli_blogurl; ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
16
  </tr>
17
  </table>
18
 
@@ -20,4 +21,4 @@
20
  <input type="submit" name="Submit" value="Create" />
21
  </p>
22
  </form>
23
- </div>
1
+ <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
  <div class="wrap">
3
+ <a href="http://blairwilliams.com/pretty-link"><img style="float: left; border: 0px;" src="<?php echo PRLI_IMAGES_URL . '/prettylink_logo_small.jpg'; ?>"/></a><div style="min-height: 48px;"><div style="min-height: 18px; margin-left: 137px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 11px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo esc_html($message); ?></p></div></div>
4
 
5
  <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
6
  <input type="hidden" name="action" value="quick-create">
8
 
9
  <table class="form-table">
10
  <tr class="form-field">
11
+ <td valign="top">Target URL</td>
12
  <td><input type="text" name="url" value="" size="75">
13
  </tr>
14
  <tr>
15
+ <td valign="top">Pretty Link</td>
16
+ <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
17
  </tr>
18
  </table>
19
 
21
  <input type="submit" name="Submit" value="Create" />
22
  </p>
23
  </form>
24
+ </div>
classes/views/prli-groups/edit.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wrap">
2
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Group</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
1
  <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Group</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
classes/views/prli-groups/list.php CHANGED
@@ -2,10 +2,10 @@
2
  <?php
3
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
  ?>
5
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Groups</h2>
6
  <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
7
  <div id="search_pane" style="float: right;">
8
- <form class="form-fields" name="group_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
9
  <?php wp_nonce_field('prli-groups'); ?>
10
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
11
  <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
@@ -32,10 +32,9 @@
32
  <table class="widefat post fixed" cellspacing="0">
33
  <thead>
34
  <tr>
35
- <th class="manage-column" width="50%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
36
- <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=click_count<?php echo (($sort_str == 'click_count' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Hits<?php echo (($sort_str == 'click_count')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
37
- <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=link_count<?php echo (($sort_str == 'link_count' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'link_count')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
38
- <th class="manage-column" width="30%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
39
  </tr>
40
  </thead>
41
  <?php
@@ -64,7 +63,6 @@
64
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
65
  </div>
66
  </td>
67
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->click_count; ?></a></td>
68
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
69
  <td><?php echo $group->created_at; ?></td>
70
  </tr>
@@ -75,7 +73,6 @@
75
  <tfoot>
76
  <tr>
77
  <th class="manage-column">Name</th>
78
- <th class="manage-column">Hits</th>
79
  <th class="manage-column">Links</th>
80
  <th class="manage-column">Created</th>
81
  </tr>
2
  <?php
3
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
  ?>
5
+ <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Groups</h2>
6
  <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
7
  <div id="search_pane" style="float: right;">
8
+ <form class="form-fields" name="group_form" method="post" action="">
9
  <?php wp_nonce_field('prli-groups'); ?>
10
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
11
  <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
32
  <table class="widefat post fixed" cellspacing="0">
33
  <thead>
34
  <tr>
35
+ <th class="manage-column" width="50%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
36
+ <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=link_count<?php echo (($sort_str == 'link_count' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'link_count')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
37
+ <th class="manage-column" width="30%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
 
38
  </tr>
39
  </thead>
40
  <?php
63
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
64
  </div>
65
  </td>
 
66
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
67
  <td><?php echo $group->created_at; ?></td>
68
  </tr>
73
  <tfoot>
74
  <tr>
75
  <th class="manage-column">Name</th>
 
76
  <th class="manage-column">Links</th>
77
  <th class="manage-column">Created</th>
78
  </tr>
classes/views/prli-groups/new.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wrap">
2
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Group</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
1
  <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Group</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
classes/views/prli-links/bar.php CHANGED
@@ -2,6 +2,7 @@
2
  <html>
3
  <head>
4
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
5
  <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
6
  </head>
7
  <frameset rows="66,*" framespacing=0 frameborder=0>
2
  <html>
3
  <head>
4
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
+ <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
6
  <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
7
  </head>
8
  <frameset rows="66,*" framespacing=0 frameborder=0>
classes/views/prli-links/edit.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wrap">
2
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Link</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
1
  <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Link</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
classes/views/prli-links/form.php CHANGED
@@ -1,109 +1,94 @@
 
1
  <table class="form-table">
2
  <tr class="form-field">
3
  <td width="75px" valign="top">Target URL*: </td>
4
- <td><textarea style="height: 50px;" name="url"><?php echo $values['url']; ?></textarea>
5
- <br/>
6
- <span class="description">Enter the URL you want to mask and track. Don't forget to start your url with <code>http://</code> or <code>https://</code>. Example: <code>http://www.yoururl.com</code></span></td>
7
  </tr>
8
  <tr>
9
  <td valign="top">Pretty Link*: </td>
10
- <td><strong><?php echo $prli_blogurl; ?></strong>/<input type="text" name="slug" value="<?php echo $values['slug']; ?>" size="25">
11
- <br/>
12
- <span class="description">Enter the slug (word trailing your main URL) that will form your pretty link and redirect to the URL above.</span></td>
13
  </tr>
14
  <tr class="form-field">
15
  <td width="75px" valign="top">Title: </td>
16
- <td><input type="text" name="name" size="75" value="<?php echo $values['name']; ?>" />
17
- <br/>
18
- <span class="description">This will act as the title of your Pretty Link. If a name is not entered here then the slug name will be used.</span></td>
19
  </tr>
20
  <tr class="form-field">
21
  <td valign="top">Description: </td>
22
- <td><textarea style="height: 100px;" name="description"><?php echo $values['description']; ?></textarea>
23
- <br/>
24
- <span class="description">A Description of this link.</span></td>
25
- </tr>
26
- <tr class="form-field">
27
- <td colspan="2">
28
- <span>Group:&nbsp;</span>
29
- <select name="group_id">
30
- <option>None</option>
31
- <?php
32
- foreach($values['groups'] as $group)
33
- {
34
- ?>
35
- <option value="<?php echo $group['id']; ?>"<?php echo $group['value']; ?>><?php echo $group['name']; ?>&nbsp;</option>
36
- <?php
37
- }
38
- ?>
39
- </select>
40
- <br/>
41
- <span class="description">Select a group for this link.</span>
42
- </td>
43
  </tr>
44
  </table>
45
- <h3><a class="options-table-toggle">Link Options <span class="expand-options" style="display: none;">[+]</span><span class="collapse-options">[-]</span></a> <span class="expand-collapse" style="display: none"><a class="expand-all" title="Show all option instructions.">[?]</a><a class="collapse-all" title="Hide all option instructions." style="display: none;">[?]</a></span></h3>
46
  <table class="options-table">
47
  <tr>
48
  <td valign="top" width="50%">
49
- <h3>Display Options</h3>
50
  <div class="pane">
51
- <input type="checkbox" name="use_prettybar" <?php echo $values['use_prettybar']; ?>/>&nbsp; Show Pretty Bar <a class="toggle">[?]</a>
52
- <div class="toggle_pane description">Select this option if you want to show the Pretty Bar at the top of the page when redirecting to the Target URL.</div>
53
- <br/>
54
- <input type="checkbox" name="use_ultra_cloak" <?php echo $values['use_ultra_cloak']; ?>/>&nbsp; Ultra Cloak this Link <a class="toggle">[?]</a>
55
- <div class="toggle_pane description">When checked, the Target URL will be not be visible even after the redirection. This way, if a Target URL doesn't redirect to a URL you want to show then this will mask it.</div>
 
 
 
 
 
 
 
56
  </div>
57
  <br/>
58
- <h3>Tracking Options</h3>
59
  <div class="pane">
60
- <input type="checkbox" name="track_me" <?php echo $values['track_me']; ?>/>&nbsp; Track this Link <a class="toggle">[?]</a>
61
- <div class="toggle_pane description">De-select this option if you don't want this link tracked. If de-selected, this link will still redirect to the target URL but hits on it won't be recorded in the database.</div>
62
- <br/>
63
- <input type="checkbox" name="track_as_img" <?php echo $values['track_as_img']; ?>/>&nbsp; Track as a Pixel <a class="toggle">[?]</a>
64
- <div class="toggle_pane description">Select this option if you want this link to behave as a tracking pixel instead of as a link. This option is useful if you want to track the number of times a page or email is opened. If you place your Pretty Link inside an img tag on the page (Example: <code>&lt;img src="<?php echo $prli_blogurl . "/yourslug"; ?>" /&gt;</code>) then the page load will be tracked as a click and then displayed. Note: If this option is selected your Target URL will simply be ignored if there's a value in it.</div>
 
 
 
 
 
65
  </div>
66
  <br/>
67
  <h3>SEO Options</h3>
68
  <div class="pane">
69
- <input type="checkbox" name="nofollow" <?php echo $values['nofollow']; ?>/>&nbsp; 'Nofollow' this Link <a class="toggle">[?]</a>
70
  <div class="toggle_pane description">Select this if you want to add a nofollow code to this link. A nofollow will prevent reputable spiders and robots from following or indexing this link.</div>
71
  </div>
72
  </td>
73
  <td valign="top" width="50%">
74
- <h3>Redirect Type:</h3>
75
- <ul style="list-style-type: none" class="pane">
76
- <li>
77
- <input type="radio" name="redirect_type" value="307" <?php echo $values['redirect_type']['307']; ?>/>&nbsp;Temporary Redirect (307) <a class="toggle">[?]</a>
78
- <div class="toggle_pane description">This is the best option if you're planning on changing your Target URL and want accurate reporting for this link.</div>
79
- </li>
80
- <li>
81
- <input type="radio" name="redirect_type" value="301" <?php echo $values['redirect_type']['301']; ?> />&nbsp;Permanent Redirect (301) <a class="toggle">[?]</a>
82
- <div class="toggle_pane description">This is the best option if you're <strong>NOT</strong> planning on changing your Target URL. Traditionally this option is considered to be the best approach to use for your SEO/SEM efforts but since Pretty Link uses your domain name either way this notion isn't necessarily true for Pretty Links. Also, this option may not give you accurate reporting since proxy and caching servers may go directly to your Target URL once it's cached.</div>
83
- </li>
84
- </ul>
85
- <br/>
86
- <h3>Group Options</h3>
87
  <div class="pane">
88
- Group Listing Order:&nbsp;<input type="text" name="gorder" value="<?php echo $values['gorder']; ?>" size="10"> <a class="toggle">[?]</a>
89
- <div class="toggle_pane description">You can use this to determine the order that your link show up in the group it's in. The group will default to alphabetic order -- but this will override that default behavior. I also realize this isn't the easiest way for you to re-order links but we'll get a better way in the future.</div>
90
  </div>
91
  <br/>
92
  <a name="param_forwarding_pos" height="0"></a>
93
  <h3>Parameter Forwarding</h3>
94
  <ul style="list-style-type: none" class="pane">
95
  <li>
96
- <input type="radio" name="param_forwarding" value="off" <?php echo $values['param_forwarding']['off']; ?>/>&nbsp; Forward Parameters Off <a class="toggle">[?]</a>
97
  <div class="toggle_pane description">You may want to leave this option off if you don't need to forward any parameters on to your Target URL.</div>
98
  </li>
99
  <li>
100
- <input type="radio" name="param_forwarding" value="on" <?php echo $values['param_forwarding']['on']; ?> />&nbsp;Standard Parameter Forwarding <a class="toggle">[?]</a>
101
  <div class="toggle_pane description">Select this option if you want to forward parameters through your pretty link to your Target URL. This will allow you to pass parameters in the standard syntax for example the pretty link <code>http://yoururl.com/coollink?product_id=4&sku=5441</code> will forward to the target URL and append the same parameters like so: <code>http://anotherurl.com?product_id=4&sku=5441</code>.</div>
102
  </li>
 
103
  <li>
104
- <input type="radio" name="param_forwarding" value="custom" <?php echo $values['param_forwarding']['custom']; ?> />&nbsp;Custom Parameter Forwarding&nbsp;&nbsp;<input type="text" name="param_struct" value="<?php echo $values['param_struct'] ?>" size="25"/> <a class="toggle">[?]</a>
105
  <div class="toggle_pane description">Select this option if you want to forward parameters through your Pretty Link to your Target URL and write the parameters in a custom format. For example, say I wanted to to have my links look like this: <code>http://yourdomain.com/products/14/4</code> and I wanted this to forward to <code>http://anotherurl.com?product_id=14&dock=4</code> you'd just select this option and enter the following string into the text field <code>/products/%product_id%/%dock%</code>. This will tell Pretty Link where each variable will be located in the URL and what each variable name is.</div>
106
  </li>
 
107
  </ul>
108
  </td>
109
  </tr>
1
+ <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
  <table class="form-table">
3
  <tr class="form-field">
4
  <td width="75px" valign="top">Target URL*: </td>
5
+ <td><textarea style="height: 50px;" name="url"><?php echo esc_html(htmlentities($values['url'],ENT_COMPAT,'UTF-8')); ?></textarea>
6
+ <a class="toggle">&nbsp;[?]</a>
7
+ <span class="description toggle_pane"><br/>Enter the URL you want to mask and track. Don't forget to start your url with <code>http://</code> or <code>https://</code>. Example: <code>http://www.yoururl.com</code></span></td>
8
  </tr>
9
  <tr>
10
  <td valign="top">Pretty Link*: </td>
11
+ <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo esc_attr($values['slug']); ?>" size="50"/>
12
+ <a class="toggle">&nbsp;[?]</a>
13
+ <span class="toggle_pane description"><br/>Enter the slug (word trailing your main URL) that will form your pretty link and redirect to the URL above.</span></td>
14
  </tr>
15
  <tr class="form-field">
16
  <td width="75px" valign="top">Title: </td>
17
+ <td><input type="text" name="name" value="<?php echo esc_attr($values['name']); ?>" />
18
+ <a class="toggle">&nbsp;[?]</a>
19
+ <span class="description toggle_pane"><br/>This will act as the title of your Pretty Link. If a name is not entered here then the slug name will be used.</span></td>
20
  </tr>
21
  <tr class="form-field">
22
  <td valign="top">Description: </td>
23
+ <td><textarea style="height: 50px;" name="description"><?php echo esc_html($values['description']); ?></textarea>
24
+ </select><a class="toggle">&nbsp;[?]</a>
25
+ <span class="toggle_pane description"><br/>A Description of this link.</span></td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  </tr>
27
  </table>
28
+ <h3><a class="options-table-toggle">Link Options <span class="expand-options" style="display: none;">[+]</span><span class="collapse-options">[-]</span></a> <span class="expand-collapse" style="display: none"><a class="expand-all" title="Show all option instructions.">&nbsp;[?]</a><a class="collapse-all" title="Hide all option instructions." style="display: none;">&nbsp;[?]</a></span></h3>
29
  <table class="options-table">
30
  <tr>
31
  <td valign="top" width="50%">
32
+ <h3>Group&nbsp;</h3>
33
  <div class="pane">
34
+ <select name="group_id" style="padding: 0px; margin: 0px;">
35
+ <option>None</option>
36
+ <?php
37
+ foreach($values['groups'] as $group)
38
+ {
39
+ ?>
40
+ <option value="<?php echo esc_attr($group['id']); ?>"<?php echo esc_html($group['value']); ?>><?php echo esc_html($group['name']); ?>&nbsp;</option>
41
+ <?php
42
+ }
43
+ ?>
44
+ </select><a class="toggle">&nbsp;[?]</a>
45
+ <div class="toggle_pane description">Select a group for this link.</div>
46
  </div>
47
  <br/>
48
+ <h3>Redirection Type&nbsp;</h3>
49
  <div class="pane">
50
+ <select id="redirect_type" name="redirect_type" style="padding: 0px; margin: 0px;">
51
+ <option value="307"<?php echo esc_html($values['redirect_type']['307']); ?>>307 (Temporary)&nbsp;</option>
52
+ <option value="301"<?php echo esc_html($values['redirect_type']['301']); ?>>301 (Permanent)&nbsp;</option>
53
+ <?php do_action('prli_redirection_types', $values); ?>
54
+ </select><a class="toggle">&nbsp;[?]</a>
55
+ <div class="toggle_pane description"><strong>307 Redirection</strong> is the best option if your Target URL could possibly change or need accurate reporting for this link.<br/><br/><strong>301 Redirection</strong> is the best option if you're <strong>NOT</strong> planning on changing your Target URL. Traditionally this option is considered to be the best approach to use for your SEO/SEM efforts but since Pretty Link uses your domain name either way this notion isn't necessarily true for Pretty Links. Also, this option may not give you accurate reporting since proxy and caching servers may go directly to your Target URL once it's cached.<br/><br/><strong>Pretty Bar Redirection</strong> is the best option if you want to show the Pretty Bar at the top of the page when redirecting to the Target URL.<br/><br/><strong>Cloak Redirection</strong> is the best option if you don't want your Target URL to be visible even after the redirection. This way, if a Target URL doesn't redirect to a URL you want to show then this will mask it.<br/><br/><strong>Pixel Redirection</strong> is the option you should select if you want this link to behave like a tracking pixel instead of as a link. This option is useful if you want to track the number of times a page or email is opened. If you place your Pretty Link inside an img tag on the page (Example: <code>&lt;img src="<?php echo esc_html($prli_blogurl . "/yourslug"); ?>" /&gt;</code>) then the page load will be tracked as a click and then displayed. Note: If this option is selected your Target URL will simply be ignored if there's a value in it.</div>
56
+ <?php global $prli_update; ?>
57
+ <?php if(!$prli_update->pro_is_installed_and_authorized()) { ?>
58
+ <p class="description">To Enable Cloaking &amp; Pretty Bar<br/>Upgrade to <a href="http://prettylinkpro.com">Pretty Link Pro</a></p>
59
+ <?php } ?>
60
  </div>
61
  <br/>
62
  <h3>SEO Options</h3>
63
  <div class="pane">
64
+ <input type="checkbox" name="nofollow" <?php echo esc_html($values['nofollow']); ?>/>&nbsp; 'Nofollow' this Link <a class="toggle">&nbsp;[?]</a>
65
  <div class="toggle_pane description">Select this if you want to add a nofollow code to this link. A nofollow will prevent reputable spiders and robots from following or indexing this link.</div>
66
  </div>
67
  </td>
68
  <td valign="top" width="50%">
69
+ <h3>Tracking Options</h3>
 
 
 
 
 
 
 
 
 
 
 
 
70
  <div class="pane">
71
+ <input type="checkbox" name="track_me" <?php echo esc_html($values['track_me']); ?>/>&nbsp; Track this Link <a class="toggle">&nbsp;[?]</a>
72
+ <div class="toggle_pane description">De-select this option if you don't want this link tracked. If de-selected, this link will still redirect to the target URL but hits on it won't be recorded in the database.</div>
73
  </div>
74
  <br/>
75
  <a name="param_forwarding_pos" height="0"></a>
76
  <h3>Parameter Forwarding</h3>
77
  <ul style="list-style-type: none" class="pane">
78
  <li>
79
+ <input type="radio" name="param_forwarding" value="off" <?php echo esc_html($values['param_forwarding']['off']); ?>/>&nbsp;Forward Parameters Off <a class="toggle">&nbsp;[?]</a>
80
  <div class="toggle_pane description">You may want to leave this option off if you don't need to forward any parameters on to your Target URL.</div>
81
  </li>
82
  <li>
83
+ <input type="radio" name="param_forwarding" value="on" <?php echo esc_html($values['param_forwarding']['on']); ?> />&nbsp;Standard Parameter Forwarding <a class="toggle">&nbsp;[?]</a>
84
  <div class="toggle_pane description">Select this option if you want to forward parameters through your pretty link to your Target URL. This will allow you to pass parameters in the standard syntax for example the pretty link <code>http://yoururl.com/coollink?product_id=4&sku=5441</code> will forward to the target URL and append the same parameters like so: <code>http://anotherurl.com?product_id=4&sku=5441</code>.</div>
85
  </li>
86
+ <!--
87
  <li>
88
+ <input type="radio" name="param_forwarding" value="custom" <?php echo esc_html($values['param_forwarding']['custom']); ?> />&nbsp;Custom Parameter Forwarding&nbsp;&nbsp;<input type="text" name="param_struct" value="<?php echo esc_attr($values['param_struct']); ?>" size="25"/> <a class="toggle">&nbsp);[?]</a>
89
  <div class="toggle_pane description">Select this option if you want to forward parameters through your Pretty Link to your Target URL and write the parameters in a custom format. For example, say I wanted to to have my links look like this: <code>http://yourdomain.com/products/14/4</code> and I wanted this to forward to <code>http://anotherurl.com?product_id=14&dock=4</code> you'd just select this option and enter the following string into the text field <code>/products/%product_id%/%dock%</code>. This will tell Pretty Link where each variable will be located in the URL and what each variable name is.</div>
90
  </li>
91
+ -->
92
  </ul>
93
  </td>
94
  </tr>
classes/views/prli-links/head.php CHANGED
@@ -40,7 +40,7 @@ jQuery(document).ready(function() {
40
  <style type="text/css">
41
 
42
  .options-table {
43
- width: 67%;
44
  margin-top: 10px;
45
  }
46
 
40
  <style type="text/css">
41
 
42
  .options-table {
43
+ width: 80%;
44
  margin-top: 10px;
45
  }
46
 
classes/views/prli-links/list.php CHANGED
@@ -2,7 +2,7 @@
2
  <?php
3
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
  ?>
5
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Links</h2>
6
  <?php
7
  if(empty($params['group']))
8
  {
@@ -17,7 +17,7 @@
17
  <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
18
  <?php do_action('prli-link-message'); ?>
19
  <div id="search_pane" style="float: right;">
20
- <form class="form-fields" name="link_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
21
  <?php wp_nonce_field('prli-links'); ?>
22
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
23
  <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
@@ -35,8 +35,9 @@
35
  </form>
36
  </div>
37
  <div id="button_bar">
38
- <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-add-link.php"><img src="<?php echo PRLI_URL.'/images/pretty-link-add.png'; ?>"/> Add a Pretty Link</a>
39
  &nbsp;|&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-options.php">Options</a>
 
40
  <?php do_action('prli-link-nav'); ?>
41
  </p>
42
  </div>
@@ -51,19 +52,18 @@
51
  <?php
52
  }
53
  ?>
54
-
55
- <?php
56
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
57
- ?>
58
  <table class="widefat post fixed" cellspacing="0">
59
  <thead>
60
  <tr>
61
- <th class="manage-column" width="30%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
62
  <?php do_action('prli_link_column_header'); ?>
63
- <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=clicks<?php echo (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
64
- <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=group_name<?php echo (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
65
- <th class="manage-column" width="12%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
- <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=slug<?php echo (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_URL.'/images/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
67
  </tr>
68
  </thead>
69
  <?php
@@ -72,56 +72,61 @@
72
  {
73
  ?>
74
  <tr>
75
- <td colspan="5">No Pretty Links were found</td>
76
  </tr>
77
  <?php
78
  }
79
  else
80
  {
 
81
  foreach($links as $link)
82
  {
83
- $pretty_link_url = $prli_link->get_pretty_link_url($link->slug);//$prli_blogurl . '/' . $link->slug;
 
84
  ?>
85
  <tr style="min-height: 75px; height: 75px;">
86
  <td class="edit_link">
87
 
88
  <?php do_action('prli_list_icon',$link->id); ?>
89
- <?php if( $link->use_prettybar and !$link->track_as_img ) { ?>
90
- <img src="<?php echo PRLI_URL.'/images/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
91
- <?php } ?>
92
- <?php if( $link->use_ultra_cloak and !$link->track_as_img ) { ?>
93
- <img src="<?php echo PRLI_URL.'/images/ultra-cloak.png'; ?>" title="Using Ultra Cloak" width="13px" height="13px" />
 
 
 
 
 
 
 
 
 
94
  <?php } ?>
 
95
  <?php if( $link->nofollow ) { ?>
96
- <img src="<?php echo PRLI_URL.'/images/nofollow.png'; ?>" title="nofollow" width="13px" height="13px" />
97
- <?php } ?>
98
- <?php if( !$link->track_as_img ) { ?>
99
- <span title="<?php echo (($link->redirect_type == '307')?"Temporary Redirection (307)":"Permanent Redirection (301)"); ?>" style="font-size: 14px; cursor: help; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong><?php echo (($link->redirect_type == '307')?"T":"P"); ?></strong></span>&nbsp;
100
- <?php } ?>
101
- <?php if( !$link->track_as_img )
102
  {
103
  ?>
104
- <a href="<? echo $link->url; ?>" target="_blank" title="Visit Target URL: <?php echo $link->url; ?> in a New Window"><img src="<?php echo PRLI_URL.'/images/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
105
- <a href="<? echo $pretty_link_url; ?>" target="_blank" title="Visit Pretty Link: <?php echo $pretty_link_url; ?> in a New Window"><img src="<?php echo PRLI_URL.'/images/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
106
  <?php
107
  }
108
- else
109
  {
110
  ?>
111
- <img src="<?php echo PRLI_URL.'/images/pixel_track.png'; ?>" width="13px" height="13px" name="Pixel Tracking Enabled" alt="Pixel Tracking Enabled" title="Pixel Tracking Enabled"/>&nbsp;
112
  <?php
113
  }
114
-
115
- if($link->param_forwarding == 'on')
116
- {
117
  ?>
118
- <img src="<?php echo PRLI_URL.'/images/forward_params.png'; ?>" width="13px" height="13px" name="Standard Parameter Forwarding Enabled" alt="Standard Parameter Forwarding Enabled" title="Standard Parameter Forwarding Enabled"/>&nbsp;
119
- <?php
120
- }
121
- else if($link->param_forwarding == 'custom')
122
  {
123
  ?>
124
- <img src="<?php echo PRLI_URL.'/images/forward_params.png'; ?>" width="13px" height="13px" name="Custom Parameter Forwarding Enabled" alt="Custom Parameter Forwarding Enabled" title="Custom Parameter Forwarding Enabled"/>&nbsp;
 
125
  <?php
126
  }
127
  ?>
@@ -130,12 +135,12 @@
130
  <div class="link_actions">
131
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo $link->slug; ?>">Edit</a>&nbsp;|
132
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=destroy&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo $link->name; ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo $link->slug; ?>">Delete</a>
133
- <?php if( $link->track_me ) { ?>
134
- |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=reset&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to reset your <?php echo $link->name; ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo $link->name; ?>">Reset</a>&nbsp;|
135
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $link->id; ?>" title="View clicks for <?php echo $link->slug; ?>">Hits</a>
136
  <?php do_action('prli-link-action',$link->id); ?>
137
  <?php } ?>
138
- <?php if( !$link->track_as_img )
139
  {
140
  ?>
141
  |&nbsp;<a href="http://twitter.com/home?status=<?php echo $pretty_link_url; ?>" target="_blank" title="Post <?php echo $pretty_link_url; ?> to Twitter">Tweet</a>&nbsp;|
@@ -146,15 +151,21 @@
146
  </div>
147
  </td>
148
  <?php do_action('prli_link_column_row',$link->id); ?>
149
- <td><?php echo (($link->track_me)?"<a href=\"?page=".PRLI_PLUGIN_NAME."/prli-clicks.php&l=$link->id\" title=\"View clicks for $link->slug\">$link->clicks/$link->uniques</a>":"<img src=\"".PRLI_URL."/images/not_tracking.png\" title=\"This link isn't being tracked\"/>"); ?></td>
 
 
 
 
 
 
150
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $link->group_id; ?>"><?php echo $link->group_name; ?></a></td>
151
  <td><?php echo $link->created_at; ?></td>
152
  </td>
153
  <td><input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' /><br/>
154
- <?php if( !$link->track_as_img )
155
  {
156
  ?>
157
- <span style="font-size: 8px;"><strong>Target URL:</strong> <? echo $link->url; ?></span></td>
158
  <?php
159
  }
160
  ?>
@@ -165,7 +176,7 @@
165
  ?>
166
  <tfoot>
167
  <tr>
168
- <th class="manage-column">Name</th>
169
  <?php do_action('prli_link_column_footer'); ?>
170
  <th class="manage-column">Hits / Uniq</th>
171
  <th class="manage-column">Group</th>
@@ -174,8 +185,7 @@
174
  </tr>
175
  </tfoot>
176
  </table>
177
- <?php
178
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
179
- ?>
180
 
181
  </div>
2
  <?php
3
  require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
  ?>
5
+ <h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Links</h2>
6
  <?php
7
  if(empty($params['group']))
8
  {
17
  <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
18
  <?php do_action('prli-link-message'); ?>
19
  <div id="search_pane" style="float: right;">
20
+ <form class="form-fields" name="link_form" method="post" action="">
21
  <?php wp_nonce_field('prli-links'); ?>
22
  <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
23
  <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
35
  </form>
36
  </div>
37
  <div id="button_bar">
38
+ <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-add-link.php"><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-add.png'; ?>"/> Add a Pretty Link</a>
39
  &nbsp;|&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-options.php">Options</a>
40
+ &nbsp;|&nbsp;<a href="http://blairwilliams.com/plintro">Watch Pretty Link Intro Video</a>
41
  <?php do_action('prli-link-nav'); ?>
42
  </p>
43
  </div>
52
  <?php
53
  }
54
  ?>
55
+ <form class="form-fields link-list-form" name="link_list_form" method="post" action="">
56
+ <input type="hidden" name="action" value="list-form"/>
57
+ <?php $footer = false; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
 
58
  <table class="widefat post fixed" cellspacing="0">
59
  <thead>
60
  <tr>
61
+ <th class="manage-column" width="30%"><?php do_action('prli-list-header-icon'); ?><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
62
  <?php do_action('prli_link_column_header'); ?>
63
+ <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=clicks<?php echo (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
64
+ <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=group_name<?php echo (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
65
+ <th class="manage-column" width="12%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
+ <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=slug<?php echo (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
67
  </tr>
68
  </thead>
69
  <?php
72
  {
73
  ?>
74
  <tr>
75
+ <td colspan="5">Watch this video to see how to get started! -- <a href="http://blairwilliams.com/xba"><strong>Get More Video Tutorials like this one...</strong></a><br/><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></td>
76
  </tr>
77
  <?php
78
  }
79
  else
80
  {
81
+ global $prli_blogurl;
82
  foreach($links as $link)
83
  {
84
+ $struct = PrliUtils::get_permalink_pre_slug_uri();
85
+ $pretty_link_url = "{$prli_blogurl}{$struct}{$link->slug}";
86
  ?>
87
  <tr style="min-height: 75px; height: 75px;">
88
  <td class="edit_link">
89
 
90
  <?php do_action('prli_list_icon',$link->id); ?>
91
+ <?php if( $link->redirect_type == 'prettybar' ) { ?>
92
+ <img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
93
+ <?php }
94
+ else if( $link->redirect_type == 'cloak' ) { ?>
95
+ <img src="<?php echo PRLI_IMAGES_URL . '/ultra-cloak.png'; ?>" title="Using Ultra Cloak" width="13px" height="13px" />
96
+ <?php }
97
+ else if( $link->redirect_type == 'pixel' ) { ?>
98
+ <img src="<?php echo PRLI_IMAGES_URL . '/pixel_track.png'; ?>" width="13px" height="13px" name="Pixel Tracking Enabled" alt="Pixel Tracking Enabled" title="Pixel Tracking Enabled"/>&nbsp;
99
+ <?php }
100
+ else if( $link->redirect_type == '307' ) { ?>
101
+ <span title="Temporary Redirection (307)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>T</strong></span>&nbsp;
102
+ <?php }
103
+ else if( $link->redirect_type == '301' ) { ?>
104
+ <span title="Permanent Redirection (301)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>P</strong></span>&nbsp;
105
  <?php } ?>
106
+
107
  <?php if( $link->nofollow ) { ?>
108
+ <img src="<?php echo PRLI_IMAGES_URL . '/nofollow.png'; ?>" title="nofollow" width="13px" height="13px" />
109
+ <?php }
110
+
111
+ if($link->param_forwarding == 'on')
 
 
112
  {
113
  ?>
114
+ <img src="<?php echo PRLI_IMAGES_URL . '/forward_params.png'; ?>" width="13px" height="13px" name="Standard Parameter Forwarding Enabled" alt="Standard Parameter Forwarding Enabled" title="Standard Parameter Forwarding Enabled"/>&nbsp;
 
115
  <?php
116
  }
117
+ else if($link->param_forwarding == 'custom')
118
  {
119
  ?>
120
+ <img src="<?php echo PRLI_IMAGES_URL . '/forward_params.png'; ?>" width="13px" height="13px" name="Custom Parameter Forwarding Enabled" alt="Custom Parameter Forwarding Enabled" title="Custom Parameter Forwarding Enabled"/>&nbsp;
121
  <?php
122
  }
 
 
 
123
  ?>
124
+
125
+ <?php if( $link->redirect_type != 'pixel' )
 
 
126
  {
127
  ?>
128
+ <a href="<?php echo $link->url; ?>" target="_blank" title="Visit Target URL: <?php echo $link->url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
129
+ <a href="<?php echo $pretty_link_url; ?>" target="_blank" title="Visit Pretty Link: <?php echo $pretty_link_url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
130
  <?php
131
  }
132
  ?>
135
  <div class="link_actions">
136
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo $link->slug; ?>">Edit</a>&nbsp;|
137
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=destroy&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo $link->name; ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo $link->slug; ?>">Delete</a>
138
+ |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=reset&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to reset your <?php echo $link->name; ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo $link->name; ?>">Reset</a>
139
+ <?php if( $link->track_me and $prli_options->extended_tracking!='count' ) { ?>
140
+ |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $link->id; ?>" title="View clicks for <?php echo $link->slug; ?>">Hits</a>
141
  <?php do_action('prli-link-action',$link->id); ?>
142
  <?php } ?>
143
+ <?php if( $link->redirect_type != 'pixel' )
144
  {
145
  ?>
146
  |&nbsp;<a href="http://twitter.com/home?status=<?php echo $pretty_link_url; ?>" target="_blank" title="Post <?php echo $pretty_link_url; ?> to Twitter">Tweet</a>&nbsp;|
151
  </div>
152
  </td>
153
  <?php do_action('prli_link_column_row',$link->id); ?>
154
+ <td>
155
+ <?php if($prli_options->extended_tracking!='count')
156
+ echo (($link->track_me)?"<a href=\"?page=".PRLI_PLUGIN_NAME."/prli-clicks.php&l=$link->id\" title=\"View clicks for $link->slug\">" . (empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques) . "</a>":"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
157
+ else
158
+ echo (($link->track_me)?(empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques):"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
159
+ ?>
160
+ </td>
161
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $link->group_id; ?>"><?php echo $link->group_name; ?></a></td>
162
  <td><?php echo $link->created_at; ?></td>
163
  </td>
164
  <td><input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' /><br/>
165
+ <?php if( $link->redirect_type != 'pixel' )
166
  {
167
  ?>
168
+ <span style="font-size: 8px;" title="<?php echo $link->url; ?>"><strong>Target URL:</strong> <?php echo htmlentities((substr($link->url,0,47) . ((strlen($link->url) >= 47)?'...':'')),ENT_COMPAT,'UTF-8'); ?></span></td>
169
  <?php
170
  }
171
  ?>
176
  ?>
177
  <tfoot>
178
  <tr>
179
+ <th class="manage-column"><?php do_action('prli-list-header-icon'); ?>Name</th>
180
  <?php do_action('prli_link_column_footer'); ?>
181
  <th class="manage-column">Hits / Uniq</th>
182
  <th class="manage-column">Group</th>
185
  </tr>
186
  </tfoot>
187
  </table>
188
+ <?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
189
+ </form>
 
190
 
191
  </div>
classes/views/prli-links/new.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="wrap">
2
- <h2><img src="<?php echo PRLI_URL.'/images/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Link</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
1
  <div class="wrap">
2
+ <h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Link</h2>
3
 
4
  <?php
5
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
classes/views/prli-links/ultra-cloak.php CHANGED
@@ -3,6 +3,7 @@
3
  <head>
4
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
  <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
 
6
  </head>
7
  <frameset rows="*" framespacing=0 frameborder=0>
8
  <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
3
  <head>
4
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
  <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
6
+ <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
7
  </head>
8
  <frameset rows="*" framespacing=0 frameborder=0>
9
  <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
classes/views/prli-options/form.php CHANGED
@@ -14,162 +14,97 @@ if(!$permalink_structure or empty($permalink_structure))
14
  <?php do_action('prli-options-message'); ?>
15
  <a href="admin.php?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">&laquo Pretty Link Admin</a>
16
 
17
- <form name="form1" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
18
  <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
19
  <?php wp_nonce_field('update-options'); ?>
20
 
21
  <h3><a class="toggle link-toggle-button">Link Option Defaults <span class="link-expand" style="display: none;">[+]</span><span class="link-collapse">[-]</span></a></h3>
22
  <ul class="link-toggle-pane" style="list-style-type: none;">
23
  <li>
24
- <input type="checkbox" name="<?php echo $link_show_prettybar; ?>" <?php echo (($link_show_prettybar_val != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar
25
- <br/><span class="setting-description">Show PrettyBar by default when link is created.</span>
26
  </li>
27
  <li>
28
- <input type="checkbox" name="<?php echo $link_ultra_cloak; ?>" <?php echo (($link_ultra_cloak_val != 0)?'checked="true"':''); ?>/>&nbsp; Ultra Cloak Link
29
- <br/><span class="setting-description">Ultra Cloak all links as they are created.</span>
30
  </li>
31
  <li>
32
- <input type="checkbox" name="<?php echo $link_track_me; ?>" <?php echo (($link_track_me_val != 0)?'checked="true"':''); ?>/>&nbsp; Track Link
33
- <br/><span class="setting-description">Default all new links to be tracked.</span>
34
  </li>
35
  <li>
36
- <input type="checkbox" name="<?php echo $link_track_as_pixel; ?>" <?php echo (($link_track_as_pixel_val != 0)?'checked="true"':''); ?>/>&nbsp; Track Link as a Pixel
37
- <br/><span class="setting-description">Default all new links to be tracking pixels.</span>
38
- </li>
39
- <li>
40
- <input type="checkbox" name="<?php echo $link_nofollow; ?>" <?php echo (($link_nofollow_val != 0)?'checked="true"':''); ?>/>&nbsp; Add <code>nofollow</code> to Link
41
- <br/><span class="setting-description">Add the <code>nofollow</code> attribute by default to new links.</span>
42
- </li>
43
- <li>
44
- <h4>Default Link Redirect Type:</h4>
45
- <ul style="list-style-type: none">
46
- <li>
47
- <input type="radio" name="<?php echo $link_redirect_type; ?>" value="307" <?php echo (($link_redirect_type_val == '307')?' checked=true':''); ?>/>&nbsp;Temporary Redirect (307)
48
- <div class="setting-description">Default newly created links to have temporary (307) redirection.</div>
49
- </li>
50
- <li>
51
- <input type="radio" name="<?php echo $link_redirect_type; ?>" value="301" <?php echo (($link_redirect_type_val == '301')?' checked=true':''); ?> />&nbsp;Permanent Redirect (301)
52
- <div class="setting-description">Default newly created links to have permanent (307) redirection.</div>
53
- </li>
54
- </ul>
55
  </li>
56
  </ul>
57
- <h3><a class="toggle prettybar-toggle-button">PrettyBar Options <span class="prettybar-expand" style="display: none;">[+]</span><span class="prettybar-collapse">[-]</span></a></h3>
58
- <table class="prettybar-toggle-pane form-table">
59
- <tr class="form-field">
60
- <td valign="top" width="15%"><?php _e("Image URL:", $prettybar_image_url ); ?> </td>
61
- <td width="85%">
62
- <input type="text" name="<?php echo $prettybar_image_url; ?>" value="<?php echo $prettybar_image_url_val; ?>"/>
63
- <br/><span class="setting-description">If set, this will replace the logo image on the PrettyBar. The image that this URL references should be 48x48 Pixels to fit.</span>
64
- </td>
65
- </tr>
66
  <tr class="form-field">
67
- <td valign="top" width="15%"><?php _e("Background Image URL:", $prettybar_background_image_url ); ?> </td>
68
- <td width="85%">
69
- <input type="text" name="<?php echo $prettybar_background_image_url; ?>" value="<?php echo $prettybar_background_image_url_val; ?>"/>
70
- <br/><span class="setting-description">If set, this will replace the background image on PrettyBar. The image that this URL references should be 65px tall -- this image will be repeated horizontally across the bar.</span>
71
- </td>
72
- </tr>
73
- <tr>
74
- <td valign="top" width="15%"><?php _e("Background Color:", $prettybar_color ); ?> </td>
75
- <td width="85%">
76
- #<input type="text" name="<?php echo $prettybar_color; ?>" value="<?php echo $prettybar_color_val; ?>" size="6"/>
77
- <br/><span class="setting-description">This will alter the background color of the PrettyBar if you haven't specified a PrettyBar background image.</span>
78
- </td>
79
- </tr>
80
- <tr>
81
- <td valign="top" width="15%"><?php _e("Text Color:", $prettybar_text_color ); ?> </td>
82
- <td width="85%">
83
- #<input type="text" name="<?php echo $prettybar_text_color; ?>" value="<?php echo $prettybar_text_color_val; ?>" size="6"/>
84
- <br/><span class="setting-description">If not set, this defaults to black (RGB value <code>#000000</code>) but you can change it to whatever color you like.</span>
85
- </td>
86
- </tr>
87
- <tr>
88
- <td valign="top" width="15%"><?php _e("Link Color:", $prettybar_link_color ); ?> </td>
89
- <td width="85%">
90
- #<input type="text" name="<?php echo $prettybar_link_color; ?>" value="<?php echo $prettybar_link_color_val; ?>" size="6"/>
91
- <br/><span class="setting-description">If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you can change it to whatever color you like.</span>
92
- </td>
93
- </tr>
94
- <tr>
95
- <td valign="top" width="15%"><?php _e("Link Hover Color:", $prettybar_hover_color ); ?> </td>
96
- <td width="85%">
97
- #<input type="text" name="<?php echo $prettybar_hover_color; ?>" value="<?php echo $prettybar_hover_color_val; ?>" size="6"/>
98
- <br/><span class="setting-description">If not set, this defaults to RGB value <code>#ababab</code> but you can change it to whatever color you like.</span>
99
- </td>
100
- </tr>
101
- <tr>
102
- <td valign="top" width="15%"><?php _e("Visited Link Color:", $prettybar_visited_color ); ?> </td>
103
- <td width="85%">
104
- #<input type="text" name="<?php echo $prettybar_visited_color; ?>" value="<?php echo $prettybar_visited_color_val; ?>" size="6"/>
105
- <br/><span class="setting-description">If not set, this defaults to RGB value <code>#551a8b</code> but you can change it to whatever color you like.</span>
106
- </td>
107
- </tr>
108
- <tr>
109
- <td valign="top" width="15%"><?php _e("Title Char Limit*:", $prettybar_title_limit ); ?> </td>
110
- <td width="85%">
111
- <input type="text" name="<?php echo $prettybar_title_limit; ?>" value="<?php echo $prettybar_title_limit_val; ?>" size="4"/>
112
- <br/><span class="setting-description">If your Website has a long title then you may need to adjust this value so that it will all fit on the PrettyBar. It is recommended that you keep this value to <code>30</code> characters or less so the PrettyBar's format looks good across different browsers and screen resolutions.</span>
113
- </td>
114
- </tr>
115
- <tr>
116
- <td valign="top" width="15%"><?php _e("Description Char Limit*:", $prettybar_desc_limit ); ?> </td>
117
- <td width="85%">
118
- <input type="text" name="<?php echo $prettybar_desc_limit; ?>" value="<?php echo $prettybar_desc_limit_val; ?>" size="4"/>
119
- <br/><span class="setting-description">If your Website has a long Description (tagline) then you may need to adjust this value so that it will all fit on the PrettyBar. It is recommended that you keep this value to <code>40</code> characters or less so the PrettyBar's format looks good across different browsers and screen resolutions.</span>
120
- </td>
121
- </tr>
122
- <tr>
123
- <td valign="top" width="15%"><?php _e("Target URL Char Limit*:", $prettybar_link_limit ); ?> </td>
124
- <td width="85%">
125
- <input type="text" name="<?php echo $prettybar_link_limit; ?>" value="<?php echo $prettybar_link_limit_val; ?>" size="4"/>
126
- <br/><span class="setting-description">If you link to a lot of large Target URLs you may want to adjust this value. It is recommended that you keep this value to <code>40</code> or below so the PrettyBar's format looks good across different browsers and URL sizes</span>
127
- </td>
128
- </tr>
129
- <tr>
130
- <td colspan="2">
131
- <input type="checkbox" name="<?php echo $prettybar_show_title; ?>" <?php echo (($prettybar_show_title_val != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Title
132
- <br/><span class="setting-description">Make sure this is checked if you want the title of your blog (and link) to show up on the PrettyBar.</span>
133
- </td>
134
- </tr>
135
- <tr>
136
- <td colspan="2">
137
- <input type="checkbox" name="<?php echo $prettybar_show_description; ?>" <?php echo (($prettybar_show_description_val != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Description
138
- <br/><span class="setting-description">Make sure this is checked if you want your site description to show up on the PrettyBar.</span>
139
  </td>
140
  </tr>
141
  <tr>
142
  <td colspan="2">
143
- <input type="checkbox" name="<?php echo $prettybar_show_share_links; ?>" <?php echo (($prettybar_show_share_links_val != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Share Links
144
- <br/><span class="setting-description">Make sure this is checked if you want "share links" to show up on the PrettyBar.</span>
 
 
 
 
 
 
 
 
 
145
  </td>
146
  </tr>
147
  <tr>
148
  <td colspan="2">
149
- <input type="checkbox" name="<?php echo $prettybar_show_target_url_link; ?>" <?php echo (($prettybar_show_target_url_link_val != 0)?'checked="true"':''); ?>/>&nbsp; Show Pretty Bar Target URL
150
- <br/><span class="setting-description">Make sure this is checked if you want a link displaying the Target URL to show up on the PrettyBar.</span>
151
- </td>
152
- </tr>
153
-
154
- </table>
155
- <h3><a class="toggle reporting-toggle-button">Reporting Options <span class="reporting-expand" style="display: none;">[+]</span><span class="reporting-collapse">[-]</span></a></h3>
156
- <table class="reporting-toggle-pane form-table">
157
- <tr class="form-field">
158
- <td valign="top">Excluded IP Addresses: </td>
159
- <td>
160
- <input type="text" name="<?php echo $prli_exclude_ips; ?>" value="<?php echo $prli_exclude_ips_val; ?>">
161
- <br/><span class="setting-description">Enter IP Addresses you want to exclude from your Hit data and Stats. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4</code></span>
162
- <br/><span class="setting-description" style="color: red;">Your Current IP Address is <?php echo $_SERVER['REMOTE_ADDR']; ?></span>
163
  </td>
164
  </tr>
165
  </table>
166
 
167
  <p class="submit">
168
- <input type="submit" name="Submit" value="<?php _e('Update Options', $prli_domain ) ?>" />
169
  </p>
170
 
171
- <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_all_clicks4134" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data in your Database. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete all your data because there is no going back!');">Delete All Hits</a>
172
- <br/><span class="setting-description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
 
 
 
 
 
 
 
 
 
 
 
173
 
174
  </form>
175
  </div>
14
  <?php do_action('prli-options-message'); ?>
15
  <a href="admin.php?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">&laquo Pretty Link Admin</a>
16
 
17
+ <form name="form1" method="post" action="">
18
  <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
19
  <?php wp_nonce_field('update-options'); ?>
20
 
21
  <h3><a class="toggle link-toggle-button">Link Option Defaults <span class="link-expand" style="display: none;">[+]</span><span class="link-collapse">[-]</span></a></h3>
22
  <ul class="link-toggle-pane" style="list-style-type: none;">
23
  <li>
24
+ <input type="checkbox" name="<?php echo $link_track_me; ?>" <?php echo (($prli_options->link_track_me != 0)?'checked="true"':''); ?>/>&nbsp; Track Link
25
+ <br/><span class="description">Default all new links to be tracked.</span>
26
  </li>
27
  <li>
28
+ <input type="checkbox" name="<?php echo $link_nofollow; ?>" <?php echo (($prli_options->link_nofollow != 0)?'checked="true"':''); ?>/>&nbsp; Add <code>nofollow</code> to Link
29
+ <br/><span class="description">Add the <code>nofollow</code> attribute by default to new links.</span>
30
  </li>
31
  <li>
32
+ <input type="checkbox" name="<?php echo $link_prefix; ?>" <?php echo (($prli_options->link_prefix != 0)?'checked="true"':''); ?>/>&nbsp; Use a prefix from your Permalink structure in your Pretty Links
33
+ <br/><span class="description">This option should only be checked if you have elements in your permalink structure that must be present in any link on your site. For example, some WordPress installs don't have the benefit of full rewrite capabilities and in this case you'd need an index.php included in each link (http://example.com/index.php/mycoolslug instead of http://example.com/mycoolslug). If this is the case for you then check this option but the vast majority of users will want to keep this unchecked.</span>
34
  </li>
35
  <li>
36
+ <h4>Default Link Redirection Type:</h4>
37
+ <select name="<?php echo $link_redirect_type; ?>">
38
+ <option value="307" <?php echo (($prli_options->link_redirect_type == '307')?' selected="selected"':''); ?>/>Temporary (307)</option>
39
+ <option value="301" <?php echo (($prli_options->link_redirect_type == '301')?' selected="selected"':''); ?>/>Permanent (301)</option>
40
+ <?php do_action('prli_default_redirection_types',$prli_options->link_redirect_type); ?>
41
+ </select>
42
+ <br/><span class="description">Select the type of redirection you want your newly created links to have.</span>
 
 
 
 
 
 
 
 
 
 
 
 
43
  </li>
44
  </ul>
45
+ <?php do_action('prli_custom_option_pane'); ?>
46
+ <h3><a class="toggle reporting-toggle-button">Reporting Options <span class="reporting-expand" style="display: none;">[+]</span><span class="reporting-collapse">[-]</span></a></h3>
47
+ <table class="reporting-toggle-pane form-table">
 
 
 
 
 
 
48
  <tr class="form-field">
49
+ <td valign="top">Excluded IP Addresses: </td>
50
+ <td>
51
+ <input type="text" name="<?php echo $prli_exclude_ips; ?>" value="<?php echo $prli_options->prli_exclude_ips; ?>">
52
+ <br/><span class="description">Enter IP Addresses or IP Ranges you want to exclude from your Hit data and Stats. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code></span>
53
+ <br/><span class="description" style="color: red;">Your Current IP Address is <?php echo $_SERVER['REMOTE_ADDR']; ?></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  </td>
55
  </tr>
56
  <tr>
57
  <td colspan="2">
58
+ <input type="checkbox" class="filter-robots-checkbox" name="<?php echo $filter_robots; ?>" <?php echo (($prli_options->filter_robots != 0)?'checked="true"':''); ?>/>&nbsp; <?php _e('Filter Robots', 'pretty-link'); ?>
59
+ <br/><span class="description"><?php _e('Filter known Robots and unidentifiable browser clients from your hit data, stats and reports. <code>IMPORTANT: Any robot hits recorded with any version of Pretty Link before 1.4.22 won\'t be filtered by this setting.</code>', 'pretty-link'); ?></span>
60
+ <table class="option-pane whitelist-ips">
61
+ <tr class="form-field">
62
+ <td valign="top"><?php _e('Whitelist IP Addresses:', 'pretty-link'); ?>&nbsp;</td>
63
+ <td>
64
+ <input type="text" name="<?php echo $whitelist_ips; ?>" value="<?php echo $prli_options->whitelist_ips; ?>">
65
+ <br/><span class="description"><?php _e('Enter IP Addresses or IP Ranges you want to always include in your Hit data and Stats even if they are flagged as robots. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code>', 'pretty-link'); ?></span>
66
+ </td>
67
+ </tr>
68
+ </table>
69
  </td>
70
  </tr>
71
  <tr>
72
  <td colspan="2">
73
+ <h4><?php _e('Tracking Style:', 'pretty-link'); ?></h4><span class="description"><code><?php _e('Note: Changing your tracking style can affect the accuracy of your existing statistics.', 'pretty-link'); ?></code></span>
74
+ <div id="option-pane">
75
+ <ul style="list-style-type: none;" class="pane">
76
+ <li>
77
+ <input type="radio" name="<?php echo $extended_tracking; ?>" value="normal"<?php echo (($prli_options->extended_tracking == 'normal')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Normal Tracking', 'pretty-link'); ?>
78
+ </li>
79
+ <li>
80
+ <input type="radio" name="<?php echo $extended_tracking; ?>" value="extended"<?php echo (($prli_options->extended_tracking == 'extended')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Extended Tracking (more stats / slower performance)', 'pretty-link'); ?>
81
+ </li>
82
+ <li>
83
+ <input type="radio" name="<?php echo $extended_tracking; ?>" value="count"<?php echo (($prli_options->extended_tracking == 'count')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Simple Click Count Tracking (less stats / faster performance)', 'pretty-link'); ?>
84
+ </li>
85
+ </ul>
86
+ </div>
87
  </td>
88
  </tr>
89
  </table>
90
 
91
  <p class="submit">
92
+ <input type="submit" name="Submit" value="<?php _e('Update Options', 'pretty-link') ?>" />
93
  </p>
94
 
95
+
96
+ <h3>Trim Hit Database</h3>
97
+
98
+ <?php if($prli_options->extended_tracking != 'count') { ?>
99
+ <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_30day_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data that is older than 30 days. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete this data because there is no going back!');">Delete Hits older than 30 days</a>
100
+ <br/><span class="description">This will clear all hits in your database that are older than 30 days.</span></p>
101
+
102
+ <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_90day_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data that is older than 90 days. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete this data because there is no going back!');">Delete Hits older than 90 days</a>
103
+ <br/><span class="description">This will clear all hits in your database that are older than 90 days.</span></p>
104
+ <?php } ?>
105
+
106
+ <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_all_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data in your Database. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete all your data because there is no going back!');">Delete All Hits</a>
107
+ <br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
108
 
109
  </form>
110
  </div>
classes/views/prli-options/head.php CHANGED
@@ -1,13 +1,6 @@
1
  <script type="text/javascript">
2
  jQuery(document).ready(function() {
3
- jQuery('.prettybar-expand').show();
4
- jQuery('.prettybar-collapse').hide();
5
- jQuery('.prettybar-toggle-pane').hide();
6
- jQuery('.prettybar-toggle-button').click(function() {
7
- jQuery('.prettybar-toggle-pane').toggle();
8
- jQuery('.prettybar-expand').toggle();
9
- jQuery('.prettybar-collapse').toggle();
10
- });
11
 
12
  jQuery('.reporting-expand').show();
13
  jQuery('.reporting-collapse').hide();
@@ -26,6 +19,22 @@ jQuery(document).ready(function() {
26
  jQuery('.link-expand').toggle();
27
  jQuery('.link-collapse').toggle();
28
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  });
30
  </script>
31
 
@@ -34,3 +43,5 @@ jQuery(document).ready(function() {
34
  cursor: pointer;
35
  }
36
  </style>
 
 
1
  <script type="text/javascript">
2
  jQuery(document).ready(function() {
3
+ <?php do_action('prli_options_js'); ?>
 
 
 
 
 
 
 
4
 
5
  jQuery('.reporting-expand').show();
6
  jQuery('.reporting-collapse').hide();
19
  jQuery('.link-expand').toggle();
20
  jQuery('.link-collapse').toggle();
21
  });
22
+
23
+ if (jQuery('.filter-robots-checkbox').is(':checked')) {
24
+ jQuery('.whitelist-ips').show();
25
+ }
26
+ else {
27
+ jQuery('.whitelist-ips').hide();
28
+ }
29
+
30
+ jQuery('.filter-robots-checkbox').change(function() {
31
+ if (jQuery('.filter-robots-checkbox').is(':checked')) {
32
+ jQuery('.whitelist-ips').show();
33
+ }
34
+ else {
35
+ jQuery('.whitelist-ips').hide();
36
+ }
37
+ });
38
  });
39
  </script>
40
 
43
  cursor: pointer;
44
  }
45
  </style>
46
+
47
+ <?php do_action('prli-options-head'); ?>
classes/views/prli-options/pro-settings.php CHANGED
@@ -2,42 +2,17 @@
2
  <div id="icon-options-general" class="icon32"><br /></div>
3
  <h2 id="prli_title">Pretty Link: Pro Account Information</h2>
4
  <?php $this_uri = preg_replace('#&.*?$#', '', str_replace( '%7E', '~', $_SERVER['REQUEST_URI'])); ?>
5
- <form name="proaccount_form" method="post" action="<?php echo $this_uri; ?>">
6
- <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
7
- <input type="hidden" name="action" value="pro-settings">
8
- <?php wp_nonce_field('update-options'); ?>
9
-
10
  <h3>Pretty Link Pro Account Information</h3>
11
- <?php if($prli_utils->pro_is_installed()) { ?>
12
  <p><a href="http://prettylinkpro.com/user-manual">User Manual</a></p>
13
  <?php } ?>
14
- <table class="form-table">
15
- <tr class="form-field">
16
- <td valign="top" width="15%"><?php _e("Pretty Link Pro Username*:", $prlipro_username ); ?> </td>
17
- <td width="85%">
18
- <input type="text" name="<?php echo $prlipro_username; ?>" value="<?php echo $prlipro_username_val; ?>"/>
19
- <br/><span class="description">Your Pretty Link Pro Username.</span>
20
- </td>
21
- </tr>
22
- <tr class="form-field">
23
- <td valign="top" width="15%"><?php _e("Pretty Link Pro Password:", $prlipro_password ); ?> </td>
24
- <td width="85%">
25
- <input type="password" name="<?php echo $prlipro_password; ?>" value="<?php echo $prlipro_password_val; ?>"/>
26
- <br/><span class="description">Your Pretty Link Pro Password.</span>
27
- </td>
28
- </tr>
29
- </table>
30
-
31
- <p class="submit">
32
- <input type="submit" name="Submit" value="<?php _e('Save', $prli_domain ) ?>" />
33
- </p>
34
-
35
- <?php if($prli_utils->pro_is_installed()) { ?>
36
- <div><p><strong>The <?php echo $prli_utils->get_pro_version(); ?> Version of Pretty LInk Pro is Installed</strong></p><p><a href="<?php echo $this_uri; ?>&action=force-pro-reinstall" title="Re-Install">Re-Install</a>&nbsp;|&nbsp;<a href="<?php echo $this_uri; ?>&action=pro-uninstall" onclick="return confirm('Are you sure you want to Un-Install Pretty Link Pro? This will delete your pro username & password from your local database, remove all the pro software but will leave all your data intact incase you want to reinstall sometime :) ...');" title="Un-Install" >Un-Install</a></p><br/><p><strong>Edit/Update Your Profile:</strong><br/><span class="description">Use your account username and password to log in to your Account and Affiliate Control Panel</span></p><p><a href="http://prettylinkpro.com/amember/member.php">Account</a>&nbsp;|&nbsp;<a href="http://prettylinkpro.com/amember/aff_member.php">Affiliate Control Panel</a></div>
37
 
38
  <?php } else { ?>
39
- <a href="http://prettylinkpro.com">Upgrade to Pretty Link Pro</a>
 
40
  <?php } ?>
41
 
42
- </form>
43
  </div>
2
  <div id="icon-options-general" class="icon32"><br /></div>
3
  <h2 id="prli_title">Pretty Link: Pro Account Information</h2>
4
  <?php $this_uri = preg_replace('#&.*?$#', '', str_replace( '%7E', '~', $_SERVER['REQUEST_URI'])); ?>
 
 
 
 
 
5
  <h3>Pretty Link Pro Account Information</h3>
6
+ <?php if($prli_update->pro_is_installed_and_authorized()) { ?>
7
  <p><a href="http://prettylinkpro.com/user-manual">User Manual</a></p>
8
  <?php } ?>
9
+ <?php echo $prli_update->pro_cred_form(); ?>
10
+ <?php if($prli_update->pro_is_installed_and_authorized()) { ?>
11
+ <div><p><strong>Pretty Link Pro is Installed</strong></p><p><a href="<?php echo $this_uri; ?>&action=pro-uninstall" onclick="return confirm('Are you sure you want to Un-Install Pretty Link Pro? This will delete your pro username & password from your local database, remove all the pro software but will leave all your data intact incase you want to reinstall sometime :) ...');" title="Downgrade to Pretty Link Standard" >Downgrade to Pretty Link Standard</a></p><br/><p><strong>Edit/Update Your Profile:</strong><br/><span class="description">Use your account username and password to log in to your Account and Affiliate Control Panel</span></p><p><a href="http://prettylinkpro.com/amember/member.php">Account</a>&nbsp;|&nbsp;<a href="http://prettylinkpro.com/amember/aff_member.php">Affiliate Control Panel</a></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  <?php } else { ?>
14
+ <p><strong>Ready to take your marketing efforts to the next level?</strong><br/>
15
+ <a href="http://prettylinkpro.com">Pretty Link Pro</a> will help you automate, share, test and get more clicks &amp; conversions from your Pretty Links!<br/><br/><a href="http://prettylinkpro.com">Learn More &raquo;</a></p>
16
  <?php } ?>
17
 
 
18
  </div>
{trunk/classes → classes}/views/prli-tools/form.php RENAMED
File without changes
classes/views/shared/errors.php CHANGED
@@ -1,19 +1,19 @@
 
1
  <?php
2
- if( $errors != null and count($errors) > 0 )
3
  {
4
- ?>
5
  <div class="error">
6
  <ul>
7
  <?php
8
  foreach( $errors as $error )
9
  {
10
- ?>
11
- <li><strong>ERROR</strong>: <?php print $error; ?></li>
12
- <?php
13
- }
14
  ?>
 
 
 
 
15
  </ul>
16
  </div>
17
- <?php
18
- }
19
- ?>
1
+ <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
  <?php
3
+ if( isset($errors) and count($errors) > 0 )
4
  {
5
+ ?>
6
  <div class="error">
7
  <ul>
8
  <?php
9
  foreach( $errors as $error )
10
  {
 
 
 
 
11
  ?>
12
+ <li><strong>ERROR</strong>: <?php echo esc_html($error); ?></li>
13
+ <?php
14
+ }
15
+ ?>
16
  </ul>
17
  </div>
18
+ <?php
19
+ }
 
{trunk/classes → classes}/views/shared/link-table-nav.php RENAMED
File without changes
classes/views/shared/nav.php CHANGED
@@ -1 +1,9 @@
1
- <p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 5px;"><span style="font-size: 12px;"><a href="http://blairwilliams.com/blog">Get the most from WordPress at BlairWilliams.com</a></span><br/><a href="http://blairwilliams.com/faq" target="_blank">Get Help</a>&nbsp;|&nbsp;<a href="http://blairwilliams.com/category/tutorial" target="_blank">Tutorials</a>&nbsp;|&nbsp;<a href="http://blairwilliams.com/don" target="_blank">Donate</a></p>
 
 
 
 
 
 
 
 
1
+ <?php
2
+ global $prli_update;
3
+
4
+ if($prli_update->pro_is_installed_and_authorized())
5
+ $support_link = "&nbsp;|&nbsp;<a href=\"http://prettylinkpro.com/user-manual\">" . __('Pro Manual', 'pretty-link') . '</a>';
6
+ else
7
+ $support_link = "&nbsp;|&nbsp;<a href=\"http://prettylinkpro.com\">" . __('Upgrade to Pro', 'pretty-link') . '</a>';
8
+ ?>
9
+ <p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 0px; padding-right: 10px;"><?php _e('Connect', 'pretty-link'); ?>:&nbsp;&nbsp;<a href="http://twitter.com/blairwilli"><img src="<?php echo PRLI_IMAGES_URL; ?>/twitter_32.png" style="width: 24px; height: 24px;" /></a>&nbsp;<a href="http://www.facebook.com/pages/Pretty-Link/283252860401"><img src="<?php echo PRLI_IMAGES_URL; ?>/facebook_32.png" style="width: 24px; height: 24px;" /></a><br/><?php _e('Get Help', 'pretty-link'); ?>:&nbsp;&nbsp;<a href="http://blairwilliams.com/xba" target="_blank"><?php _e('Tutorials', 'pretty-link'); ?></a><?php echo $support_link; ?>&nbsp;|&nbsp;<a href="http://blairwilliams.com/work"><?php _e('One on One', 'pretty-link'); ?></a></p>
classes/views/shared/table-nav.php CHANGED
@@ -1,17 +1,18 @@
 
1
  <?php
2
  // Only show the pager bar if there is more than 1 page
3
  if($page_count > 1)
4
  {
5
  ?>
6
- <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
7
- <div class='tablenav-pages'><span class="displaying-num">Displaying <?php print "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
8
 
9
  <?php
10
  // Only show the prev page button if the current page is not the first page
11
  if($current_page > 1)
12
  {
13
  ?>
14
- <a class='prev page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page-1); ?>'>&laquo;</a>
15
  <?php
16
  }
17
 
@@ -25,7 +26,7 @@
25
  else
26
  {
27
  ?>
28
- <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=1'>1</a>
29
  <?php
30
  }
31
 
@@ -45,13 +46,13 @@
45
  if($current_page==$i)
46
  {
47
  ?>
48
- <span class='page-numbers current'><?php print $i; ?></span>
49
  <?php
50
  }
51
  else
52
  {
53
  ?>
54
- <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $i; ?>'><?php print $i; ?></a>
55
  <?php
56
  }
57
  }
@@ -68,13 +69,13 @@
68
  if($current_page == $page_count)
69
  {
70
  ?>
71
- <span class='page-numbers current'><?php print $page_count; ?></span>
72
  <?php
73
  }
74
  else
75
  {
76
  ?>
77
- <a class='page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print $page_count; ?>'><?php print $page_count; ?></a>
78
  <?php
79
  }
80
 
@@ -82,12 +83,11 @@
82
  if($current_page < $page_count)
83
  {
84
  ?>
85
- <a class='next page-numbers' href='?page=<?php print PRLI_PLUGIN_NAME; ?>/<?php print $controller_file . $page_params; ?>&paged=<?php print($current_page + 1); ?>'>&raquo;</a>
86
  <?php
87
  }
88
  ?>
89
  </div>
90
  </div>
91
  <?php
92
- }
93
- ?>
1
+ <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
  <?php
3
  // Only show the pager bar if there is more than 1 page
4
  if($page_count > 1)
5
  {
6
  ?>
7
+ <div class="tablenav"<?php echo (isset($navstyle)?" style=\"" . esc_html($navstyle) . "\"":''); ?>>
8
+ <div class='tablenav-pages'><span class="displaying-num">Displaying <?php echo esc_html("$page_first_record&#8211;$page_last_record of $record_count"); ?></span>
9
 
10
  <?php
11
  // Only show the prev page button if the current page is not the first page
12
  if($current_page > 1)
13
  {
14
  ?>
15
+ <a class='prev page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php print($current_page-1); ?>'>&laquo;</a>
16
  <?php
17
  }
18
 
26
  else
27
  {
28
  ?>
29
+ <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=1'>1</a>
30
  <?php
31
  }
32
 
46
  if($current_page==$i)
47
  {
48
  ?>
49
+ <span class='page-numbers current'><?php echo esc_html($i); ?></span>
50
  <?php
51
  }
52
  else
53
  {
54
  ?>
55
+ <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php echo esc_html($i); ?>'><?php echo esc_html($i); ?></a>
56
  <?php
57
  }
58
  }
69
  if($current_page == $page_count)
70
  {
71
  ?>
72
+ <span class='page-numbers current'><?php echo esc_html($page_count); ?></span>
73
  <?php
74
  }
75
  else
76
  {
77
  ?>
78
+ <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php echo esc_html($page_count); ?>'><?php echo esc_html($page_count); ?></a>
79
  <?php
80
  }
81
 
83
  if($current_page < $page_count)
84
  {
85
  ?>
86
+ <a class='next page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php print($current_page + 1); ?>'>&raquo;</a>
87
  <?php
88
  }
89
  ?>
90
  </div>
91
  </div>
92
  <?php
93
+ }
 
{trunk/i18n → i18n}/pretty-link.pot RENAMED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Pretty Link Lite package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Pretty Link Lite 1.4.6\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
7
- "POT-Creation-Date: 2011-10-16 20:37:55+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
2
  # This file is distributed under the same license as the Pretty Link Lite package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Pretty Link Lite 1.5.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
7
+ "POT-Creation-Date: 2011-10-17 04:06:02+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
images/browser/abilon.png DELETED
Binary file
images/browser/adobe.png DELETED
Binary file
images/browser/akregator.png DELETED
Binary file
images/browser/alcatel.png DELETED
Binary file
images/browser/amaya.png DELETED
Binary file
images/browser/amigavoyager.png DELETED
Binary file
images/browser/analogx.png DELETED
Binary file
images/browser/apt.png DELETED
Binary file
images/browser/avant.png DELETED
Binary file
images/browser/aweb.png DELETED
Binary file
images/browser/bpftp.png DELETED
Binary file
images/browser/bytel.png DELETED
Binary file
images/browser/chimera.png DELETED
Binary file
images/browser/chrome.png DELETED
Binary file
images/browser/cyberdog.png DELETED
Binary file
images/browser/da.png DELETED
Binary file
images/browser/dillo.png DELETED
Binary file
images/browser/doris.png DELETED
Binary file
images/browser/dreamcast.png DELETED
Binary file
images/browser/ecatch.png DELETED
Binary file
images/browser/encompass.png DELETED
Binary file
images/browser/epiphany.png DELETED
Binary file
images/browser/ericsson.png DELETED
Binary file
images/browser/feeddemon.png DELETED
Binary file
images/browser/feedreader.png DELETED
Binary file
images/browser/firefox.png DELETED
Binary file
images/browser/flashget.png DELETED
Binary file
images/browser/fpexpress.png DELETED
Binary file
images/browser/fresco.png DELETED
Binary file
images/browser/freshdownload.png DELETED
Binary file
images/browser/frontpage.png DELETED
Binary file
images/browser/galeon.png DELETED
Binary file
images/browser/getright.png DELETED
Binary file
images/browser/gnome.png DELETED
Binary file
images/browser/gnus.png DELETED
Binary file
images/browser/gozilla.png DELETED
Binary file
images/browser/hotjava.png DELETED
Binary file
images/browser/httrack.png DELETED
Binary file
images/browser/ibrowse.png DELETED
Binary file
images/browser/icab.png DELETED
Binary file
images/browser/java.png DELETED
Binary file
images/browser/jetbrains_omea.png DELETED
Binary file
images/browser/kmeleon.png DELETED
Binary file
images/browser/konqueror.png DELETED
Binary file
images/browser/leechget.png DELETED
Binary file
images/browser/lg.png DELETED
Binary file
images/browser/lotusnotes.png DELETED
Binary file
images/browser/lynx.png DELETED
Binary file
images/browser/macweb.png DELETED
Binary file
images/browser/mediaplayer.png DELETED
Binary file
images/browser/motorola.png DELETED
Binary file
images/browser/mozilla.png DELETED
Binary file
images/browser/mplayer.png DELETED
Binary file
images/browser/msie.png DELETED
Binary file
images/browser/msie_large.png DELETED
Binary file
images/browser/multizilla.png DELETED
Binary file
images/browser/ncsa_mosaic.png DELETED
Binary file
images/browser/neon.png DELETED
Binary file
images/browser/netnewswire.png DELETED
Binary file
images/browser/netpositive.png DELETED
Binary file
images/browser/netscape.png DELETED
Binary file
images/browser/netscape_large.png DELETED
Binary file
images/browser/netshow.png DELETED
Binary file
images/browser/newsfire.png DELETED
Binary file
images/browser/newsgator.png DELETED
Binary file
images/browser/newzcrawler.png DELETED
Binary file
images/browser/nokia.png DELETED
Binary file
images/browser/notavailable.png DELETED
Binary file
images/browser/omniweb.png DELETED
Binary file
images/browser/opera.png DELETED
Binary file
images/browser/panasonic.png DELETED
Binary file
images/browser/pdaphone.png DELETED
Binary file
images/browser/philips.png DELETED
Binary file
images/browser/phoenix.png DELETED
Binary file
images/browser/pluck.png DELETED
Binary file
images/browser/pulpfiction.png DELETED
Binary file
images/browser/real.png DELETED
Binary file
images/browser/rss.png DELETED
Binary file
images/browser/rssbandit.png DELETED
Binary file
images/browser/rssowl.png DELETED
Binary file
images/browser/rssreader.png DELETED
Binary file
images/browser/rssxpress.png DELETED
Binary file
images/browser/safari.png DELETED
Binary file
images/browser/sagem.png DELETED
Binary file
images/browser/samsung.png DELETED
Binary file
images/browser/sharp.png DELETED
Binary file
images/browser/sharpreader.png DELETED
Binary file
images/browser/shrook.png DELETED
Binary file
images/browser/siemens.png DELETED
Binary file
images/browser/sony.png DELETED
Binary file
images/browser/staroffice.png DELETED
Binary file
images/browser/subversion.png DELETED
Binary file
images/browser/teleport.png DELETED
Binary file
images/browser/trium.png DELETED
Binary file
images/browser/unknown.png DELETED
Binary file
images/browser/w3c.png DELETED
Binary file
images/browser/webcopier.png DELETED
Binary file
images/browser/webreaper.png DELETED
Binary file
images/browser/webtv.png DELETED
Binary file
images/browser/webzip.png DELETED
Binary file
images/browser/winxbox.png DELETED
Binary file
images/browser/wizz.png DELETED
Binary file
{trunk/images → images}/co.mments.gif RENAMED
File without changes
{trunk/images → images}/dark_add_twitter_account.png RENAMED
File without changes
{trunk/images → images}/delicious_32.png RENAMED
File without changes
{trunk/images → images}/digg_32.png RENAMED
File without changes
{trunk/images → images}/email_32.png RENAMED
File without changes
{trunk/images → images}/facebook.png RENAMED
File without changes
{trunk/images → images}/facebook_32.png RENAMED
File without changes
{trunk/images → images}/hyves_32.png RENAMED
File without changes
{trunk/images → images}/linkedin_32.png RENAMED
File without changes
{trunk/images → images}/mixx_32.png RENAMED
File without changes
{trunk/images → images}/newsvine_32.png RENAMED
File without changes
images/os/aix.png DELETED
Binary file
images/os/amigaos.png DELETED
Binary file
images/os/apple.png DELETED
Binary file
images/os/atari.png DELETED
Binary file
images/os/beos.png DELETED
Binary file
images/os/bsd.png DELETED
Binary file
images/os/bsdfreebsd.png DELETED
Binary file
images/os/bsdi.png DELETED
Binary file
images/os/bsdnetbsd.png DELETED
Binary file
images/os/bsdopenbsd.png DELETED
Binary file
images/os/commodore.png DELETED
Binary file
images/os/cpm.png DELETED
Binary file
images/os/debian.png DELETED
Binary file
images/os/digital.png DELETED
Binary file
images/os/dos.png DELETED
Binary file
images/os/dreamcast.png DELETED
Binary file
images/os/freebsd.png DELETED
Binary file
images/os/gnu.png DELETED
Binary file
images/os/hpux.png DELETED
Binary file
images/os/ibm.png DELETED
Binary file
images/os/imode.png DELETED
Binary file
images/os/irix.png DELETED
Binary file
images/os/java.png DELETED
Binary file
images/os/kfreebsd.png DELETED
Binary file
images/os/linux.png DELETED
Binary file
images/os/linuxcentos.png DELETED
Binary file
images/os/linuxdebian.png DELETED
Binary file
images/os/linuxfedora.png DELETED
Binary file
images/os/linuxgentoo.png DELETED
Binary file
images/os/linuxmandr.png DELETED
Binary file
images/os/linuxredhat.png DELETED
Binary file
images/os/linuxsuse.png DELETED
Binary file
images/os/linuxubuntu.png DELETED
Binary file
images/os/mac.png DELETED
Binary file
images/os/macintosh.png DELETED
Binary file
images/os/macosx.png DELETED
Binary file
images/os/netbsd.png DELETED
Binary file
images/os/netware.png DELETED
Binary file
images/os/next.png DELETED
Binary file
images/os/openbsd.png DELETED
Binary file
images/os/os2.png DELETED
Binary file
images/os/osf.png DELETED
Binary file
images/os/psp.png DELETED
Binary file
images/os/qnx.png DELETED
Binary file
images/os/riscos.png DELETED
Binary file
images/os/sco.png DELETED
Binary file
images/os/sunos.png DELETED
Binary file
images/os/symbian.png DELETED
Binary file
images/os/unix.png DELETED
Binary file
images/os/unknown.png DELETED
Binary file
images/os/vms.png DELETED
Binary file
images/os/webtv.png DELETED
Binary file
images/os/win.png DELETED
Binary file
images/os/win16.png DELETED
Binary file
images/os/win2000.png DELETED
Binary file
images/os/win2003.png DELETED
Binary file
images/os/win95.png DELETED
Binary file
images/os/win98.png DELETED
Binary file
images/os/wince.png DELETED
Binary file
images/os/winlong.png DELETED
Binary file
images/os/winme.png DELETED
Binary file
images/os/winnt.png DELETED
Binary file
images/os/winunknown.png DELETED
Binary file
images/os/winxbox.png DELETED
Binary file
images/os/winxp.png DELETED
Binary file
{trunk/images → images}/prettylink_logo.jpg RENAMED
File without changes
{trunk/images → images}/prettylink_logo_med.jpg RENAMED
File without changes
{trunk/images → images}/prettylink_logo_small.jpg RENAMED
File without changes
{trunk/images → images}/reddit_32.png RENAMED
File without changes
{trunk/images → images}/retweet.gif RENAMED
File without changes
{trunk/images → images}/retweet.png RENAMED
File without changes
{trunk/images → images}/rotate_link.png RENAMED
File without changes
{trunk/images → images}/sphinn_32.png RENAMED
File without changes
{trunk/images → images}/stumbleupon_32.png RENAMED
File without changes
{trunk/images → images}/technorati_32.png RENAMED
File without changes
{trunk/images → images}/tweet.gif RENAMED
File without changes
{trunk/images → images}/tweet.png RENAMED
File without changes
{trunk/images → images}/twitter.png RENAMED
File without changes
{trunk/images → images}/twitter_32.png RENAMED
File without changes
{trunk/images → images}/yahoobuzz_32.png RENAMED
File without changes
includes/php/php_browsecap.ini CHANGED
@@ -1,9 +1,9 @@
1
  ;;; Provided courtesy of http://browsers.garykeith.com
2
- ;;; Created on Friday, July 31, 2009 at 9:56 PM GMT
3
 
4
  [GJK_Browscap_Version]
5
- Version=4484
6
- Released=Fri, 31 Jul 2009 21:56:31 -0000
7
 
8
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties
9
 
@@ -63,6 +63,10 @@ Frames=true
63
  Tables=true
64
  Crawler=true
65
 
 
 
 
 
66
  [BaiduImageSpider*]
67
  Parent=Baidu
68
  Browser="BaiduImageSpider"
@@ -126,6 +130,10 @@ Parent=Google
126
  Browser="Googlebot-Image"
127
  CDF=true
128
 
 
 
 
 
129
  [googlebot-urlconsole]
130
  Parent=Google
131
  Browser="googlebot-urlconsole"
@@ -146,6 +154,10 @@ Browser="Googlebot"
146
  Parent=Google
147
  Browser="Googlebot/Test"
148
 
 
 
 
 
149
  [gsa-crawler*]
150
  Parent=Google
151
  Browser="Google Search Appliance"
@@ -155,15 +167,10 @@ isBanned=true
155
  Parent=Google
156
  Browser="Mediapartners-Google"
157
 
158
- [Mozilla/4.0 (compatible; Google Desktop)]
159
  Parent=Google
160
  Browser="Google Desktop"
161
 
162
- [Mozilla/4.0 (compatible; GoogleToolbar*)]
163
- Parent=Google
164
- Browser="Google Toolbar"
165
- isBanned=true
166
-
167
  [Mozilla/5.0 (compatible; Google Keyword Tool;*)]
168
  Parent=Google
169
  Browser="Google Keyword Tool"
@@ -215,6 +222,10 @@ Browser="Y!J-AGENT/BMI"
215
  Parent=Inktomi
216
  Browser="Yahoo! Directory Engine"
217
 
 
 
 
 
218
  [Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)]
219
  Parent=Inktomi
220
  Browser="Yahoo! Slurp China"
@@ -266,21 +277,76 @@ MinorVer=3
266
  Parent=Inktomi
267
  Browser="slurp"
268
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
  [Y!J-BSC/1.0*]
270
  Parent=Inktomi
271
- Browser="Y!J-BSC"
272
  Version=1.0
273
  MajorVer=1
274
  MinorVer=0
275
- isBanned=true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
 
277
  [Y!J-SRD/1.0]
278
  Parent=Inktomi
279
- Browser="Y!J-SRD"
280
  Version=1.0
281
  MajorVer=1
282
  MinorVer=0
283
 
 
 
 
 
 
284
  [Yahoo Mindset]
285
  Parent=Inktomi
286
  Browser="Yahoo Mindset"
@@ -689,9 +755,9 @@ isBanned=true
689
  Parent=Exalead
690
  Browser="Exabot-Images"
691
 
692
- [Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter/tests);*)]
693
  Parent=Exalead
694
- Browser="Exabot/BiggerBetter/tests"
695
 
696
  [Mozilla/5.0 (compatible; Exabot/3.0;*)]
697
  Parent=Exalead
@@ -1053,6 +1119,11 @@ Version=1.0
1053
  MajorVer=1
1054
  MinorVer=0
1055
 
 
 
 
 
 
1056
  [ddetailsbot (http://www.displaydetails.com)]
1057
  Parent=General Crawlers
1058
  Browser="ddetailsbot"
@@ -1171,6 +1242,11 @@ Parent=General Crawlers
1171
  Browser="LucidMedia-ClickSense"
1172
  isBanned=true
1173
 
 
 
 
 
 
1174
  [Mahalobot/1.0 (?http://www.mahalo.com/)]
1175
  Parent=General Crawlers
1176
  Browser="Mahalobot"
@@ -1314,18 +1390,19 @@ isBanned=true
1314
  Parent=General Crawlers
1315
  Browser="Kyluka"
1316
 
1317
- [Mozilla/5.0 (compatible; MJ12bot/v1.2.*; http://www.majestic12.co.uk/bot.php*)]
1318
  Parent=General Crawlers
1319
  Browser="MJ12bot"
1320
- Version=1.2
1321
- MajorVer=1
1322
- MinorVer=2
1323
  isBanned=true
1324
 
1325
  [Mozilla/5.0 (compatible; MSIE 7.0 ?http://www.europarchive.org)]
1326
  Parent=General Crawlers
1327
  Browser="Europe Web Archive"
1328
 
 
 
 
 
1329
  [Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0;*)]
1330
  Parent=General Crawlers
1331
  Browser="Seznam screenshot-generator"
@@ -1343,6 +1420,11 @@ Browser="UnWrap"
1343
  Parent=General Crawlers
1344
  Browser="Vermut"
1345
 
 
 
 
 
 
1346
  [Mozilla/5.0 (compatible; Webbot/*)]
1347
  Parent=General Crawlers
1348
  Browser="Webbot.ru"
@@ -1361,6 +1443,11 @@ Parent=General Crawlers
1361
  Browser="NetCarta_WebMapper"
1362
  isBanned=true
1363
 
 
 
 
 
 
1364
  [NetID.com Bot*]
1365
  Parent=General Crawlers
1366
  Browser="NetID.com Bot"
@@ -1599,10 +1686,19 @@ Parent=General Crawlers
1599
  Browser="Talkro Web-Shot"
1600
  isBanned=true
1601
 
 
 
 
 
 
1602
  [Tecomi Bot (http://www.tecomi.com/bot.htm)]
1603
  Parent=General Crawlers
1604
  Browser="Tecomi"
1605
 
 
 
 
 
1606
  [TheInformant*]
1607
  Parent=General Crawlers
1608
  Browser="TheInformant"
@@ -1647,6 +1743,10 @@ isBanned=true
1647
  Parent=General Crawlers
1648
  Browser="Visicom Toolbar"
1649
 
 
 
 
 
1650
  [W3C-WebCon/*]
1651
  Parent=General Crawlers
1652
  Browser="W3C-WebCon"
@@ -1690,7 +1790,7 @@ Browser="WhizBang"
1690
  Parent=General Crawlers
1691
  Browser="Willow Internet Crawler"
1692
 
1693
- [WIRE/* (Linux; i686; Bot,Robot,Spider,Crawler)]
1694
  Parent=General Crawlers
1695
  Browser="WIRE"
1696
  isBanned=true
@@ -1826,6 +1926,10 @@ Browser="Deepindex"
1826
  Parent=Search Engines
1827
  Browser="DiamondBot"
1828
 
 
 
 
 
1829
  [Dumbot*]
1830
  Parent=Search Engines
1831
  Browser="Dumbot"
@@ -1976,11 +2080,15 @@ Browser="miniRank"
1976
  Parent=Search Engines
1977
  Browser="Mnogosearch"
1978
 
1979
- [Mozilla/0.9* no dos :) (Linux)]
1980
  Parent=Search Engines
1981
  Browser="goliat"
1982
  isBanned=true
1983
 
 
 
 
 
1984
  [Mozilla/4.0 (compatible; Arachmo)]
1985
  Parent=Search Engines
1986
  Browser="Arachmo"
@@ -1995,10 +2103,6 @@ Parent=Search Engines
1995
  Browser="Girafabot"
1996
  Win32=true
1997
 
1998
- [Mozilla/4.0 (compatible; Vagabondo/*; webcrawler at wise-guys dot nl; *)]
1999
- Parent=Search Engines
2000
- Browser="Vagabondo"
2001
-
2002
  [Mozilla/4.0(?compatible; MSIE 6.0; Qihoo *)]
2003
  Parent=Search Engines
2004
  Browser="Qihoo"
@@ -2016,6 +2120,10 @@ isBanned=true
2016
  Parent=Search Engines
2017
  Browser="ActiveTouristBot"
2018
 
 
 
 
 
2019
  [Mozilla/5.0 (compatible; Butterfly/1.0; *)*]
2020
  Parent=Search Engines
2021
  Browser="Butterfly"
@@ -2058,6 +2166,10 @@ Parent=Search Engines
2058
  Browser="Octopodus"
2059
  isBanned=true
2060
 
 
 
 
 
2061
  [Mozilla/5.0 (compatible; Pogodak.*)]
2062
  Parent=Search Engines
2063
  Browser="Pogodak"
@@ -2069,6 +2181,7 @@ Browser="Quantcastbot"
2069
  [Mozilla/5.0 (compatible; ScoutJet; *http://www.scoutjet.com/)]
2070
  Parent=Search Engines
2071
  Browser="ScoutJet"
 
2072
 
2073
  [Mozilla/5.0 (compatible; Scrubby/*; http://www.scrubtheweb.com/abs/meta-check.html)]
2074
  Parent=Search Engines
@@ -2803,6 +2916,14 @@ Browser="www4mail"
2803
  Parent=E-Mail Harvesters
2804
  Browser="8484 Boston Project"
2805
 
 
 
 
 
 
 
 
 
2806
  [CherryPicker*/*]
2807
  Parent=E-Mail Harvesters
2808
  Browser="CherryPickerElite"
@@ -2895,6 +3016,10 @@ Browser="Bloglines Title Fetch"
2895
  Parent=Feeds Blogs
2896
  Browser="BlogLines Web"
2897
 
 
 
 
 
2898
  [BlogPulseLive (support@blogpulse.com)]
2899
  Parent=Feeds Blogs
2900
  Browser="BlogPulseLive"
@@ -3092,6 +3217,10 @@ Browser="NewsMonster"
3092
  Parent=Feeds Syndicators
3093
  Browser="Rojo"
3094
 
 
 
 
 
3095
  [Netvibes (*)]
3096
  Parent=Feeds Syndicators
3097
  Browser="Netvibes"
@@ -3728,6 +3857,10 @@ Parent=Miscellaneous Browsers
3728
  Browser="12345"
3729
  isBanned=true
3730
 
 
 
 
 
3731
  [Ace Explorer]
3732
  Parent=Miscellaneous Browsers
3733
  Browser="Ace Explorer"
@@ -4173,6 +4306,10 @@ Browser="3wGet"
4173
  Parent=Rippers
4174
  Browser="ActiveRefresh"
4175
 
 
 
 
 
4176
  [Artera (Version *)]
4177
  Parent=Rippers
4178
  Browser="Artera"
@@ -4297,6 +4434,10 @@ Browser="HTMLParser"
4297
  Parent=Rippers
4298
  Browser="http generic"
4299
 
 
 
 
 
4300
  [httpclient*]
4301
  Parent=Rippers
4302
 
@@ -4755,7 +4896,7 @@ Browser="websitepulse checker"
4755
 
4756
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Social Bookmarkers
4757
 
4758
- [Social Bookmarkers]
4759
  Parent=DefaultProperties
4760
  Browser="Social Bookmarkers"
4761
  Frames=true
@@ -4764,23 +4905,38 @@ Cookies=true
4764
  JavaScript=true
4765
 
4766
  [BookmarkBase(2/;http://bookmarkbase.com)]
4767
- Parent=Social Bookmarkers
4768
  Browser="BookmarkBase"
4769
 
4770
  [Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)]
4771
- Parent=Social Bookmarkers
4772
  Browser="Cocoalicious"
4773
 
 
 
 
 
 
4774
  [Mozilla/5.0 (compatible; FriendFeedBot/0.*; Http://friendfeed.com/about/bot)]
4775
- Parent=Social Bookmarkers
4776
  Browser="FriendFeedBot"
4777
 
 
 
 
 
 
 
 
 
 
4778
  [Twitturly*]
4779
- Parent=Social Bookmarkers
4780
  Browser="Twitturly"
 
4781
 
4782
  [WinkBot/*]
4783
- Parent=Social Bookmarkers
4784
  Browser="WinkBot"
4785
 
4786
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Translators
@@ -4829,6 +4985,14 @@ MajorVer=1
4829
  MinorVer=0
4830
  Platform=Win2000
4831
 
 
 
 
 
 
 
 
 
4832
  [Browscap updater]
4833
  Parent=Version Checkers
4834
  Browser="Browscap updater"
@@ -4861,6 +5025,10 @@ Parent=Version Checkers
4861
  Browser="Mono Browser Capabilities Updater"
4862
  isBanned=true
4863
 
 
 
 
 
4864
  [Rewmi/*]
4865
  Parent=Version Checkers
4866
  isBanned=true
@@ -4885,6 +5053,38 @@ Browser="clarkson.edu "
4885
  Parent=Version Checkers
4886
  Browser="Subst�ncia"
4887
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4888
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Become
4889
 
4890
  [Become]
@@ -5012,7 +5212,7 @@ Parent=Netcraft
5012
  Browser="Netcraft Webserver Survey"
5013
  isBanned=true
5014
 
5015
- [Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; info@netcraft.com)]
5016
  Parent=Netcraft
5017
  Browser="NetcraftSurveyAgent"
5018
 
@@ -5242,7 +5442,7 @@ Platform=Win7
5242
  Parent=Chrome 2.0
5243
  Platform=Win7
5244
 
5245
- [Mozilla/5.0 (X11; U; Linux i686; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5246
  Parent=Chrome 2.0
5247
  Platform=Linux
5248
 
@@ -5283,10 +5483,61 @@ Platform=Win7
5283
  Parent=Chrome 3.0
5284
  Platform=Win7
5285
 
5286
- [Mozilla/5.0 (X11; U; Linux i686; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5287
  Parent=Chrome 3.0
5288
  Platform=Linux
5289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5290
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Code
5291
 
5292
  [Google Code]
@@ -5461,40 +5712,6 @@ Platform=WinVista
5461
  Parent=Iron 2.0
5462
  Platform=Win7
5463
 
5464
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPod
5465
-
5466
- [iPod]
5467
- Parent=DefaultProperties
5468
- Browser="iPod"
5469
- Platform=iPhone OSX
5470
- isMobileDevice=true
5471
-
5472
- [Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/3.0 Mobile/* Safari/*]
5473
- Parent=iPod
5474
- Version=3.0
5475
- MajorVer=3
5476
- MinorVer=0
5477
- Platform=MacOSX
5478
-
5479
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/* (KHTML, like Gecko) Mobile/*]
5480
- Parent=iPod
5481
-
5482
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iTunes
5483
-
5484
- [iTunes]
5485
- Parent=DefaultProperties
5486
- Browser="iTunes"
5487
- Platform=iPhone OSX
5488
-
5489
- [iTunes/* (Windows; ?)]
5490
- Parent=iTunes
5491
- Browser="iTunes"
5492
- Platform=Win32
5493
- Win32=true
5494
-
5495
- [MOT-* iTunes/* MIB/* Profile/MIDP-* Configuration/CLDC-* UP.Link/*]
5496
- Parent=iTunes
5497
-
5498
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Media Players
5499
 
5500
  [Media Players]
@@ -5550,6 +5767,25 @@ isBanned=true
5550
  Parent=Media Players
5551
  Browser="WinAmp"
5552
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5553
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nintendo
5554
 
5555
  [Nintendo Wii]
@@ -5651,31 +5887,6 @@ MajorVer=9
5651
  MinorVer=0
5652
  Win32=true
5653
 
5654
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Zune
5655
-
5656
- [Zune]
5657
- Parent=DefaultProperties
5658
- Browser="Zune"
5659
- Cookies=true
5660
-
5661
- [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.0*)*]
5662
- Parent=Zune
5663
- Version=2.0
5664
- MajorVer=2
5665
- MinorVer=0
5666
-
5667
- [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.5*)*]
5668
- Parent=Zune
5669
- Version=2.5
5670
- MajorVer=2
5671
- MinorVer=5
5672
-
5673
- [Mozilla/4.0 (compatible; MSIE ?.0; *Zune 3.0*)*]
5674
- Parent=Zune
5675
- Version=3.0
5676
- MajorVer=3
5677
- MinorVer=0
5678
-
5679
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.0
5680
 
5681
  [QuickTime 7.0]
@@ -5930,8 +6141,10 @@ Parent=DefaultProperties
5930
  Browser="Android"
5931
  Platform=Android
5932
  Frames=true
 
5933
  Tables=true
5934
  Cookies=true
 
5935
  JavaScript=true
5936
  isMobileDevice=true
5937
 
@@ -5954,6 +6167,15 @@ Version=3.0
5954
  MajorVer=3
5955
  MinorVer=0
5956
 
 
 
 
 
 
 
 
 
 
5957
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BlackBerry
5958
 
5959
  [BlackBerry]
@@ -6090,89 +6312,80 @@ isMobileDevice=true
6090
  CssVersion=3
6091
  supportsCSS=true
6092
 
6093
- [Mozilla/4.0 (iPhone; *)]
6094
  Parent=iPhone
 
 
 
 
6095
 
6096
- [Mozilla/4.0 (iPhone; U; CPU like Mac OS X; *)]
6097
  Parent=iPhone
 
 
 
6098
 
6099
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6100
  Parent=iPhone
6101
- Browser="iPhone Simulator"
6102
  Version=3.1
6103
  MajorVer=3
6104
  MinorVer=1
6105
 
6106
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_0_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6107
  Parent=iPhone
6108
- Browser="iPhone Simulator"
6109
- Version=3.1
6110
- MajorVer=3
6111
- MinorVer=1
6112
 
6113
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6114
  Parent=iPhone
6115
- Browser="iPhone Simulator"
6116
- Version=3.1
6117
- MajorVer=3
6118
- MinorVer=1
6119
 
6120
- [Mozilla/5.0 (iPhone)]
6121
  Parent=iPhone
 
 
 
6122
 
6123
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6124
  Parent=iPhone
6125
- Version=3.1
6126
  MajorVer=3
6127
- MinorVer=1
6128
 
6129
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6130
  Parent=iPhone
6131
  Version=3.1
6132
  MajorVer=3
6133
  MinorVer=1
6134
 
6135
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
6136
  Parent=iPhone
6137
  Version=3.1
6138
  MajorVer=3
6139
  MinorVer=1
6140
 
6141
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0_2 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6142
- Parent=iPhone
6143
-
6144
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_1 like Mac OS X; *)*]
6145
- Parent=iPhone
6146
-
6147
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; *)]
6148
- Parent=iPhone
6149
-
6150
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/4.0 Mobile/* Safari/*]
6151
  Parent=iPhone
6152
- Version=3.0
6153
- MajorVer=3
 
6154
  MinorVer=0
6155
 
6156
- [Mozilla/5.0 (iPhone; U; CPU like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0 Mobile/* Safari/*]
6157
  Parent=iPhone
 
6158
  Version=3.0
6159
  MajorVer=3
6160
  MinorVer=0
6161
 
6162
- [Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/* Mobile/*]
6163
- Parent=iPhone
6164
- Browser="iPod Touch"
6165
-
6166
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2* like Mac OS X; *)*]
6167
- Parent=iPhone
6168
- Browser="iPod Touch"
6169
- Version=2.2
6170
- MajorVer=2
6171
- MinorVer=2
6172
-
6173
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 3_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
6174
  Parent=iPhone
6175
- Browser="iPod Touch"
 
 
6176
 
6177
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KDDI
6178
 
@@ -6422,6 +6635,12 @@ Version=4.2
6422
  MajorVer=4
6423
  MinorVer=2
6424
 
 
 
 
 
 
 
6425
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mobile
6426
 
6427
  [Opera Mobile]
@@ -6432,6 +6651,27 @@ Tables=true
6432
  Cookies=true
6433
  isMobileDevice=true
6434
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6435
  [Opera/9.5 (Microsoft Windows; PPC; *Opera Mobile/*)]
6436
  Parent=Opera Mobile
6437
  Version=9.5
@@ -6465,7 +6705,7 @@ JavaScript=true
6465
  ActiveXControls=true
6466
  isMobileDevice=true
6467
 
6468
- [Mozilla/5.0 (webOS/1.0; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6469
  Parent=Palm
6470
  Browser="Palm Pre"
6471
  Version=1.0
@@ -6474,7 +6714,7 @@ MinorVer=0
6474
  CssVersion=2
6475
  supportsCSS=true
6476
 
6477
- [Mozilla/5.0 (webOS/1.1; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6478
  Parent=Palm
6479
  Browser="Palm Pre"
6480
  Version=1.1
@@ -6483,6 +6723,19 @@ MinorVer=1
6483
  CssVersion=2
6484
  supportsCSS=true
6485
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6486
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Playstation
6487
 
6488
  [Playstation]
@@ -6700,141 +6953,45 @@ JavaApplets=true
6700
  CssVersion=1
6701
  supportsCSS=true
6702
 
6703
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Amaya
6704
-
6705
- [Amaya]
6706
- Parent=DefaultProperties
6707
- Browser="Amaya"
6708
- Tables=true
6709
- Cookies=true
6710
-
6711
- [amaya/7.*]
6712
- Parent=Amaya
6713
- Version=7.0
6714
- MajorVer=7
6715
- MinorVer=0
6716
-
6717
- [amaya/8.0*]
6718
- Parent=Amaya
6719
- Version=8.0
6720
- MajorVer=8
6721
- MinorVer=0
6722
- CssVersion=2
6723
- supportsCSS=true
6724
-
6725
- [amaya/8.1*]
6726
- Parent=Amaya
6727
- Version=8.1
6728
- MajorVer=8
6729
- MinorVer=1
6730
- CssVersion=2
6731
- supportsCSS=true
6732
-
6733
- [amaya/8.2*]
6734
- Parent=Amaya
6735
- Version=8.2
6736
- MajorVer=8
6737
- MinorVer=2
6738
- CssVersion=2
6739
- supportsCSS=true
6740
-
6741
- [amaya/8.3*]
6742
- Parent=Amaya
6743
- Version=8.3
6744
- MajorVer=8
6745
- MinorVer=3
6746
- CssVersion=2
6747
- supportsCSS=true
6748
-
6749
- [amaya/8.4*]
6750
- Parent=Amaya
6751
- Version=8.4
6752
- MajorVer=8
6753
- MinorVer=4
6754
- CssVersion=2
6755
- supportsCSS=true
6756
-
6757
- [amaya/8.5*]
6758
- Parent=Amaya
6759
- Version=8.5
6760
- MajorVer=8
6761
- MinorVer=5
6762
- CssVersion=2
6763
- supportsCSS=true
6764
-
6765
- [amaya/8.6*]
6766
- Parent=Amaya
6767
- Version=8.6
6768
- MajorVer=8
6769
- MinorVer=6
6770
- CssVersion=2
6771
- supportsCSS=true
6772
-
6773
- [amaya/8.7*]
6774
- Parent=Amaya
6775
- Version=8.7
6776
- MajorVer=8
6777
- MinorVer=7
6778
- CssVersion=2
6779
- supportsCSS=true
6780
-
6781
- [amaya/8.8*]
6782
- Parent=Amaya
6783
- Version=8.8
6784
- MajorVer=8
6785
- MinorVer=8
6786
- CssVersion=2
6787
- supportsCSS=true
6788
-
6789
- [amaya/8.9*]
6790
  Parent=Amaya
6791
- Version=8.9
6792
- MajorVer=8
6793
- MinorVer=9
6794
- CssVersion=2
6795
- supportsCSS=true
6796
 
6797
- [amaya/9.0*]
6798
  Parent=Amaya
6799
- Version=9.0
6800
- MajorVer=8
6801
  MinorVer=0
6802
- CssVersion=2
6803
- supportsCSS=true
6804
 
6805
- [amaya/9.1*]
6806
  Parent=Amaya
6807
- Version=9.1
6808
- MajorVer=9
6809
- MinorVer=1
6810
- CssVersion=2
6811
- supportsCSS=true
6812
 
6813
- [amaya/9.2*]
6814
  Parent=Amaya
6815
- Version=9.2
6816
- MajorVer=9
6817
- MinorVer=2
6818
  CssVersion=2
6819
  supportsCSS=true
6820
 
6821
- [amaya/9.3*]
6822
- Parent=Amaya
6823
- Version=9.3
6824
- MajorVer=9
6825
- MinorVer=3
6826
-
6827
- [amaya/9.4*]
6828
- Parent=Amaya
6829
- Version=9.4
6830
- MajorVer=9
6831
- MinorVer=4
6832
-
6833
- [amaya/9.5*]
6834
  Parent=Amaya
6835
- Version=9.5
6836
  MajorVer=9
6837
- MinorVer=5
6838
 
6839
  [Emacs-w3m/*]
6840
  Parent=Emacs/W3
@@ -7500,6 +7657,136 @@ Platform=Solaris
7500
  Parent=ELinks 0.12
7501
  Platform=Unix
7502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7503
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.9
7504
 
7505
  [ELinks 0.9]
@@ -8210,6 +8497,12 @@ MajorVer=4
8210
  MinorVer=2
8211
  Platform=MacOSX
8212
 
 
 
 
 
 
 
8213
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iSiloX
8214
 
8215
  [iSiloX]
@@ -8297,32 +8590,20 @@ JavaApplets=true
8297
  JavaScript=true
8298
  Crawler=true
8299
 
8300
- [Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*: Desktop/LX Amethyst) Gecko/*]
8301
  Parent=Lycoris Desktop/LX
8302
  Version=1.1
8303
  MajorVer=1
8304
  MinorVer=1
8305
  Platform=Linux
8306
 
8307
- [Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*; Desktop/LX Amethyst) Gecko/*]
8308
  Parent=Lycoris Desktop/LX
8309
  Version=1.0
8310
  MajorVer=1
8311
  MinorVer=0
8312
  Platform=Linux
8313
 
8314
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mosaic
8315
-
8316
- [Mosaic]
8317
- Parent=DefaultProperties
8318
- Browser="Mosaic"
8319
- Frames=true
8320
- IFrames=true
8321
- Tables=true
8322
- Cookies=true
8323
- JavaApplets=true
8324
- JavaScript=true
8325
-
8326
  [Mozilla/4.0 (VMS_Mosaic)]
8327
  Parent=Mosaic
8328
  Platform=OpenVMS
@@ -8429,18 +8710,6 @@ Version=5.1
8429
  MajorVer=5
8430
  MinorVer=1
8431
 
8432
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
8433
- Parent=OmniWeb
8434
- Version=5.1
8435
- MajorVer=5
8436
- MinorVer=1
8437
-
8438
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8439
- Parent=OmniWeb
8440
- Version=5.5
8441
- MajorVer=5
8442
- MinorVer=5
8443
-
8444
  [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8445
  Parent=OmniWeb
8446
  Version=5.5
@@ -8453,12 +8722,6 @@ Version=5.6
8453
  MajorVer=5
8454
  MinorVer=6
8455
 
8456
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
8457
- Parent=OmniWeb
8458
- Version=5.6
8459
- MajorVer=5
8460
- MinorVer=6
8461
-
8462
  [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v496]
8463
  Parent=OmniWeb
8464
  Version=4.5
@@ -8917,19 +9180,22 @@ JavaScript=true
8917
  CssVersion=2
8918
  supportsCSS=true
8919
 
8920
- [Mozilla/5.0 (compatible; Konqueror/4.0*; Debian) KHTML/4.* (like Gecko)]
 
 
 
8921
  Parent=Konqueror 4.0
8922
  Platform=Debian
8923
 
8924
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; *Linux) KHTML/4.* (like Gecko)]
8925
  Parent=Konqueror 4.0
8926
  Platform=Linux
8927
 
8928
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; FreeBSD) KHTML/4.* (like Gecko)]
8929
  Parent=Konqueror 4.0
8930
  Platform=FreeBSD
8931
 
8932
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; NetBSD) KHTML/4.* (like Gecko)]
8933
  Parent=Konqueror 4.0
8934
  Platform=NetBSD
8935
 
@@ -8949,19 +9215,22 @@ JavaScript=true
8949
  CssVersion=2
8950
  supportsCSS=true
8951
 
8952
- [Mozilla/5.0 (compatible; Konqueror/4.1*; *Linux*) KHTML/4.* (like Gecko)*]
 
 
 
8953
  Parent=Konqueror 4.1
8954
  Platform=Linux
8955
 
8956
- [Mozilla/5.0 (compatible; Konqueror/4.1*; Debian) KHTML/4.* (like Gecko)*]
8957
  Parent=Konqueror 4.1
8958
  Platform=Debian
8959
 
8960
- [Mozilla/5.0 (compatible; Konqueror/4.1*; FreeBSD) KHTML/4.* (like Gecko)*]
8961
  Parent=Konqueror 4.1
8962
  Platform=FreeBSD
8963
 
8964
- [Mozilla/5.0 (compatible; Konqueror/4.1*; NetBSD) KHTML/4.* (like Gecko)*]
8965
  Parent=Konqueror 4.1
8966
  Platform=NetBSD
8967
 
@@ -8981,22 +9250,68 @@ JavaScript=true
8981
  CssVersion=2
8982
  supportsCSS=true
8983
 
8984
- [Mozilla/5.0 (compatible; Konqueror/4.2*; *Linux*) KHTML/4.* (like Gecko)*]
 
 
 
8985
  Parent=Konqueror 4.2
8986
  Platform=Linux
8987
 
8988
- [Mozilla/5.0 (compatible; Konqueror/4.2*; Debian) KHTML/4.* (like Gecko)*]
8989
  Parent=Konqueror 4.2
8990
  Platform=Debian
8991
 
8992
- [Mozilla/5.0 (compatible; Konqueror/4.2*; FreeBSD) KHTML/4.* (like Gecko)*]
8993
  Parent=Konqueror 4.2
8994
  Platform=FreeBSD
8995
 
8996
- [Mozilla/5.0 (compatible; Konqueror/4.2*; NetBSD) KHTML/4.* (like Gecko)*]
8997
  Parent=Konqueror 4.2
8998
  Platform=NetBSD
8999
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9000
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari
9001
 
9002
  [Safari]
@@ -9193,7 +9508,6 @@ Parent=DefaultProperties
9193
  Browser="Safari"
9194
  Version=4.0
9195
  MajorVer=4
9196
- Beta=true
9197
  Frames=true
9198
  IFrames=true
9199
  Tables=true
@@ -9251,14 +9565,13 @@ Platform=Win7
9251
  Parent=Safari 4.0
9252
  Platform=Win7
9253
 
9254
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 10.0
9255
 
9256
- [Opera 10.0]
9257
  Parent=DefaultProperties
9258
  Browser="Opera"
9259
  Version=10.0
9260
  MajorVer=10
9261
- Beta=true
9262
  Frames=true
9263
  IFrames=true
9264
  Tables=true
@@ -9266,111 +9579,111 @@ Cookies=true
9266
  BackgroundSounds=true
9267
  JavaApplets=true
9268
  JavaScript=true
9269
- CssVersion=3
9270
  supportsCSS=true
9271
 
9272
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0; *) Opera 10.00]
9273
- Parent=Opera 10.0
9274
  Platform=Win2000
9275
 
9276
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1; *) Opera 10.00]
9277
- Parent=Opera 10.0
9278
  Platform=WinXP
9279
 
9280
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2; *) Opera 10.00]
9281
- Parent=Opera 10.0
9282
  Platform=Win2003
9283
 
9284
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0; *) Opera 10.00]
9285
- Parent=Opera 10.0
9286
  Platform=WinVista
9287
 
9288
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1; *) Opera 10.00]
9289
- Parent=Opera 10.0
9290
  Platform=Win7
9291
 
9292
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; FreeBSD*) Opera 10.00]
9293
- Parent=Opera 10.0
9294
  Platform=FreeBSD
9295
 
9296
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; Linux*; *) Opera 10.00]
9297
- Parent=Opera 10.0
9298
  Platform=Linux
9299
 
9300
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; SunOS*) Opera 10.00]
9301
- Parent=Opera 10.0
9302
  Platform=SunOS
9303
 
9304
- [Opera/10.00 (Macintosh; *Mac OS X; U; *) Presto/2.2.*]
9305
- Parent=Opera 10.0
9306
  Platform=MacOSX
9307
 
9308
- [Opera/10.00 (Windows NT 5.0; U; *) Presto/2.2.*]
9309
- Parent=Opera 10.0
9310
  Platform=Win2000
9311
 
9312
- [Opera/10.00 (Windows NT 5.1; U; *) Presto/2.2.*]
9313
- Parent=Opera 10.0
9314
  Platform=WinXP
9315
 
9316
- [Opera/10.00 (Windows NT 5.2; U; *) Presto/2.2.*]
9317
- Parent=Opera 10.0
9318
  Platform=Win2003
9319
 
9320
- [Opera/10.00 (Windows NT 6.0; U; *) Presto/2.2.*]
9321
- Parent=Opera 10.0
9322
  Platform=WinVista
9323
 
9324
- [Opera/10.00 (Windows NT 6.1; U; *) Presto/2.2.*]
9325
- Parent=Opera 10.0
9326
  Platform=Win7
9327
 
9328
- [Opera/10.00 (X11; FreeBSD; U; *) Presto/2.2.*]
9329
- Parent=Opera 10.0
9330
  Platform=FreeBSD
9331
 
9332
- [Opera/10.00 (X11; Linux*; U; *) Presto/2.2.*]
9333
- Parent=Opera 10.0
9334
  Platform=Linux
9335
 
9336
- [Opera/10.00 (X11; SunOS; U; *) Presto/2.2.*]
9337
- Parent=Opera 10.0
9338
  Platform=SunOS
9339
 
9340
- [Opera/9.80 (Macintosh; *Mac OS X; U; *) Presto/2.2.* Version/10.00]
9341
- Parent=Opera 10.0
9342
  Platform=MacOSX
9343
 
9344
- [Opera/9.80 (Windows NT 5.0; U; *) Presto/2.2.* Version/10.00]
9345
- Parent=Opera 10.0
9346
  Platform=Win2000
9347
 
9348
- [Opera/9.80 (Windows NT 5.1; U; *) Presto/2.2.* Version/10.00]
9349
- Parent=Opera 10.0
9350
  Platform=WinXP
9351
 
9352
- [Opera/9.80 (Windows NT 5.2; U; *) Presto/2.2.* Version/10.00]
9353
- Parent=Opera 10.0
9354
  Platform=Win2003
9355
 
9356
- [Opera/9.80 (Windows NT 6.0; U; *) Presto/2.2.* Version/10.00]
9357
- Parent=Opera 10.0
9358
  Platform=WinVista
9359
 
9360
- [Opera/9.80 (Windows NT 6.1; U; *) Presto/2.2.* Version/10.00]
9361
- Parent=Opera 10.0
9362
  Platform=Win7
9363
 
9364
- [Opera/9.80 (X11; FreeBSD; U; *) Presto/2.2.* Version/10.00]
9365
- Parent=Opera 10.0
9366
  Platform=FreeBSD
9367
 
9368
- [Opera/9.80 (X11; Linux i686; U; *) Presto/2.2.* Version/10.00]
9369
- Parent=Opera 10.0
9370
  Platform=Linux
9371
 
9372
- [Opera/9.80 (X11; SunOS; U; *) Presto/2.2.* Version/10.00]
9373
- Parent=Opera 10.0
9374
  Platform=SunOS
9375
 
9376
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.0
@@ -14138,7 +14451,7 @@ Platform=Win7
14138
  Parent=SeaMonkey 1.1
14139
  Platform=FreeBSD
14140
 
14141
- [Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/20060221 SeaMonkey/1.1*]
14142
  Parent=SeaMonkey 1.1
14143
  Platform=Linux
14144
 
@@ -15044,11 +15357,11 @@ Platform=SunOS
15044
 
15045
  [Firefox 3.6]
15046
  Parent=DefaultProperties
15047
- Browser="Firefox 3.6"
15048
  Version=3.6
15049
  MajorVer=3
15050
  MinorVer=6
15051
- Alpha=true
15052
  Frames=true
15053
  IFrames=true
15054
  Tables=true
@@ -15058,82 +15371,176 @@ JavaScript=true
15058
  CssVersion=3
15059
  supportsCSS=true
15060
 
15061
- [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15062
  Parent=Firefox 3.6
15063
  Platform=MacOSX
15064
 
15065
- [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15066
  Parent=Firefox 3.6
15067
  Platform=Win2000
15068
 
15069
- [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15070
  Parent=Firefox 3.6
15071
  Platform=WinXP
15072
  Win32=true
15073
 
15074
- [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15075
  Parent=Firefox 3.6
15076
  Platform=Win2003
15077
  Win32=true
15078
 
15079
- [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15080
  Parent=Firefox 3.6
15081
  Platform=WinVista
15082
  Win32=true
15083
 
15084
- [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15085
  Parent=Firefox 3.6
15086
  Platform=Win7
15087
 
15088
- [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15089
  Parent=Firefox 3.6
15090
  Platform=WinNT
15091
  Win32=true
15092
 
15093
- [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15094
  Parent=Firefox 3.6
15095
  Platform=WinXP
15096
  Win32=false
15097
  Win64=true
15098
 
15099
- [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15100
  Parent=Firefox 3.6
15101
  Platform=Win2003
15102
  Win32=false
15103
  Win64=true
15104
 
15105
- [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15106
  Parent=Firefox 3.6
15107
  Platform=WinVista
15108
 
15109
- [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15110
  Parent=Firefox 3.6
15111
  Platform=Win7
15112
 
15113
- [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15114
  Parent=Firefox 3.6
15115
  Platform=Linux
15116
 
15117
- [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15118
  Parent=Firefox 3.6
15119
  Platform=FreeBSD
15120
 
15121
- [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15122
  Parent=Firefox 3.6
15123
  Platform=HP-UX
15124
 
15125
- [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15126
  Parent=Firefox 3.6
15127
  Platform=IRIX64
15128
 
15129
- [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15130
  Parent=Firefox 3.6
15131
  Platform=OpenBSD
15132
 
15133
- [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.*) Gecko/* Minefield/3.6*]
15134
  Parent=Firefox 3.6
15135
  Platform=SunOS
15136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15137
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thunderbird 1.0
15138
 
15139
  [Thunderbird 1.0]
@@ -15172,7 +15579,7 @@ Platform=WinVista
15172
  Parent=Thunderbird 1.0
15173
  Platform=Win7
15174
 
15175
- [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15176
  Parent=Thunderbird 1.0
15177
  Platform=Linux
15178
 
@@ -15214,7 +15621,7 @@ Platform=WinVista
15214
  Parent=Thunderbird 2.0
15215
  Platform=Win7
15216
 
15217
- [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15218
  Parent=Thunderbird 2.0
15219
  Platform=Linux
15220
 
@@ -15256,7 +15663,7 @@ Platform=WinVista
15256
  Parent=Thunderbird 3.0
15257
  Platform=Win7
15258
 
15259
- [Mozilla/5.0 (X11; U; Linux i686; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15260
  Parent=Thunderbird 3.0
15261
  Platform=Linux
15262
 
@@ -16844,6 +17251,14 @@ ActiveXControls=true
16844
  CssVersion=3
16845
  supportsCSS=true
16846
 
 
 
 
 
 
 
 
 
16847
  [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0*)*]
16848
  Parent=IE 8.0
16849
  Platform=WinVista
@@ -16868,10 +17283,6 @@ Platform=Win2003
16868
  Parent=IE 8.0
16869
  Platform=WinVista
16870
 
16871
- [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0*)*]
16872
- Parent=IE 8.0
16873
- Platform=WinVista
16874
-
16875
  [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0*)*]
16876
  Parent=IE 8.0
16877
  Platform=WinVista
1
  ;;; Provided courtesy of http://browsers.garykeith.com
2
+ ;;; Created on Friday, December 11, 2009 at 3:27 PM GMT
3
 
4
  [GJK_Browscap_Version]
5
+ Version=4523
6
+ Released=Fri, 11 Dec 2009 15:27:01 -0000
7
 
8
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties
9
 
63
  Tables=true
64
  Crawler=true
65
 
66
+ [AC-BaiduBot/1.*]
67
+ Parent=Baidu
68
+ Browser="AC-BaiduBot"
69
+
70
  [BaiduImageSpider*]
71
  Parent=Baidu
72
  Browser="BaiduImageSpider"
130
  Browser="Googlebot-Image"
131
  CDF=true
132
 
133
+ [Googlebot-News/*]
134
+ Parent=Google
135
+ Browser="Googlebot-News"
136
+
137
  [googlebot-urlconsole]
138
  Parent=Google
139
  Browser="googlebot-urlconsole"
154
  Parent=Google
155
  Browser="Googlebot/Test"
156
 
157
+ [GoogleFriendConnect/1.*]
158
+ Parent=Google
159
+ Browser="Google Friend Connect"
160
+
161
  [gsa-crawler*]
162
  Parent=Google
163
  Browser="Google Search Appliance"
167
  Parent=Google
168
  Browser="Mediapartners-Google"
169
 
170
+ [Mozilla/?.0 (compatible; Google Desktop*)]
171
  Parent=Google
172
  Browser="Google Desktop"
173
 
 
 
 
 
 
174
  [Mozilla/5.0 (compatible; Google Keyword Tool;*)]
175
  Parent=Google
176
  Browser="Google Keyword Tool"
222
  Parent=Inktomi
223
  Browser="Yahoo! Directory Engine"
224
 
225
+ [Mozilla/5.0 (compatible; Yahoo! SearchMonkey 1.0; *)]
226
+ Parent=Inktomi
227
+ Browser="Yahoo! Search Monkey"
228
+
229
  [Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)]
230
  Parent=Inktomi
231
  Browser="Yahoo! Slurp China"
277
  Parent=Inktomi
278
  Browser="slurp"
279
 
280
+ [Y!J SearchMonkey/1.0*]
281
+ Parent=Inktomi
282
+ Browser="YahooFeedSeeker"
283
+ isSyndicationReader=true
284
+
285
+ [Y!J-BRE*]
286
+ Parent=Inktomi
287
+ Browser="YahooFeedSeeker"
288
+ isSyndicationReader=true
289
+
290
+ [Y!J-BRG/GSC*]
291
+ Parent=Inktomi
292
+ Browser="YahooFeedSeeker"
293
+ isSyndicationReader=true
294
+
295
+ [Y!J-BRI*]
296
+ Parent=Inktomi
297
+ Browser="YahooFeedSeeker"
298
+ isSyndicationReader=true
299
+
300
+ [Y!J-BRO/YFSJ*]
301
+ Parent=Inktomi
302
+ Browser="YahooFeedSeeker"
303
+ isSyndicationReader=true
304
+
305
+ [Y!J-BRP/YFSBJ*]
306
+ Parent=Inktomi
307
+ Browser="YahooFeedSeeker"
308
+ isSyndicationReader=true
309
+
310
+ [Y!J-BRQ/DLCK*]
311
+ Parent=Inktomi
312
+ Browser="YahooFeedSeeker"
313
+ isSyndicationReader=true
314
+
315
  [Y!J-BSC/1.0*]
316
  Parent=Inktomi
317
+ Browser="YahooFeedSeeker"
318
  Version=1.0
319
  MajorVer=1
320
  MinorVer=0
321
+ isSyndicationReader=true
322
+
323
+ [Y!J-DSC*]
324
+ Parent=Inktomi
325
+ Browser="YahooFeedSeeker"
326
+ isSyndicationReader=true
327
+
328
+ [Y!J-NSC/1.0*]
329
+ Parent=Inktomi
330
+ Browser="YahooFeedSeeker"
331
+ isSyndicationReader=true
332
+
333
+ [Y!J-PSC*]
334
+ Parent=Inktomi
335
+ Browser="YahooFeedSeeker"
336
+ isSyndicationReader=true
337
 
338
  [Y!J-SRD/1.0]
339
  Parent=Inktomi
340
+ Browser="YahooFeedSeeker"
341
  Version=1.0
342
  MajorVer=1
343
  MinorVer=0
344
 
345
+ [Y!J-VSC/ViSe*]
346
+ Parent=Inktomi
347
+ Browser="YahooFeedSeeker"
348
+ isSyndicationReader=true
349
+
350
  [Yahoo Mindset]
351
  Parent=Inktomi
352
  Browser="Yahoo Mindset"
755
  Parent=Exalead
756
  Browser="Exabot-Images"
757
 
758
+ [Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter); *)]
759
  Parent=Exalead
760
+ Browser="Exabot/BiggerBetter"
761
 
762
  [Mozilla/5.0 (compatible; Exabot/3.0;*)]
763
  Parent=Exalead
1119
  MajorVer=1
1120
  MinorVer=0
1121
 
1122
+ [cz32ts]
1123
+ Parent=General Crawlers
1124
+ Browser="cz32ts"
1125
+ isBanned=true
1126
+
1127
  [ddetailsbot (http://www.displaydetails.com)]
1128
  Parent=General Crawlers
1129
  Browser="ddetailsbot"
1242
  Browser="LucidMedia-ClickSense"
1243
  isBanned=true
1244
 
1245
+ [Made by ZmEu @ WhiteHat v0.* (www.WhiteHat.ro)]
1246
+ Parent=General Crawlers
1247
+ Browser="ZmEu"
1248
+ isBanned=true
1249
+
1250
  [Mahalobot/1.0 (?http://www.mahalo.com/)]
1251
  Parent=General Crawlers
1252
  Browser="Mahalobot"
1390
  Parent=General Crawlers
1391
  Browser="Kyluka"
1392
 
1393
+ [Mozilla/5.0 (compatible; MJ12bot/v1.*)]
1394
  Parent=General Crawlers
1395
  Browser="MJ12bot"
 
 
 
1396
  isBanned=true
1397
 
1398
  [Mozilla/5.0 (compatible; MSIE 7.0 ?http://www.europarchive.org)]
1399
  Parent=General Crawlers
1400
  Browser="Europe Web Archive"
1401
 
1402
+ [Mozilla/5.0 (compatible; Plukkie/1.?; http://www.botje.com/plukkie.htm)]
1403
+ Parent=General Crawlers
1404
+ Browser="Plukkie"
1405
+
1406
  [Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0;*)]
1407
  Parent=General Crawlers
1408
  Browser="Seznam screenshot-generator"
1420
  Parent=General Crawlers
1421
  Browser="Vermut"
1422
 
1423
+ [Mozilla/5.0 (compatible; Viralheat Bot/*) ]
1424
+ Parent=General Crawlers
1425
+ Browser="Viralheat"
1426
+ isBanned=true
1427
+
1428
  [Mozilla/5.0 (compatible; Webbot/*)]
1429
  Parent=General Crawlers
1430
  Browser="Webbot.ru"
1443
  Browser="NetCarta_WebMapper"
1444
  isBanned=true
1445
 
1446
+ [Netchart Adv Crawler*]
1447
+ Parent=General Crawlers
1448
+ Browser="Netchart Adv Crawler"
1449
+ isBanned=true
1450
+
1451
  [NetID.com Bot*]
1452
  Parent=General Crawlers
1453
  Browser="NetID.com Bot"
1686
  Browser="Talkro Web-Shot"
1687
  isBanned=true
1688
 
1689
+ [Tasap-image-robot/0.* (http://www.tasap.com)]
1690
+ Parent=General Crawlers
1691
+ Browser="Tasap-image-robot"
1692
+ isBanned=true
1693
+
1694
  [Tecomi Bot (http://www.tecomi.com/bot.htm)]
1695
  Parent=General Crawlers
1696
  Browser="Tecomi"
1697
 
1698
+ [TencentTraveler*]
1699
+ Parent=General Crawlers
1700
+ Browser="TencentTraveler"
1701
+
1702
  [TheInformant*]
1703
  Parent=General Crawlers
1704
  Browser="TheInformant"
1743
  Parent=General Crawlers
1744
  Browser="Visicom Toolbar"
1745
 
1746
+ [Visited by http://tools.geek-tools.org]
1747
+ Parent=General Crawlers
1748
+ Browser="geek-tools.org"
1749
+
1750
  [W3C-WebCon/*]
1751
  Parent=General Crawlers
1752
  Browser="W3C-WebCon"
1790
  Parent=General Crawlers
1791
  Browser="Willow Internet Crawler"
1792
 
1793
+ [WIRE/* (Linux*; i686; Bot,Robot,Spider,Crawler)]
1794
  Parent=General Crawlers
1795
  Browser="WIRE"
1796
  isBanned=true
1926
  Parent=Search Engines
1927
  Browser="DiamondBot"
1928
 
1929
+ [DuckDuckBot/*; (?http://duckduckgo.com/duckduckbot.html)]
1930
+ Parent=Search Engines
1931
+ Browser="DuckDuckBot"
1932
+
1933
  [Dumbot*]
1934
  Parent=Search Engines
1935
  Browser="Dumbot"
2080
  Parent=Search Engines
2081
  Browser="Mnogosearch"
2082
 
2083
+ [Mozilla/0.9* no dos :) (Linux*)]
2084
  Parent=Search Engines
2085
  Browser="goliat"
2086
  isBanned=true
2087
 
2088
+ [Mozilla/4.0 (compatible; *Vagabondo/*; webcrawler at wise-guys dot nl; *)]
2089
+ Parent=Search Engines
2090
+ Browser="Vagabondo"
2091
+
2092
  [Mozilla/4.0 (compatible; Arachmo)]
2093
  Parent=Search Engines
2094
  Browser="Arachmo"
2103
  Browser="Girafabot"
2104
  Win32=true
2105
 
 
 
 
 
2106
  [Mozilla/4.0(?compatible; MSIE 6.0; Qihoo *)]
2107
  Parent=Search Engines
2108
  Browser="Qihoo"
2120
  Parent=Search Engines
2121
  Browser="ActiveTouristBot"
2122
 
2123
+ [Mozilla/5.0 (compatible; ayna-crawler http://www.ayna.com)]
2124
+ Parent=Search Engines
2125
+ Browser="ayna-crawler"
2126
+
2127
  [Mozilla/5.0 (compatible; Butterfly/1.0; *)*]
2128
  Parent=Search Engines
2129
  Browser="Butterfly"
2166
  Browser="Octopodus"
2167
  isBanned=true
2168
 
2169
+ [Mozilla/5.0 (compatible; ParchBot/1.0;*)]
2170
+ Parent=Search Engines
2171
+ Browser="ParchBot"
2172
+
2173
  [Mozilla/5.0 (compatible; Pogodak.*)]
2174
  Parent=Search Engines
2175
  Browser="Pogodak"
2181
  [Mozilla/5.0 (compatible; ScoutJet; *http://www.scoutjet.com/)]
2182
  Parent=Search Engines
2183
  Browser="ScoutJet"
2184
+ isBanned=true
2185
 
2186
  [Mozilla/5.0 (compatible; Scrubby/*; http://www.scrubtheweb.com/abs/meta-check.html)]
2187
  Parent=Search Engines
2916
  Parent=E-Mail Harvesters
2917
  Browser="8484 Boston Project"
2918
 
2919
+ [Atomic_Email]
2920
+ Parent=E-Mail Harvesters
2921
+ Browser="Atomic_Email"
2922
+
2923
+ [Atomic_Email_Hunter/*]
2924
+ Parent=E-Mail Harvesters
2925
+ Browser="Atomic Email Hunter"
2926
+
2927
  [CherryPicker*/*]
2928
  Parent=E-Mail Harvesters
2929
  Browser="CherryPickerElite"
3016
  Parent=Feeds Blogs
3017
  Browser="BlogLines Web"
3018
 
3019
+ [BlogPulse (ISSpider-3.*)]
3020
+ Parent=Feeds Blogs
3021
+ Browser="BlogPulse"
3022
+
3023
  [BlogPulseLive (support@blogpulse.com)]
3024
  Parent=Feeds Blogs
3025
  Browser="BlogPulseLive"
3217
  Parent=Feeds Syndicators
3218
  Browser="Rojo"
3219
 
3220
+ [Mozilla/5.0 NewsFox/*]
3221
+ Parent=Feeds Syndicators
3222
+ Browser="NewsFox"
3223
+
3224
  [Netvibes (*)]
3225
  Parent=Feeds Syndicators
3226
  Browser="Netvibes"
3857
  Browser="12345"
3858
  isBanned=true
3859
 
3860
+ [1st ZipCommander (Net) - http://www.zipcommander.com/]
3861
+ Parent=Miscellaneous Browsers
3862
+ Browser="1st ZipCommander"
3863
+
3864
  [Ace Explorer]
3865
  Parent=Miscellaneous Browsers
3866
  Browser="Ace Explorer"
4306
  Parent=Rippers
4307
  Browser="ActiveRefresh"
4308
 
4309
+ [Ad Muncher*]
4310
+ Parent=Rippers
4311
+ Browser="Ad Muncher"
4312
+
4313
  [Artera (Version *)]
4314
  Parent=Rippers
4315
  Browser="Artera"
4434
  Parent=Rippers
4435
  Browser="http generic"
4436
 
4437
+ [http://arachnode.net*]
4438
+ Parent=Rippers
4439
+ Browser="arachnode"
4440
+
4441
  [httpclient*]
4442
  Parent=Rippers
4443
 
4896
 
4897
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Social Bookmarkers
4898
 
4899
+ [Social Networking]
4900
  Parent=DefaultProperties
4901
  Browser="Social Bookmarkers"
4902
  Frames=true
4905
  JavaScript=true
4906
 
4907
  [BookmarkBase(2/;http://bookmarkbase.com)]
4908
+ Parent=Social Networking
4909
  Browser="BookmarkBase"
4910
 
4911
  [Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)]
4912
+ Parent=Social Networking
4913
  Browser="Cocoalicious"
4914
 
4915
+ [Mozilla/5.0 (*) Gecko/* Firefox/2.0 OneRiot/1.0 (http://www.oneriot.com) ]
4916
+ Parent=Social Networking
4917
+ Browser="OneRiot"
4918
+ isBanned=true
4919
+
4920
  [Mozilla/5.0 (compatible; FriendFeedBot/0.*; Http://friendfeed.com/about/bot)]
4921
+ Parent=Social Networking
4922
  Browser="FriendFeedBot"
4923
 
4924
+ [Mozilla/5.0 (compatible; Twitturls; http://twitturls.com)]
4925
+ Parent=Social Networking
4926
+ Browser="Twitturls"
4927
+ isBanned=true
4928
+
4929
+ [SocialSpider-Finder/0.*]
4930
+ Parent=Social Networking
4931
+ Browser="SocialSpider-Finder"
4932
+
4933
  [Twitturly*]
4934
+ Parent=Social Networking
4935
  Browser="Twitturly"
4936
+ isBanned=true
4937
 
4938
  [WinkBot/*]
4939
+ Parent=Social Networking
4940
  Browser="WinkBot"
4941
 
4942
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Translators
4985
  MinorVer=0
4986
  Platform=Win2000
4987
 
4988
+ [Browscap Mirror System/1.* (browscap.giantrealm.com)]
4989
+ Parent=Version Checkers
4990
+ Browser="Browscap Mirror"
4991
+
4992
+ [Browscap Mirror v1.30]
4993
+ Parent=Version Checkers
4994
+ Browser="Browscap Mirror"
4995
+
4996
  [Browscap updater]
4997
  Parent=Version Checkers
4998
  Browser="Browscap updater"
5025
  Browser="Mono Browser Capabilities Updater"
5026
  isBanned=true
5027
 
5028
+ [PHP Browser Capabilities Project/0.7 socket]
5029
+ Parent=Version Checkers
5030
+ Browser="PHP Browser Capabilities Project"
5031
+
5032
  [Rewmi/*]
5033
  Parent=Version Checkers
5034
  isBanned=true
5053
  Parent=Version Checkers
5054
  Browser="Subst�ncia"
5055
 
5056
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; W3C
5057
+
5058
+ [W3C]
5059
+ Parent=DefaultProperties
5060
+ Browser="W3C"
5061
+ Crawler=true
5062
+
5063
+ [Jigsaw/* W3C_CSS_Validator*/*]
5064
+ Parent=W3C
5065
+ Browser="W3C CSS Validator"
5066
+
5067
+ [W3C-checklink/*]
5068
+ Parent=W3C
5069
+ Browser="W3C Link Checker"
5070
+
5071
+ [W3C-mobileOK/DDC-*]
5072
+ Parent=W3C
5073
+ Browser="W3C Mobile Validator"
5074
+ isMobileDevice=true
5075
+
5076
+ [W3C-WebCon/*]
5077
+ Parent=W3C
5078
+ Browser="W3C WebCon"
5079
+
5080
+ [W3C_Validator/*]
5081
+ Parent=W3C
5082
+ Browser="W3C Validator"
5083
+
5084
+ [W3CLineMode/*]
5085
+ Parent=W3C
5086
+ Browser="W3C LineMode"
5087
+
5088
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Become
5089
 
5090
  [Become]
5212
  Browser="Netcraft Webserver Survey"
5213
  isBanned=true
5214
 
5215
+ [Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; *info@netcraft.com)]
5216
  Parent=Netcraft
5217
  Browser="NetcraftSurveyAgent"
5218
 
5442
  Parent=Chrome 2.0
5443
  Platform=Win7
5444
 
5445
+ [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5446
  Parent=Chrome 2.0
5447
  Platform=Linux
5448
 
5483
  Parent=Chrome 3.0
5484
  Platform=Win7
5485
 
5486
+ [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5487
  Parent=Chrome 3.0
5488
  Platform=Linux
5489
 
5490
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 4.0
5491
+
5492
+ [Chrome 4.0]
5493
+ Parent=DefaultProperties
5494
+ Browser="Chrome"
5495
+ Version=4.0
5496
+ MajorVer=4
5497
+ Beta=true
5498
+ Win32=true
5499
+ Frames=true
5500
+ IFrames=true
5501
+ Tables=true
5502
+ Cookies=true
5503
+ JavaApplets=true
5504
+ JavaScript=true
5505
+ CssVersion=3
5506
+ supportsCSS=true
5507
+
5508
+ [Mozilla/5.0 (Macintosh; U; Intel Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5509
+ Parent=Chrome 4.0
5510
+ Platform=MacOSX
5511
+
5512
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5513
+ Parent=Chrome 4.0
5514
+ Platform=WinXP
5515
+
5516
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5517
+ Parent=Chrome 4.0
5518
+ Platform=Win2003
5519
+
5520
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5521
+ Parent=Chrome 4.0
5522
+ Platform=WinVista
5523
+
5524
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5525
+ Parent=Chrome 4.0
5526
+ Platform=Win7
5527
+
5528
+ [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5529
+ Parent=Chrome 4.0
5530
+ Platform=Win7
5531
+
5532
+ [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5533
+ Parent=Chrome 4.0
5534
+ Platform=Linux
5535
+
5536
+ [Mozilla/5.0 (X11; U; Linux x86_64; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5537
+ Parent=Chrome 4.0
5538
+ Win32=false
5539
+ Win64=true
5540
+
5541
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Code
5542
 
5543
  [Google Code]
5712
  Parent=Iron 2.0
5713
  Platform=Win7
5714
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5715
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Media Players
5716
 
5717
  [Media Players]
5767
  Parent=Media Players
5768
  Browser="WinAmp"
5769
 
5770
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Microsoft Zune
5771
+
5772
+ [Microsoft Zune]
5773
+ Parent=DefaultProperties
5774
+ Browser=""
5775
+ Cookies=true
5776
+
5777
+ [Mozilla/4.0 (compatible; MSIE ?.0; Microsoft ZuneHD 4.*)]
5778
+ Parent=Microsoft Zune
5779
+ Version=4.0
5780
+ MajorVer=4
5781
+ MinorVer=0
5782
+
5783
+ [Mozilla/4.0 (compatible; ZuneHD 4.*)]
5784
+ Parent=Microsoft Zune
5785
+ Browser="ZuneHD"
5786
+ Version=4
5787
+ MajorVer=4
5788
+
5789
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nintendo
5790
 
5791
  [Nintendo Wii]
5887
  MinorVer=0
5888
  Win32=true
5889
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5890
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.0
5891
 
5892
  [QuickTime 7.0]
6141
  Browser="Android"
6142
  Platform=Android
6143
  Frames=true
6144
+ IFrames=true
6145
  Tables=true
6146
  Cookies=true
6147
+ JavaApplets=true
6148
  JavaScript=true
6149
  isMobileDevice=true
6150
 
6167
  MajorVer=3
6168
  MinorVer=0
6169
 
6170
+ [Mozilla/5.0 (Linux; U; Android 2.0*; *; Droid Build/*) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17]
6171
+ Parent=Android
6172
+ Browser="Mobile Safari"
6173
+ Version=2.0
6174
+ MajorVer=2
6175
+ MinorVer=0
6176
+ CssVersion=3
6177
+ supportsCSS=true
6178
+
6179
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BlackBerry
6180
 
6181
  [BlackBerry]
6312
  CssVersion=3
6313
  supportsCSS=true
6314
 
6315
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6316
  Parent=iPhone
6317
+ Browser="iPhone Simulator"
6318
+ Version=2.0
6319
+ MajorVer=2
6320
+ MinorVer=0
6321
 
6322
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 3* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6323
  Parent=iPhone
6324
+ Version=3.0
6325
+ MajorVer=3
6326
+ MinorVer=0
6327
 
6328
+ [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 3_1* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6329
  Parent=iPhone
 
6330
  Version=3.1
6331
  MajorVer=3
6332
  MinorVer=1
6333
 
6334
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6335
  Parent=iPhone
6336
+ Version=2.0
6337
+ MajorVer=2
6338
+ MinorVer=0
 
6339
 
6340
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *)*]
6341
  Parent=iPhone
6342
+ Version=2.0
6343
+ MajorVer=2
6344
+ MinorVer=0
 
6345
 
6346
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6347
  Parent=iPhone
6348
+ Version=3.0
6349
+ MajorVer=3
6350
+ MinorVer=0
6351
 
6352
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3* like Mac OS X; *)*]
6353
  Parent=iPhone
6354
+ Version=3.0
6355
  MajorVer=3
6356
+ MinorVer=0
6357
 
6358
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6359
  Parent=iPhone
6360
  Version=3.1
6361
  MajorVer=3
6362
  MinorVer=1
6363
 
6364
+ [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1* like Mac OS X; *)*]
6365
  Parent=iPhone
6366
  Version=3.1
6367
  MajorVer=3
6368
  MinorVer=1
6369
 
6370
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_* like Mac OS X; *)*]
 
 
 
 
 
 
 
 
 
6371
  Parent=iPhone
6372
+ Browser="iPod Touch"
6373
+ Version=2.0
6374
+ MajorVer=2
6375
  MinorVer=0
6376
 
6377
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 3* like Mac OS X; *)*]
6378
  Parent=iPhone
6379
+ Browser="iPod Touch"
6380
  Version=3.0
6381
  MajorVer=3
6382
  MinorVer=0
6383
 
6384
+ [Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1* like Mac OS X; *)*]
 
 
 
 
 
 
 
 
 
 
 
6385
  Parent=iPhone
6386
+ Version=3.1
6387
+ MajorVer=3
6388
+ MinorVer=1
6389
 
6390
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KDDI
6391
 
6635
  MajorVer=4
6636
  MinorVer=2
6637
 
6638
+ [Opera/* (J2ME/MIDP; Opera Mini/5.0*)*]
6639
+ Parent=Opera Mini
6640
+ Version=5.0
6641
+ MajorVer=5
6642
+ MinorVer=0
6643
+
6644
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mobile
6645
 
6646
  [Opera Mobile]
6651
  Cookies=true
6652
  isMobileDevice=true
6653
 
6654
+ [Opera/9.* (*SymbOS; Opera Mobi/*; U; *) Presto/2.* Version/10.*]
6655
+ Parent=Opera Mobile
6656
+ Version=10.0
6657
+ MajorVer=10
6658
+ MinorVer=0
6659
+ Platform=SymbianOS
6660
+
6661
+ [Opera/9.* (Microsoft Windows; PPC; Opera Mobi/*; U; *)]
6662
+ Parent=Opera Mobile
6663
+ Version=9.0
6664
+ MajorVer=9
6665
+ MinorVer=0
6666
+ Platform=Win
6667
+
6668
+ [Opera/9.* (Windows Mobile; *; Opera Mobi/*; U; *) Presto/2.*]
6669
+ Parent=Opera Mobile
6670
+ Version=9.0
6671
+ MajorVer=9
6672
+ MinorVer=0
6673
+ Platform=Win
6674
+
6675
  [Opera/9.5 (Microsoft Windows; PPC; *Opera Mobile/*)]
6676
  Parent=Opera Mobile
6677
  Version=9.5
6705
  ActiveXControls=true
6706
  isMobileDevice=true
6707
 
6708
+ [Mozilla/5.0 (webOS/1.0*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6709
  Parent=Palm
6710
  Browser="Palm Pre"
6711
  Version=1.0
6714
  CssVersion=2
6715
  supportsCSS=true
6716
 
6717
+ [Mozilla/5.0 (webOS/1.1*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6718
  Parent=Palm
6719
  Browser="Palm Pre"
6720
  Version=1.1
6723
  CssVersion=2
6724
  supportsCSS=true
6725
 
6726
+ [Mozilla/5.0 (webOS/1.2*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6727
+ Parent=Palm
6728
+ Browser="Palm Pre"
6729
+ Version=1.2
6730
+ MajorVer=1
6731
+ MinorVer=2
6732
+
6733
+ [Mozilla/5.0 (webOS/1.3*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6734
+ Parent=Palm
6735
+ Version=1.3
6736
+ MajorVer=1
6737
+ MinorVer=3
6738
+
6739
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Playstation
6740
 
6741
  [Playstation]
6953
  CssVersion=1
6954
  supportsCSS=true
6955
 
6956
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Amaya
6957
+
6958
+ [Amaya]
6959
+ Parent=DefaultProperties
6960
+ Browser="Amaya"
6961
+ Tables=true
6962
+ Cookies=true
6963
+
6964
+ [amaya/10.*]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6965
  Parent=Amaya
6966
+ Version=10.0
6967
+ MajorVer=10
6968
+ MinorVer=0
 
 
6969
 
6970
+ [amaya/11.*]
6971
  Parent=Amaya
6972
+ Version=11.0
6973
+ MajorVer=11
6974
  MinorVer=0
 
 
6975
 
6976
+ [amaya/7.*]
6977
  Parent=Amaya
6978
+ Version=7.0
6979
+ MajorVer=7
6980
+ MinorVer=0
 
 
6981
 
6982
+ [amaya/8.*]
6983
  Parent=Amaya
6984
+ Version=8.0
6985
+ MajorVer=8
6986
+ MinorVer=0
6987
  CssVersion=2
6988
  supportsCSS=true
6989
 
6990
+ [amaya/9.*]
 
 
 
 
 
 
 
 
 
 
 
 
6991
  Parent=Amaya
6992
+ Version=9.0
6993
  MajorVer=9
6994
+ MinorVer=0
6995
 
6996
  [Emacs-w3m/*]
6997
  Parent=Emacs/W3
7657
  Parent=ELinks 0.12
7658
  Platform=Unix
7659
 
7660
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.13
7661
+
7662
+ [ELinks 0.13]
7663
+ Parent=DefaultProperties
7664
+ Browser="ELinks"
7665
+ Version=0.13
7666
+ MinorVer=13
7667
+ Frames=true
7668
+ Tables=true
7669
+
7670
+ [ELinks (0.13*; *AIX*)]
7671
+ Parent=ELinks 0.13
7672
+ Platform=AIX
7673
+
7674
+ [ELinks (0.13*; *BeOS*)]
7675
+ Parent=ELinks 0.13
7676
+ Platform=BeOS
7677
+
7678
+ [ELinks (0.13*; *CygWin*)]
7679
+ Parent=ELinks 0.13
7680
+ Platform=CygWin
7681
+
7682
+ [ELinks (0.13*; *Darwin*)]
7683
+ Parent=ELinks 0.13
7684
+ Platform=Darwin
7685
+
7686
+ [ELinks (0.13*; *Digital Unix*)]
7687
+ Parent=ELinks 0.13
7688
+ Platform=Digital Unix
7689
+
7690
+ [ELinks (0.13*; *FreeBSD*)]
7691
+ Parent=ELinks 0.13
7692
+ Platform=FreeBSD
7693
+
7694
+ [ELinks (0.13*; *HPUX*)]
7695
+ Parent=ELinks 0.13
7696
+ Platform=HP-UX
7697
+
7698
+ [ELinks (0.13*; *IRIX*)]
7699
+ Parent=ELinks 0.13
7700
+ Platform=IRIX
7701
+
7702
+ [ELinks (0.13*; *Linux*)]
7703
+ Parent=ELinks 0.13
7704
+ Platform=Linux
7705
+
7706
+ [ELinks (0.13*; *NetBSD*)]
7707
+ Parent=ELinks 0.13
7708
+ Platform=NetBSD
7709
+
7710
+ [ELinks (0.13*; *OpenBSD*)]
7711
+ Parent=ELinks 0.13
7712
+ Platform=OpenBSD
7713
+
7714
+ [ELinks (0.13*; *OS/2*)]
7715
+ Parent=ELinks 0.13
7716
+ Platform=OS/2
7717
+
7718
+ [ELinks (0.13*; *RISC*)]
7719
+ Parent=ELinks 0.13
7720
+ Platform=RISC OS
7721
+
7722
+ [ELinks (0.13*; *Solaris*)]
7723
+ Parent=ELinks 0.13
7724
+ Platform=Solaris
7725
+
7726
+ [ELinks (0.13*; *Unix*)]
7727
+ Parent=ELinks 0.13
7728
+ Platform=Unix
7729
+
7730
+ [ELinks/0.13* (*AIX*)]
7731
+ Parent=ELinks 0.13
7732
+ Platform=AIX
7733
+
7734
+ [ELinks/0.13* (*BeOS*)]
7735
+ Parent=ELinks 0.13
7736
+ Platform=BeOS
7737
+
7738
+ [ELinks/0.13* (*CygWin*)]
7739
+ Parent=ELinks 0.13
7740
+ Platform=CygWin
7741
+
7742
+ [ELinks/0.13* (*Darwin*)]
7743
+ Parent=ELinks 0.13
7744
+ Platform=Darwin
7745
+
7746
+ [ELinks/0.13* (*Digital Unix*)]
7747
+ Parent=ELinks 0.13
7748
+ Platform=Digital Unix
7749
+
7750
+ [ELinks/0.13* (*FreeBSD*)]
7751
+ Parent=ELinks 0.13
7752
+ Platform=FreeBSD
7753
+
7754
+ [ELinks/0.13* (*HPUX*)]
7755
+ Parent=ELinks 0.13
7756
+ Platform=HP-UX
7757
+
7758
+ [ELinks/0.13* (*IRIX*)]
7759
+ Parent=ELinks 0.13
7760
+ Platform=IRIX
7761
+
7762
+ [ELinks/0.13* (*Linux*)]
7763
+ Parent=ELinks 0.13
7764
+ Platform=Linux
7765
+
7766
+ [ELinks/0.13* (*NetBSD*)]
7767
+ Parent=ELinks 0.13
7768
+ Platform=NetBSD
7769
+
7770
+ [ELinks/0.13* (*OpenBSD*)]
7771
+ Parent=ELinks 0.13
7772
+ Platform=OpenBSD
7773
+
7774
+ [ELinks/0.13* (*OS/2*)]
7775
+ Parent=ELinks 0.13
7776
+ Platform=OS/2
7777
+
7778
+ [ELinks/0.13* (*RISC*)]
7779
+ Parent=ELinks 0.13
7780
+ Platform=RISC OS
7781
+
7782
+ [ELinks/0.13* (*Solaris*)]
7783
+ Parent=ELinks 0.13
7784
+ Platform=Solaris
7785
+
7786
+ [ELinks/0.13* (*Unix*)]
7787
+ Parent=ELinks 0.13
7788
+ Platform=Unix
7789
+
7790
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.9
7791
 
7792
  [ELinks 0.9]
8497
  MinorVer=2
8498
  Platform=MacOSX
8499
 
8500
+ [Mozilla/5.0 (Macintosh; U; Intel Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) iCab/4.7 Safari/*]
8501
+ Parent=iCab
8502
+ Version=4.7
8503
+ MajorVer=4
8504
+ MinorVer=7
8505
+
8506
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iSiloX
8507
 
8508
  [iSiloX]
8590
  JavaScript=true
8591
  Crawler=true
8592
 
8593
+ [Mozilla/5.0 (X11; U; Linux i686*; en-US; rv:1.*: Desktop/LX Amethyst) Gecko/*]
8594
  Parent=Lycoris Desktop/LX
8595
  Version=1.1
8596
  MajorVer=1
8597
  MinorVer=1
8598
  Platform=Linux
8599
 
8600
+ [Mozilla/5.0 (X11; U; Linux i686*; en-US; rv:1.*; Desktop/LX Amethyst) Gecko/*]
8601
  Parent=Lycoris Desktop/LX
8602
  Version=1.0
8603
  MajorVer=1
8604
  MinorVer=0
8605
  Platform=Linux
8606
 
 
 
 
 
 
 
 
 
 
 
 
 
8607
  [Mozilla/4.0 (VMS_Mosaic)]
8608
  Parent=Mosaic
8609
  Platform=OpenVMS
8710
  MajorVer=5
8711
  MinorVer=1
8712
 
 
 
 
 
 
 
 
 
 
 
 
 
8713
  [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8714
  Parent=OmniWeb
8715
  Version=5.5
8722
  MajorVer=5
8723
  MinorVer=6
8724
 
 
 
 
 
 
 
8725
  [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v496]
8726
  Parent=OmniWeb
8727
  Version=4.5
9180
  CssVersion=2
9181
  supportsCSS=true
9182
 
9183
+ [Mozilla/5.0 (compatible; Konqueror/4.0*) KHTML/4.0* (like Gecko)]
9184
+ Parent=Konqueror 4.0
9185
+
9186
+ [Mozilla/5.0 (compatible; Konqueror/4.0*; Debian) KHTML/4.0* (like Gecko)]
9187
  Parent=Konqueror 4.0
9188
  Platform=Debian
9189
 
9190
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; *Linux) KHTML/4.0* (like Gecko)]
9191
  Parent=Konqueror 4.0
9192
  Platform=Linux
9193
 
9194
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; FreeBSD) KHTML/4.0* (like Gecko)]
9195
  Parent=Konqueror 4.0
9196
  Platform=FreeBSD
9197
 
9198
+ [Mozilla/5.0 (compatible; Konqueror/4.0.*; NetBSD) KHTML/4.0* (like Gecko)]
9199
  Parent=Konqueror 4.0
9200
  Platform=NetBSD
9201
 
9215
  CssVersion=2
9216
  supportsCSS=true
9217
 
9218
+ [Mozilla/5.0 (compatible; Konqueror/4.1*) KHTML/4.1* (like Gecko)*]
9219
+ Parent=Konqueror 4.1
9220
+
9221
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; *Linux*) KHTML/4.1* (like Gecko)*]
9222
  Parent=Konqueror 4.1
9223
  Platform=Linux
9224
 
9225
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; Debian) KHTML/4.1* (like Gecko)*]
9226
  Parent=Konqueror 4.1
9227
  Platform=Debian
9228
 
9229
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; FreeBSD) KHTML/4.1* (like Gecko)*]
9230
  Parent=Konqueror 4.1
9231
  Platform=FreeBSD
9232
 
9233
+ [Mozilla/5.0 (compatible; Konqueror/4.1*; NetBSD) KHTML/4.1* (like Gecko)*]
9234
  Parent=Konqueror 4.1
9235
  Platform=NetBSD
9236
 
9250
  CssVersion=2
9251
  supportsCSS=true
9252
 
9253
+ [Mozilla/5.0 (compatible; Konqueror/4.2*) KHTML/4.2* (like Gecko)*]
9254
+ Parent=Konqueror 4.2
9255
+
9256
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; *Linux*) KHTML/4.2* (like Gecko)*]
9257
  Parent=Konqueror 4.2
9258
  Platform=Linux
9259
 
9260
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; Debian) KHTML/4.2* (like Gecko)*]
9261
  Parent=Konqueror 4.2
9262
  Platform=Debian
9263
 
9264
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; FreeBSD) KHTML/4.2* (like Gecko)*]
9265
  Parent=Konqueror 4.2
9266
  Platform=FreeBSD
9267
 
9268
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; NetBSD) KHTML/4.2* (like Gecko)*]
9269
  Parent=Konqueror 4.2
9270
  Platform=NetBSD
9271
 
9272
+ [Mozilla/5.0 (compatible; Konqueror/4.2*; Windows) KHTML/4.2* (like Gecko)]
9273
+ Parent=Konqueror 4.2
9274
+ Platform=Win
9275
+
9276
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.3
9277
+
9278
+ [Konqueror 4.3]
9279
+ Parent=DefaultProperties
9280
+ Browser="Konqueror"
9281
+ Version=4.3
9282
+ MajorVer=4
9283
+ MinorVer=3
9284
+ Frames=true
9285
+ IFrames=true
9286
+ Tables=true
9287
+ Cookies=true
9288
+ JavaScript=true
9289
+ CssVersion=2
9290
+ supportsCSS=true
9291
+
9292
+ [Mozilla/5.0 (compatible; Konqueror/4.3*) KHTML/4.3* (like Gecko)*]
9293
+ Parent=Konqueror 4.3
9294
+
9295
+ [Mozilla/5.0 (compatible; Konqueror/4.3*; *Linux*) KHTML/4.3* (like Gecko)*]
9296
+ Parent=Konqueror 4.3
9297
+ Platform=Linux
9298
+
9299
+ [Mozilla/5.0 (compatible; Konqueror/4.3*; Debian) KHTML/4.3* (like Gecko)*]
9300
+ Parent=Konqueror 4.3
9301
+ Platform=Debian
9302
+
9303
+ [Mozilla/5.0 (compatible; Konqueror/4.3*; FreeBSD) KHTML/4.3* (like Gecko)*]
9304
+ Parent=Konqueror 4.3
9305
+ Platform=FreeBSD
9306
+
9307
+ [Mozilla/5.0 (compatible; Konqueror/4.3*; NetBSD) KHTML/4.3* (like Gecko)*]
9308
+ Parent=Konqueror 4.3
9309
+ Platform=NetBSD
9310
+
9311
+ [Mozilla/5.0 (compatible; Konqueror/4.3*; Windows) KHTML/4.3* (like Gecko)]
9312
+ Parent=Konqueror 4.3
9313
+ Platform=Win
9314
+
9315
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari
9316
 
9317
  [Safari]
9508
  Browser="Safari"
9509
  Version=4.0
9510
  MajorVer=4
 
9511
  Frames=true
9512
  IFrames=true
9513
  Tables=true
9565
  Parent=Safari 4.0
9566
  Platform=Win7
9567
 
9568
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 10
9569
 
9570
+ [Opera 10]
9571
  Parent=DefaultProperties
9572
  Browser="Opera"
9573
  Version=10.0
9574
  MajorVer=10
 
9575
  Frames=true
9576
  IFrames=true
9577
  Tables=true
9579
  BackgroundSounds=true
9580
  JavaApplets=true
9581
  JavaScript=true
9582
+ CssVersion=2
9583
  supportsCSS=true
9584
 
9585
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0; *) Opera 10.*]
9586
+ Parent=Opera 10
9587
  Platform=Win2000
9588
 
9589
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1; *) Opera 10.*]
9590
+ Parent=Opera 10
9591
  Platform=WinXP
9592
 
9593
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2; *) Opera 10.*]
9594
+ Parent=Opera 10
9595
  Platform=Win2003
9596
 
9597
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0; *) Opera 10.*]
9598
+ Parent=Opera 10
9599
  Platform=WinVista
9600
 
9601
+ [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1; *) Opera 10.*]
9602
+ Parent=Opera 10
9603
  Platform=Win7
9604
 
9605
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; FreeBSD*) Opera 10.*]
9606
+ Parent=Opera 10
9607
  Platform=FreeBSD
9608
 
9609
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; Linux*; *) Opera 10.*]
9610
+ Parent=Opera 10
9611
  Platform=Linux
9612
 
9613
+ [Mozilla/4.0 (compatible; MSIE ?.0; X11; SunOS*) Opera 10.*]
9614
+ Parent=Opera 10
9615
  Platform=SunOS
9616
 
9617
+ [Opera/10.* (Macintosh; *Mac OS X; U; *) Presto/2.2.*]
9618
+ Parent=Opera 10
9619
  Platform=MacOSX
9620
 
9621
+ [Opera/10.* (Windows NT 5.0; U; *) Presto/2.2.*]
9622
+ Parent=Opera 10
9623
  Platform=Win2000
9624
 
9625
+ [Opera/10.* (Windows NT 5.1; U; *) Presto/2.2.*]
9626
+ Parent=Opera 10
9627
  Platform=WinXP
9628
 
9629
+ [Opera/10.* (Windows NT 5.2; U; *) Presto/2.2.*]
9630
+ Parent=Opera 10
9631
  Platform=Win2003
9632
 
9633
+ [Opera/10.* (Windows NT 6.0; U; *) Presto/2.2.*]
9634
+ Parent=Opera 10
9635
  Platform=WinVista
9636
 
9637
+ [Opera/10.* (Windows NT 6.1; U; *) Presto/2.2.*]
9638
+ Parent=Opera 10
9639
  Platform=Win7
9640
 
9641
+ [Opera/10.* (X11; FreeBSD; U; *) Presto/2.2.*]
9642
+ Parent=Opera 10
9643
  Platform=FreeBSD
9644
 
9645
+ [Opera/10.* (X11; Linux*; U; *) Presto/2.2.*]
9646
+ Parent=Opera 10
9647
  Platform=Linux
9648
 
9649
+ [Opera/10.* (X11; SunOS; U; *) Presto/2.2.*]
9650
+ Parent=Opera 10
9651
  Platform=SunOS
9652
 
9653
+ [Opera/9.80 (Macintosh; *Mac OS X; U; *) Presto/2.2.* Version/10.*]
9654
+ Parent=Opera 10
9655
  Platform=MacOSX
9656
 
9657
+ [Opera/9.80 (Windows NT 5.0; U; *) Presto/2.2.* Version/10.*]
9658
+ Parent=Opera 10
9659
  Platform=Win2000
9660
 
9661
+ [Opera/9.80 (Windows NT 5.1; U; *) Presto/2.2.* Version/10.*]
9662
+ Parent=Opera 10
9663
  Platform=WinXP
9664
 
9665
+ [Opera/9.80 (Windows NT 5.2; U; *) Presto/2.2.* Version/10.*]
9666
+ Parent=Opera 10
9667
  Platform=Win2003
9668
 
9669
+ [Opera/9.80 (Windows NT 6.0; U; *) Presto/2.2.* Version/10.*]
9670
+ Parent=Opera 10
9671
  Platform=WinVista
9672
 
9673
+ [Opera/9.80 (Windows NT 6.1; U; *) Presto/2.2.* Version/10.*]
9674
+ Parent=Opera 10
9675
  Platform=Win7
9676
 
9677
+ [Opera/9.80 (X11; FreeBSD; U; *) Presto/2.2.* Version/10.*]
9678
+ Parent=Opera 10
9679
  Platform=FreeBSD
9680
 
9681
+ [Opera/9.80 (X11; Linux*; U; *) Presto/2.2.* Version/10.*]
9682
+ Parent=Opera 10
9683
  Platform=Linux
9684
 
9685
+ [Opera/9.80 (X11; SunOS; U; *) Presto/2.2.* Version/10.*]
9686
+ Parent=Opera 10
9687
  Platform=SunOS
9688
 
9689
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.0
14451
  Parent=SeaMonkey 1.1
14452
  Platform=FreeBSD
14453
 
14454
+ [Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
14455
  Parent=SeaMonkey 1.1
14456
  Platform=Linux
14457
 
15357
 
15358
  [Firefox 3.6]
15359
  Parent=DefaultProperties
15360
+ Browser="Firefox"
15361
  Version=3.6
15362
  MajorVer=3
15363
  MinorVer=6
15364
+ Beta=true
15365
  Frames=true
15366
  IFrames=true
15367
  Tables=true
15371
  CssVersion=3
15372
  supportsCSS=true
15373
 
15374
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15375
  Parent=Firefox 3.6
15376
  Platform=MacOSX
15377
 
15378
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15379
  Parent=Firefox 3.6
15380
  Platform=Win2000
15381
 
15382
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15383
  Parent=Firefox 3.6
15384
  Platform=WinXP
15385
  Win32=true
15386
 
15387
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15388
  Parent=Firefox 3.6
15389
  Platform=Win2003
15390
  Win32=true
15391
 
15392
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15393
  Parent=Firefox 3.6
15394
  Platform=WinVista
15395
  Win32=true
15396
 
15397
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15398
  Parent=Firefox 3.6
15399
  Platform=Win7
15400
 
15401
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15402
  Parent=Firefox 3.6
15403
  Platform=WinNT
15404
  Win32=true
15405
 
15406
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15407
  Parent=Firefox 3.6
15408
  Platform=WinXP
15409
  Win32=false
15410
  Win64=true
15411
 
15412
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15413
  Parent=Firefox 3.6
15414
  Platform=Win2003
15415
  Win32=false
15416
  Win64=true
15417
 
15418
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15419
  Parent=Firefox 3.6
15420
  Platform=WinVista
15421
 
15422
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15423
  Parent=Firefox 3.6
15424
  Platform=Win7
15425
 
15426
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15427
  Parent=Firefox 3.6
15428
  Platform=Linux
15429
 
15430
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15431
  Parent=Firefox 3.6
15432
  Platform=FreeBSD
15433
 
15434
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15435
  Parent=Firefox 3.6
15436
  Platform=HP-UX
15437
 
15438
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15439
  Parent=Firefox 3.6
15440
  Platform=IRIX64
15441
 
15442
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15443
  Parent=Firefox 3.6
15444
  Platform=OpenBSD
15445
 
15446
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.2*) Gecko/* Firefox/3.6*]
15447
  Parent=Firefox 3.6
15448
  Platform=SunOS
15449
 
15450
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.7
15451
+
15452
+ [Firefox 3.7]
15453
+ Parent=DefaultProperties
15454
+ Browser="Firefox"
15455
+ Version=3.7
15456
+ MajorVer=3
15457
+ MinorVer=7
15458
+ Alpha=true
15459
+ Frames=true
15460
+ IFrames=true
15461
+ Tables=true
15462
+ Cookies=true
15463
+ JavaApplets=true
15464
+ JavaScript=true
15465
+ CssVersion=3
15466
+ supportsCSS=true
15467
+
15468
+ [Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15469
+ Parent=Firefox 3.7
15470
+ Platform=MacOSX
15471
+
15472
+ [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15473
+ Parent=Firefox 3.7
15474
+ Platform=Win2000
15475
+
15476
+ [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15477
+ Parent=Firefox 3.7
15478
+ Platform=WinXP
15479
+ Win32=true
15480
+
15481
+ [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15482
+ Parent=Firefox 3.7
15483
+ Platform=Win2003
15484
+ Win32=true
15485
+
15486
+ [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15487
+ Parent=Firefox 3.7
15488
+ Platform=WinVista
15489
+ Win32=true
15490
+
15491
+ [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15492
+ Parent=Firefox 3.7
15493
+ Platform=Win7
15494
+
15495
+ [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15496
+ Parent=Firefox 3.7
15497
+ Platform=WinNT
15498
+ Win32=true
15499
+
15500
+ [Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15501
+ Parent=Firefox 3.7
15502
+ Platform=WinXP
15503
+ Win32=false
15504
+ Win64=true
15505
+
15506
+ [Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15507
+ Parent=Firefox 3.7
15508
+ Platform=Win2003
15509
+ Win32=false
15510
+ Win64=true
15511
+
15512
+ [Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15513
+ Parent=Firefox 3.7
15514
+ Platform=WinVista
15515
+
15516
+ [Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15517
+ Parent=Firefox 3.7
15518
+ Platform=Win7
15519
+
15520
+ [Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15521
+ Parent=Firefox 3.7
15522
+ Platform=Linux
15523
+
15524
+ [Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15525
+ Parent=Firefox 3.7
15526
+ Platform=FreeBSD
15527
+
15528
+ [Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15529
+ Parent=Firefox 3.7
15530
+ Platform=HP-UX
15531
+
15532
+ [Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15533
+ Parent=Firefox 3.7
15534
+ Platform=IRIX64
15535
+
15536
+ [Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15537
+ Parent=Firefox 3.7
15538
+ Platform=OpenBSD
15539
+
15540
+ [Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.3) Gecko/* Minefield/3.7*]
15541
+ Parent=Firefox 3.7
15542
+ Platform=SunOS
15543
+
15544
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thunderbird 1.0
15545
 
15546
  [Thunderbird 1.0]
15579
  Parent=Thunderbird 1.0
15580
  Platform=Win7
15581
 
15582
+ [Mozilla/5.0 (X11; U; Linux i686*; *; rv:1.9.*) Gecko/* Thunderbird/1.*]
15583
  Parent=Thunderbird 1.0
15584
  Platform=Linux
15585
 
15621
  Parent=Thunderbird 2.0
15622
  Platform=Win7
15623
 
15624
+ [Mozilla/5.0 (X11; U; Linux i686*; *; rv:1.9.*) Gecko/* Thunderbird/2.*]
15625
  Parent=Thunderbird 2.0
15626
  Platform=Linux
15627
 
15663
  Parent=Thunderbird 3.0
15664
  Platform=Win7
15665
 
15666
+ [Mozilla/5.0 (X11; U; Linux i686*; *; rv:1.9.*) Gecko/* Thunderbird/3.*]
15667
  Parent=Thunderbird 3.0
15668
  Platform=Linux
15669
 
17251
  CssVersion=3
17252
  supportsCSS=true
17253
 
17254
+ [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0*)*]
17255
+ Parent=IE 8.0
17256
+ Platform=WinXP
17257
+
17258
+ [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0*)*]
17259
+ Parent=IE 8.0
17260
+ Platform=Win2003
17261
+
17262
  [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0*)*]
17263
  Parent=IE 8.0
17264
  Platform=WinVista
17283
  Parent=IE 8.0
17284
  Platform=WinVista
17285
 
 
 
 
 
17286
  [Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0*)*]
17287
  Parent=IE 8.0
17288
  Platform=WinVista
pretty-bar.php CHANGED
@@ -1,47 +1,34 @@
1
  <?php
2
- require_once('../../../wp-config.php');
 
 
 
 
 
3
  require_once('prli-config.php');
4
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
5
 
6
  $link = $prli_link->getOneFromSlug($_GET['slug']);
7
- $bar_image = get_option('prli_prettybar_image_url');
8
- $bar_background_image = get_option('prli_prettybar_background_image_url');
9
- $bar_color = get_option('prli_prettybar_color');
10
- $bar_text_color = get_option('prli_prettybar_text_color');
11
- $bar_link_color = get_option('prli_prettybar_link_color');
12
- $bar_visited_color = get_option('prli_prettybar_visited_color');
13
- $bar_hover_color = get_option('prli_prettybar_hover_color');
14
- $bar_show_title = get_option('prli_prettybar_show_title');
15
- $bar_show_description = get_option('prli_prettybar_show_description');
16
- $bar_show_share_links = get_option('prli_prettybar_show_share_links');
17
- $bar_show_target_url_link = get_option('prli_prettybar_show_target_url_link');
18
- $bar_title_limit = (int)get_option('prli_prettybar_title_limit');
19
- $bar_desc_limit = (int)get_option('prli_prettybar_desc_limit');
20
- $bar_link_limit = (int)get_option('prli_prettybar_link_limit');
21
 
22
  $target_url = $_GET['url'];
23
 
24
- if(empty($bar_image) or !$bar_image)
25
- $bar_image = 'images/pretty-link-48x48.png';
26
-
27
- if((empty($bar_background_image) and empty($bar_color)) or (!$bar_background_image and !$bar_color))
28
- $bar_background_image = 'images/bar_background.png';
29
-
30
- if(empty($bar_text_color) or !$bar_text_color)
31
- $bar_text_color = '000000';
32
-
33
- if(empty($bar_link_color) or !$bar_link_color)
34
- $bar_link_color = '0000ee';
35
-
36
- if(empty($bar_visited_color) or !$bar_visited_color)
37
- $bar_visited_color = '551a8b';
38
-
39
- if(empty($bar_hover_color) or !$bar_hover_color)
40
- $bar_hover_color = 'ababab';
41
-
42
- $shortened_title = htmlspecialchars(stripslashes(substr($prli_blogname,0,$bar_title_limit)));
43
- $shortened_desc = htmlspecialchars(stripslashes(substr($prli_blogdescription,0,$bar_desc_limit)));
44
- $shortened_link = htmlspecialchars(stripslashes(substr($target_url,0,$bar_link_limit)));
45
 
46
  if(strlen($prli_blogname) > $bar_title_limit)
47
  $shortened_title .= "...";
@@ -53,10 +40,13 @@ if(strlen($target_url) > $bar_link_limit)
53
  $shortened_link .= "...";
54
 
55
  ?>
 
 
56
  <html>
57
  <head>
58
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
59
- <title><?php echo htmlspecialchars(stripslashes($link->name)); ?></title>
 
60
  <style type="text/css">
61
  html, body {
62
  margin: 0px;
@@ -89,12 +79,12 @@ html, body {
89
  border-bottom: 2px solid black;
90
  }
91
 
92
- #baritems {
93
  margin-top: 0px;
94
  padding: 0px;
95
  }
96
 
97
- #blog_title {
98
  padding-top: 5px;
99
  margin: 0px;
100
  width: 200px;
@@ -120,11 +110,11 @@ a:hover {
120
  }
121
 
122
  .map {
123
- background-image: url(./images/bar_map.png);
124
  background-repeat: no-repeat;
125
  }
126
 
127
- #closebutton {
128
  background-position: -200px 0;
129
  height: 20px;
130
  width: 20px;
@@ -140,46 +130,46 @@ a:hover {
140
  overflow: hidden;
141
  }
142
 
143
- #right_container {
144
  float: right;
145
  margin-top: 8px;
146
  margin-right: 8px;
147
  text-align: right;
148
  }
149
 
150
- #closebutton:hover {
151
  background-position: -200px -30px;
152
  }
153
 
154
- #closebutton:active {
155
  background-position: -200px -60px;
156
  }
157
 
158
- ul#baritems li {
159
  display: inline;
160
  /*float: left;*/
161
  /*padding-left: 15px;*/
162
  }
163
 
164
- #retweet {
165
  padding-top: 5px;
166
  padding-left: 15px;
167
  line-height: 26px;
168
  width: 200px;
169
  }
170
 
171
- #blog_image {
172
  padding-top: 7px;
173
  padding-left: 5px;
174
  padding-right: 5px;
175
  width: 50px;
176
  }
177
 
178
- #small_text {
179
  font-size: 10px;
180
  }
181
 
182
- .powered_by {
183
  padding-top: 15px;
184
  text-align: right;
185
  }
@@ -195,11 +185,11 @@ td {
195
  <div id="prettybar">
196
  <table width="100%" height="65px">
197
  <tr>
198
- <td id="blog_image" valign="top">
199
  <div class="pb-cell">
200
  <a href="<?php echo $prli_blogurl; ?>" target="_top"><img src="<?php echo $bar_image; ?>" width="48px" height="48px" border="0"/></a></div>
201
  </td>
202
- <td id="blog_title" valign="top">
203
  <div class="pb-cell">
204
  <h2>
205
  <?php if( $bar_show_title ) { ?>
@@ -211,7 +201,7 @@ td {
211
  <?php } else echo "&nbsp;"; ?>
212
  </div>
213
  </td>
214
- <td id="retweet" valign="top">
215
  <div class="pb-cell">
216
  <h4>
217
  <?php if( $bar_show_target_url_link ) { ?>
@@ -220,21 +210,26 @@ td {
220
  </h4>
221
  <h4>
222
  <?php if( $bar_show_share_links ) { ?>
223
- <a href="http://twitter.com/home?status=<?php echo $prli_blogurl . "/" . $_GET['slug']; ?>" target="_top">Share on Twitter</a>
224
  <?php } else echo "&nbsp;"; ?>
225
  </h4>
226
  </div>
227
  </td>
228
  <td valign="top">
229
- <div id="right_container" class="pb-cell">
230
  <table width="100%" cellpadding="0" cellspacing="0" style="padding: 0px; margin: 0px;">
231
  <tr>
232
  <td>
233
- <p id="closebutton" class="map"><a href="<?php echo $target_url; ?>" target="_top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></p>
234
  </td>
235
  <tr>
236
  <td>
237
- <p id="small_text" class="powered_by">Powered by <a href="http://blairwilliams.com/pl" target="_top"><img src="images/pretty-link-small.png" width="12px" height="12px" border="0"/> Pretty Link</a></p>
 
 
 
 
 
238
  </td>
239
  </tr>
240
  </table>
1
  <?php
2
+ $root = dirname(dirname(dirname(dirname(__FILE__))));
3
+ if (file_exists($root.'/wp-load.php'))
4
+ require_once($root.'/wp-load.php');
5
+ else
6
+ require_once($root.'/wp-config.php');
7
+
8
  require_once('prli-config.php');
9
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
10
 
11
  $link = $prli_link->getOneFromSlug($_GET['slug']);
12
+ $bar_image = $prli_options->prettybar_image_url;
13
+ $bar_background_image = $prli_options->prettybar_background_image_url;
14
+ $bar_color = $prli_options->prettybar_color;
15
+ $bar_text_color = $prli_options->prettybar_text_color;
16
+ $bar_link_color = $prli_options->prettybar_link_color;
17
+ $bar_visited_color = $prli_options->prettybar_visited_color;
18
+ $bar_hover_color = $prli_options->prettybar_hover_color;
19
+ $bar_show_title = $prli_options->prettybar_show_title;
20
+ $bar_show_description = $prli_options->prettybar_show_description;
21
+ $bar_show_share_links = $prli_options->prettybar_show_share_links;
22
+ $bar_show_target_url_link = $prli_options->prettybar_show_target_url_link;
23
+ $bar_title_limit = (int)$prli_options->prettybar_title_limit;
24
+ $bar_desc_limit = (int)$prli_options->prettybar_desc_limit;
25
+ $bar_link_limit = (int)$prli_options->prettybar_link_limit;
26
 
27
  $target_url = $_GET['url'];
28
 
29
+ $shortened_title = stripslashes(substr($prli_blogname,0,$bar_title_limit));
30
+ $shortened_desc = stripslashes(substr($prli_blogdescription,0,$bar_desc_limit));
31
+ $shortened_link = stripslashes(substr($target_url,0,$bar_link_limit));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  if(strlen($prli_blogname) > $bar_title_limit)
34
  $shortened_title .= "...";
40
  $shortened_link .= "...";
41
 
42
  ?>
43
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
44
+ "http://www.w3.org/TR/html4/loose.dtd">
45
  <html>
46
  <head>
47
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
48
+ <meta name="description" content="<?php echo stripslashes($link->description); ?>" />
49
+ <title><?php echo stripslashes($link->name); ?></title>
50
  <style type="text/css">
51
  html, body {
52
  margin: 0px;
79
  border-bottom: 2px solid black;
80
  }
81
 
82
+ .baritems {
83
  margin-top: 0px;
84
  padding: 0px;
85
  }
86
 
87
+ .blog-title {
88
  padding-top: 5px;
89
  margin: 0px;
90
  width: 200px;
110
  }
111
 
112
  .map {
113
+ background-image: url(<?php echo PRLI_IMAGES_URL; ?>/bar_map.png);
114
  background-repeat: no-repeat;
115
  }
116
 
117
+ .closebutton {
118
  background-position: -200px 0;
119
  height: 20px;
120
  width: 20px;
130
  overflow: hidden;
131
  }
132
 
133
+ .right_container {
134
  float: right;
135
  margin-top: 8px;
136
  margin-right: 8px;
137
  text-align: right;
138
  }
139
 
140
+ .closebutton:hover {
141
  background-position: -200px -30px;
142
  }
143
 
144
+ .closebutton:active {
145
  background-position: -200px -60px;
146
  }
147
 
148
+ ul.baritems li {
149
  display: inline;
150
  /*float: left;*/
151
  /*padding-left: 15px;*/
152
  }
153
 
154
+ .retweet {
155
  padding-top: 5px;
156
  padding-left: 15px;
157
  line-height: 26px;
158
  width: 200px;
159
  }
160
 
161
+ .blog-image {
162
  padding-top: 7px;
163
  padding-left: 5px;
164
  padding-right: 5px;
165
  width: 50px;
166
  }
167
 
168
+ .small-text {
169
  font-size: 10px;
170
  }
171
 
172
+ .powered-by {
173
  padding-top: 15px;
174
  text-align: right;
175
  }
185
  <div id="prettybar">
186
  <table width="100%" height="65px">
187
  <tr>
188
+ <td class="blog-image" valign="top">
189
  <div class="pb-cell">
190
  <a href="<?php echo $prli_blogurl; ?>" target="_top"><img src="<?php echo $bar_image; ?>" width="48px" height="48px" border="0"/></a></div>
191
  </td>
192
+ <td class="blog-title" valign="top">
193
  <div class="pb-cell">
194
  <h2>
195
  <?php if( $bar_show_title ) { ?>
201
  <?php } else echo "&nbsp;"; ?>
202
  </div>
203
  </td>
204
+ <td class="retweet" valign="top">
205
  <div class="pb-cell">
206
  <h4>
207
  <?php if( $bar_show_target_url_link ) { ?>
210
  </h4>
211
  <h4>
212
  <?php if( $bar_show_share_links ) { ?>
213
+ <a href="http://twitter.com/home?status=<?php echo $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $_GET['slug']; ?>" target="_top">Share on Twitter</a>
214
  <?php } else echo "&nbsp;"; ?>
215
  </h4>
216
  </div>
217
  </td>
218
  <td valign="top">
219
+ <div class="pb-cell right_container">
220
  <table width="100%" cellpadding="0" cellspacing="0" style="padding: 0px; margin: 0px;">
221
  <tr>
222
  <td>
223
+ <p class="map closebutton"><a href="<?php echo $target_url; ?>" target="_top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></p>
224
  </td>
225
  <tr>
226
  <td>
227
+ <?php
228
+ $link_html =<<<LINKHTML
229
+ <p class="powered-by small-text">Powered by <a href="http://blairwilliams.com/pl" target="_top"><img src="<?php echo PRLI_IMAGES_URL; ?>/pretty-link-small.png" width="12px" height="12px" border="0"/> Pretty Link</a></p>
230
+ LINKHTML;
231
+ echo apply_filters('prli-display-attrib-link',$link_html);
232
+ ?>
233
  </td>
234
  </tr>
235
  </table>
pretty-link.php CHANGED
@@ -1,12 +1,12 @@
1
  <?php
2
  /*
3
- Plugin Name: Pretty Link
4
  Plugin URI: http://blairwilliams.com/pretty-link
5
  Description: Shrink, track and share any URL on the Internet from your WordPress website!
6
- Version: 1.4.6
7
- Author: Blair Williams
8
- Author URI: http://blairwilliams.com
9
- Copyright: 2009, Caseproof, LLC
10
 
11
  GNU General Public License, Free Software Foundation <http://creativecommons.org/licenses/GPL/2.0/>
12
  This program is free software; you can redistribute it and/or modify
@@ -29,335 +29,8 @@ require_once(PRLI_MODELS_PATH . '/models.inc.php');
29
  require_once('prli-api.php'); // load api methods
30
  require_once('prli-xmlrpc.php'); // load xml-rpc api methods
31
 
32
- $prli_inc_utils = new PrliUtils();
33
-
34
- add_action('admin_menu', 'prli_menu');
35
 
36
  // Provide Back End Hooks to the Pro version of Pretty Link
37
- if($prli_inc_utils->pro_is_installed())
38
  require_once(PRLI_PATH.'/pro/pretty-link-pro.php');
39
-
40
- function prli_menu()
41
- {
42
- add_menu_page('Pretty Link', 'Pretty Link', 8, PRLI_PATH.'/prli-links.php','',PRLI_URL.'/images/pretty-link-small.png');
43
- add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Add New Link', 'Add New Link', 8, PRLI_PATH.'/prli-add-link.php');
44
- add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Groups', 'Groups', 8, PRLI_PATH.'/prli-groups.php');
45
- add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Hits', 'Hits', 8, PRLI_PATH.'/prli-clicks.php');
46
- add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Options', 'Options', 8, PRLI_PATH.'/prli-options.php');
47
- add_submenu_page(PRLI_PATH.'/prli-links.php', 'Pretty Link | Pretty Link Pro', 'Pretty Link Pro', 8, PRLI_PATH.'/prli-pro-settings.php');
48
-
49
- add_action('admin_head-pretty-link/prli-clicks.php', 'prli_reports_admin_header');
50
- add_action('admin_head-pretty-link/prli-links.php', 'prli_links_admin_header');
51
- add_action('admin_head-pretty-link/prli-add-link.php', 'prli_links_admin_header');
52
- add_action('admin_head-pretty-link/prli-groups.php', 'prli_groups_admin_header');
53
- add_action('admin_head-pretty-link/prli-options.php', 'prli_options_admin_header');
54
- }
55
-
56
- /* Add header to prli-options page */
57
- function prli_options_admin_header()
58
- {
59
- require_once 'classes/views/prli-options/head.php';
60
- }
61
-
62
- /* Add header to prli-clicks page */
63
- function prli_reports_admin_header()
64
- {
65
- // Don't show this sheesh if we're displaying the vuid or ip grouping
66
- if(!isset($_GET['ip']) and !isset($_GET['vuid']))
67
- {
68
- global $prli_siteurl, $prli_click, $prli_utils;
69
-
70
- $params = $prli_click->get_params_array();
71
- $first_click = $prli_utils->getFirstClickDate();
72
-
73
- // Adjust for the first click
74
- if(isset($first_click))
75
- {
76
- $min_date = (int)((time()-$first_click)/60/60/24);
77
-
78
- if($min_date < 30)
79
- $start_timestamp = $prli_utils->get_start_date($params,$min_date);
80
- else
81
- $start_timestamp = $prli_utils->get_start_date($params,30);
82
-
83
- $end_timestamp = $prli_utils->get_end_date($params);
84
- }
85
- else
86
- {
87
- $min_date = 0;
88
- $start_timestamp = time();
89
- $end_timestamp = time();
90
- }
91
-
92
- $link_id = $params['l'];
93
- $type = $params['type'];
94
- $group = $params['group'];
95
-
96
- require_once 'classes/views/prli-clicks/head.php';
97
- }
98
- }
99
-
100
- /* Add header to the prli-links page */
101
- function prli_links_admin_header()
102
- {
103
- global $prli_siteurl;
104
- require_once 'classes/views/prli-links/head.php';
105
- }
106
-
107
- /* Add header to the prli-links page */
108
- function prli_groups_admin_header()
109
- {
110
- global $prli_siteurl;
111
- require_once 'classes/views/prli-groups/head.php';
112
- }
113
-
114
- /********* ADD REDIRECTS FOR STANDARD MODE ***********/
115
- function prli_redirect()
116
- {
117
- global $prli_blogurl, $wpdb, $prli_link;
118
-
119
- // Resolve WP installs in sub-directories
120
- preg_match('#^http://.*?(/.*)$#', $prli_blogurl, $subdir);
121
-
122
- $match_str = '#^'.$subdir[1].'/(.*?)([\?/].*?)?$#';
123
-
124
- if(preg_match($match_str, $_SERVER['REQUEST_URI'], $match_val))
125
- {
126
- // match short slugs (most common)
127
- prli_link_redirect_from_slug($match_val[1],$match_val[2]);
128
-
129
- // Match nested slugs (pretty link sub-directory nesting)
130
- $possible_links = $wpdb->get_col("SELECT slug FROM " . $prli_link->table_name . " WHERE slug like '".$match_val[1]."/%'",0);
131
- foreach($possible_links as $possible_link)
132
- {
133
- // Try to match the full link against the URI
134
- if( preg_match('#^'.$subdir[1].'/('.$possible_link.')([\?/].*?)?$#', $_SERVER['REQUEST_URI'], $match_val) )
135
- prli_link_redirect_from_slug($possible_link,$match_val[2]);
136
- }
137
- }
138
- }
139
-
140
- // For use with the prli_redirect function
141
- function prli_link_redirect_from_slug($slug,$param_str)
142
- {
143
- global $prli_link, $prli_utils;
144
-
145
- $link = $prli_link->getOneFromSlug($slug);
146
-
147
- if(isset($link->slug) and !empty($link->slug))
148
- {
149
- $custom_get = $_GET;
150
-
151
- if(isset($link->param_forwarding) and $link->param_forwarding == 'custom')
152
- $custom_get = $prli_utils->decode_custom_param_str($link->param_struct, $param_str);
153
-
154
- $prli_utils->track_link($link->slug,$custom_get);
155
- exit;
156
- }
157
- }
158
-
159
- add_action('init', 'prli_redirect'); //Redirect
160
-
161
- /********* DASHBOARD WIDGET ***********/
162
- function prli_dashboard_widget_function() {
163
- require_once 'prli-dashboard-widget.php';
164
- }
165
-
166
- // Create the function use in the action hook
167
- function prli_add_dashboard_widgets() {
168
- global $current_user;
169
- get_currentuserinfo();
170
- if($current_user->user_level >= 8)
171
- {
172
- wp_add_dashboard_widget('prli_dashboard_widget', 'Pretty Link Quick Add', 'prli_dashboard_widget_function');
173
-
174
- // Globalize the metaboxes array, this holds all the widgets for wp-admin
175
- global $wp_meta_boxes;
176
-
177
- // Get the regular dashboard widgets array
178
- $normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
179
-
180
- // Backup and delete our new dashbaord widget from the end of the array
181
- $prli_widget_backup = array('prli_dashboard_widget' => $normal_dashboard['prli_dashboard_widget']);
182
- unset($normal_dashboard['prli_dashboard_widget']);
183
-
184
- // Merge the two arrays together so our widget is at the beginning
185
- $i = 0;
186
- foreach($normal_dashboard as $key => $value)
187
- {
188
- if($i == 1 or (count($normal_dashboard) <= 1 and $i == count($normal_dashboard) - 1))
189
- $sorted_dashboard['prli_dashboard_widget'] = $prli_widget_backup['prli_dashboard_widget'];
190
-
191
- $sorted_dashboard[$key] = $normal_dashboard[$key];
192
- $i++;
193
- }
194
-
195
- // Save the sorted array back into the original metaboxes
196
- $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
197
- }
198
- }
199
-
200
- // Hook into the 'wp_dashboard_setup' action to register our other functions
201
- add_action('wp_dashboard_setup', 'prli_add_dashboard_widgets' );
202
-
203
- /********* EXPORT PRETTY LINK API VIA XML-RPC ***********/
204
- function prli_export_api($api_methods)
205
- {
206
- $api_methods['prli.create_pretty_link'] = 'prli_xmlrpc_create_pretty_link';
207
- $api_methods['prli.get_all_groups'] = 'prli_xmlrpc_get_all_groups';
208
- $api_methods['prli.get_all_links'] = 'prli_xmlrpc_get_all_links';
209
- $api_methods['prli.get_link'] = 'prli_xmlrpc_get_link';
210
- $api_methods['prli.get_link_from_slug'] = 'prli_xmlrpc_get_link_from_slug';
211
- $api_methods['prli.get_pretty_link_url'] = 'prli_xmlrpc_get_pretty_link_url';
212
- $api_methods['prli.api_version'] = 'prli_xmlrpc_api_version';
213
-
214
- return $api_methods;
215
- }
216
-
217
- add_filter('xmlrpc_methods', 'prli_export_api');
218
-
219
- /********* INSTALL PLUGIN ***********/
220
- function prli_install()
221
- {
222
- global $wpdb, $prli_utils;
223
-
224
- //require_once(dirname(__FILE__) . "/classes/models/PrliUtils.php");
225
- //$prli_utils = new PrliUtils();
226
-
227
- $groups_table = $wpdb->prefix . "prli_groups";
228
- $clicks_table = $wpdb->prefix . "prli_clicks";
229
- $pretty_links_table = $wpdb->prefix . "prli_links";
230
- $link_metas_table = $wpdb->prefix . "prli_link_metas";
231
-
232
- require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
233
-
234
- /* Create/Upgrade Clicks (Hits) Table */
235
- $sql = "CREATE TABLE " . $clicks_table . " (
236
- id int(11) NOT NULL auto_increment,
237
- ip varchar(255) default NULL,
238
- browser varchar(255) default NULL,
239
- btype varchar(255) default NULL,
240
- bversion varchar(255) default NULL,
241
- os varchar(255) default NULL,
242
- referer varchar(255) default NULL,
243
- host varchar(255) default NULL,
244
- uri varchar(255) default NULL,
245
- first_click tinyint default 0,
246
- created_at datetime NOT NULL,
247
- link_id int(11) default NULL,
248
- vuid varchar(25) default NULL,
249
- PRIMARY KEY (id),
250
- KEY link_id (link_id),
251
- KEY vuid (vuid)".
252
- // We won't worry about this constraint for now.
253
- //CONSTRAINT ".$clicks_table."_ibfk_1 FOREIGN KEY (link_id) REFERENCES $pretty_links_table (id)
254
- ");";
255
-
256
- dbDelta($sql);
257
-
258
- /* Create/Upgrade Pretty Links Table */
259
- $sql = "CREATE TABLE " . $pretty_links_table . " (
260
- id int(11) NOT NULL auto_increment,
261
- name varchar(255) default NULL,
262
- description text default NULL,
263
- url text default NULL,
264
- slug varchar(255) default NULL,
265
- track_as_img tinyint(1) default 0,
266
- nofollow tinyint(1) default 0,
267
- track_me tinyint(1) default 1,
268
- use_prettybar tinyint(1) default 0,
269
- use_ultra_cloak tinyint(1) default 0,
270
- param_forwarding varchar(255) default NULL,
271
- param_struct varchar(255) default NULL,
272
- redirect_type varchar(255) default '307',
273
- gorder int(11) default 0,
274
- created_at datetime NOT NULL,
275
- group_id int(11) default NULL,
276
- PRIMARY KEY (id),
277
- KEY group_id (group_id),
278
- KEY slug (slug)
279
- );";
280
-
281
- dbDelta($sql);
282
-
283
- /* Create/Upgrade Groups Table */
284
- $sql = "CREATE TABLE " . $groups_table . " (
285
- id int(11) NOT NULL auto_increment,
286
- name varchar(255) default NULL,
287
- description text default NULL,
288
- cmon_g varchar(255) default NULL,
289
- created_at datetime NOT NULL,
290
- PRIMARY KEY (id)
291
- );";
292
-
293
- dbDelta($sql);
294
-
295
- /* Create/Upgrade Groups Table */
296
- $sql = "CREATE TABLE {$link_metas_table} (
297
- id int(11) NOT NULL auto_increment,
298
- meta_key varchar(255) default NULL,
299
- meta_value longtext default NULL,
300
- link_id int(11) NOT NULL,
301
- created_at datetime NOT NULL,
302
- PRIMARY KEY (id),
303
- KEY link_id (link_id)
304
- );";
305
-
306
- dbDelta($sql);
307
-
308
- // Install / Upgrade Pretty Link Pro
309
- $prlipro_username = get_option( 'prlipro_username' );
310
- $prlipro_password = get_option( 'prlipro_password' );
311
-
312
- if( !empty($prlipro_username) and !empty($prlipro_password) and
313
- $prli_utils->get_pro_user_type($prlipro_username,$prlipro_password) != false )
314
- $prlipro_response = $prli_utils->download_and_install_pro( $prlipro_username, $prlipro_password );
315
-
316
- // TODO: Move all these options into a central options class
317
- // Set PrettyBar Defaults
318
- $prettybar_show_title = 'prli_prettybar_show_title';
319
- $prettybar_show_description = 'prli_prettybar_show_description';
320
- $prettybar_show_share_links = 'prli_prettybar_show_share_links';
321
- $prettybar_show_target_url_link = 'prli_prettybar_show_target_url_link';
322
-
323
- if(!get_option($prettybar_show_title))
324
- add_option('prli_prettybar_show_title',1);
325
- if(!get_option($prettybar_show_description))
326
- add_option('prli_prettybar_show_description',1);
327
- if(!get_option($prettybar_show_share_links))
328
- add_option('prli_prettybar_show_share_links',1);
329
- if(!get_option($prettybar_show_target_url_link))
330
- add_option('prli_prettybar_show_target_url_link',1);
331
-
332
- // Set Link Defaults
333
- $link_show_prettybar = 'prli_link_show_prettybar';
334
- $link_ultra_cloak = 'prli_link_ultra_cloak';
335
- $link_track_me = 'prli_link_track_me';
336
- $link_track_as_pixel = 'prli_link_track_as_pixel';
337
- $link_nofollow = 'prli_link_nofollow';
338
- $link_redirect_type = 'prli_link_redirect_type';
339
-
340
- if(!get_option($link_show_prettybar))
341
- add_option('prli_link_show_prettybar',0);
342
- if(!get_option($link_ultra_cloak))
343
- add_option('prli_link_ultra_cloak',0);
344
- if(!get_option($link_track_me))
345
- add_option('prli_link_track_me',1);
346
- if(!get_option($link_track_as_pixel))
347
- add_option('prli_link_track_as_pixel',0);
348
- if(!get_option($link_nofollow))
349
- add_option('prli_link_nofollow',0);
350
- if(!get_option($link_redirect_type))
351
- update_option('prli_link_redirect_type','307');
352
- if(!get_option('prli_prettybar_title_limit'))
353
- update_option('prli_prettybar_title_limit', '30');
354
- if(!get_option('prli_prettybar_desc_limit'))
355
- update_option('prli_prettybar_desc_limit', '40');
356
- if(!get_option('prli_prettybar_link_limit'))
357
- update_option('prli_prettybar_link_limit', '40');
358
- }
359
-
360
- // Ensure this gets called on first install
361
- register_activation_hook(__FILE__,'prli_install');
362
-
363
- ?>
1
  <?php
2
  /*
3
+ Plugin Name: Pretty Link Lite
4
  Plugin URI: http://blairwilliams.com/pretty-link
5
  Description: Shrink, track and share any URL on the Internet from your WordPress website!
6
+ Version: 1.5.0
7
+ Author: Caseproof
8
+ Author URI: http://caseproof.com
9
+ Copyright: 2004-2011, Caseproof, LLC
10
 
11
  GNU General Public License, Free Software Foundation <http://creativecommons.org/licenses/GPL/2.0/>
12
  This program is free software; you can redistribute it and/or modify
29
  require_once('prli-api.php'); // load api methods
30
  require_once('prli-xmlrpc.php'); // load xml-rpc api methods
31
 
32
+ require_once(PRLI_PATH.'/prli-main.php');
 
 
33
 
34
  // Provide Back End Hooks to the Pro version of Pretty Link
35
+ if($prli_update->pro_is_installed_and_authorized())
36
  require_once(PRLI_PATH.'/pro/pretty-link-pro.php');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
prli-api.php CHANGED
@@ -8,7 +8,7 @@
8
  */
9
  function prli_api_version()
10
  {
11
- return '1.1';
12
  }
13
 
14
  /**
@@ -30,14 +30,6 @@ function prli_api_version()
30
  * If this value isn't set then the link will not be
31
  * placed in a group.
32
  *
33
- * @param boolean $show_prettybar Optional, If true the prettybar will be shown,
34
- * if not set the default value (from the pretty
35
- * link option page) will be used
36
- *
37
- * @param boolean $ultra_cloak Optional, If true then the link will be ultra-cloaked,
38
- * if not set the default value (from the pretty link
39
- * option page) will be used
40
- *
41
  * @param boolean $link_track_me Optional, If true the link will be tracked,
42
  * if not set the default value (from the pretty
43
  * link option page) will be used
@@ -47,7 +39,8 @@ function prli_api_version()
47
  * value (from the pretty link option page) will
48
  * be used
49
  *
50
- * @param string $link_redirect_type Optional, valid values include '307' or '301',
 
51
  * if not set the default value (from the pretty
52
  * link option page) will be used
53
  *
@@ -63,17 +56,14 @@ function prli_create_pretty_link( $target_url,
63
  $name = '',
64
  $description = '',
65
  $group_id = 0,
66
- $show_prettybar = '',
67
- $ultra_cloak = '',
68
  $track_me = '',
69
  $nofollow = '',
70
  $redirect_type = '',
71
- $track_as_img = '',
72
  $param_forwarding = '',
73
  $param_struct = '' )
74
  {
75
  global $wpdb, $prli_link, $prli_blogurl;
76
- global $prli_error_messages, $prli_pretty_link, $prli_pretty_slug;
77
 
78
  $prli_error_messages = array();
79
 
@@ -83,27 +73,17 @@ function prli_create_pretty_link( $target_url,
83
  $values['name'] = $name;
84
  $values['description'] = $description;
85
  $values['group_id'] = $group_id;
86
- $values['redirect_type'] = (($redirect_type == '')?get_option( 'prli_link_redirect_type' ):$redirect_type);
87
- $values['nofollow'] = (($nofollow == '')?get_option( 'prli_link_nofollow' ):$nofollow);
88
- $values['use_prettybar'] = (($show_prettybar == '')?(int)get_option( 'prli_link_show_prettybar' ):$show_prettybar);
89
- $values['use_ultra_cloak'] = (($ultra_cloak == '')?(int)get_option( 'prli_link_ultra_cloak' ):$ultra_cloak);
90
- $values['track_me'] = (($track_me == '')?get_option( 'prli_link_track_me' ):$track_me);
91
- $values['track_as_img'] = (($track_as_img == '')?0:$track_as_img);
92
  $values['param_forwarding'] = (($param_forwarding == '')?'off':$param_forwarding);
93
  $values['param_struct'] = $param_struct;
94
- $values['gorder'] = '0'; // not supported by this function
95
 
96
  // make array look like $_POST
97
  if(empty($values['nofollow']) or !$values['nofollow'])
98
  unset($values['nofollow']);
99
- if(empty($values['use_prettybar']) or !$values['use_prettybar'])
100
- unset($values['use_prettybar']);
101
- if(empty($values['use_ultra_cloak']) or !$values['use_ultra_cloak'])
102
- unset($values['use_ultra_cloak']);
103
  if(empty($values['track_me']) or !$values['track_me'])
104
  unset($values['track_me']);
105
- if(empty($values['track_as_img']) or !$values['track_as_img'])
106
- unset($values['track_as_img']);
107
 
108
  $prli_error_messages = $prli_link->validate( $values );
109
 
@@ -127,12 +107,9 @@ function prli_update_pretty_link( $id,
127
  $name = -1,
128
  $description = -1,
129
  $group_id = '',
130
- $show_prettybar = '',
131
- $ultra_cloak = '',
132
  $track_me = '',
133
  $nofollow = '',
134
  $redirect_type = '',
135
- $track_as_img = '',
136
  $param_forwarding = '',
137
  $param_struct = -1 )
138
  {
@@ -158,25 +135,15 @@ function prli_update_pretty_link( $id,
158
  $values['group_id'] = (($group_id == '')?$record->group_id:$group_id);
159
  $values['redirect_type'] = (($redirect_type == '')?$record->redirect_type:$redirect_type);
160
  $values['nofollow'] = (($nofollow == '')?$record->nofollow:$nofollow);
161
- $values['use_prettybar'] = (($show_prettybar == '')?(int)$record->use_prettybar:$show_prettybar);
162
- $values['use_ultra_cloak'] = (($ultra_cloak == '')?(int)$record->use_ultra_cloak:$ultra_cloak);
163
  $values['track_me'] = (($track_me == '')?(int)$record->track_me:$track_me);
164
- $values['track_as_img'] = (($track_as_img == '')?(int)$record->track_as_img:$track_as_img);
165
  $values['param_forwarding'] = (($param_forwarding == '')?$record->param_forwarding:$param_forwarding);
166
  $values['param_struct'] = (($param_struct == -1)?$record->param_struct:$param_struct);
167
- $values['gorder'] = $record->gorder; // not supported by this function
168
 
169
  // make array look like $_POST
170
  if(empty($values['nofollow']) or !$values['nofollow'])
171
  unset($values['nofollow']);
172
- if(empty($values['use_prettybar']) or !$values['use_prettybar'])
173
- unset($values['use_prettybar']);
174
- if(empty($values['use_ultra_cloak']) or !$values['use_ultra_cloak'])
175
- unset($values['use_ultra_cloak']);
176
  if(empty($values['track_me']) or !$values['track_me'])
177
  unset($values['track_me']);
178
- if(empty($values['track_as_img']) or !$values['track_as_img'])
179
- unset($values['track_as_img']);
180
 
181
  $prli_error_messages = $prli_link->validate( $values );
182
 
@@ -228,10 +195,10 @@ function prli_get_all_links()
228
  * @return bool (false if failure) | array An associative array with all the
229
  * data about the given pretty link.
230
  */
231
- function prli_get_link_from_slug($slug)
232
  {
233
  global $prli_link;
234
- $link = $prli_link->getOneFromSlug($slug, ARRAY_A);
235
  return $link;
236
  }
237
 
@@ -241,10 +208,10 @@ function prli_get_link_from_slug($slug)
241
  * @return bool (false if failure) | array An associative array with all the
242
  * data about the given pretty link.
243
  */
244
- function prli_get_link($id)
245
  {
246
  global $prli_link;
247
- $link = $prli_link->getOne($id, ARRAY_A);
248
  return $link;
249
  }
250
 
@@ -255,10 +222,10 @@ function prli_get_link($id)
255
  */
256
  function prli_get_pretty_link_url($id)
257
  {
258
- global $prli_blogurl;
259
 
260
- if($pretty_link = prli_get_link($id))
261
- return "{$prli_blogurl}/{$pretty_link->slug}";
262
 
263
  return false;
264
  }
8
  */
9
  function prli_api_version()
10
  {
11
+ return '1.3';
12
  }
13
 
14
  /**
30
  * If this value isn't set then the link will not be
31
  * placed in a group.
32
  *
 
 
 
 
 
 
 
 
33
  * @param boolean $link_track_me Optional, If true the link will be tracked,
34
  * if not set the default value (from the pretty
35
  * link option page) will be used
39
  * value (from the pretty link option page) will
40
  * be used
41
  *
42
+ * @param string $link_redirect_type Optional, valid values include '307', '301',
43
+ * 'prettybar', 'cloak' or 'pixel'
44
  * if not set the default value (from the pretty
45
  * link option page) will be used
46
  *
56
  $name = '',
57
  $description = '',
58
  $group_id = 0,
 
 
59
  $track_me = '',
60
  $nofollow = '',
61
  $redirect_type = '',
 
62
  $param_forwarding = '',
63
  $param_struct = '' )
64
  {
65
  global $wpdb, $prli_link, $prli_blogurl;
66
+ global $prli_error_messages, $prli_pretty_link, $prli_pretty_slug, $prli_options;
67
 
68
  $prli_error_messages = array();
69
 
73
  $values['name'] = $name;
74
  $values['description'] = $description;
75
  $values['group_id'] = $group_id;
76
+ $values['redirect_type'] = (($redirect_type == '')?$prli_options->link_redirect_type:$redirect_type);
77
+ $values['nofollow'] = (($nofollow == '')?$prli_options->link_nofollow:$nofollow);
78
+ $values['track_me'] = (($track_me == '')?$prli_options->link_track_me:$track_me);
 
 
 
79
  $values['param_forwarding'] = (($param_forwarding == '')?'off':$param_forwarding);
80
  $values['param_struct'] = $param_struct;
 
81
 
82
  // make array look like $_POST
83
  if(empty($values['nofollow']) or !$values['nofollow'])
84
  unset($values['nofollow']);
 
 
 
 
85
  if(empty($values['track_me']) or !$values['track_me'])
86
  unset($values['track_me']);
 
 
87
 
88
  $prli_error_messages = $prli_link->validate( $values );
89
 
107
  $name = -1,
108
  $description = -1,
109
  $group_id = '',
 
 
110
  $track_me = '',
111
  $nofollow = '',
112
  $redirect_type = '',
 
113
  $param_forwarding = '',
114
  $param_struct = -1 )
115
  {
135
  $values['group_id'] = (($group_id == '')?$record->group_id:$group_id);
136
  $values['redirect_type'] = (($redirect_type == '')?$record->redirect_type:$redirect_type);
137
  $values['nofollow'] = (($nofollow == '')?$record->nofollow:$nofollow);
 
 
138
  $values['track_me'] = (($track_me == '')?(int)$record->track_me:$track_me);
 
139
  $values['param_forwarding'] = (($param_forwarding == '')?$record->param_forwarding:$param_forwarding);
140
  $values['param_struct'] = (($param_struct == -1)?$record->param_struct:$param_struct);
 
141
 
142
  // make array look like $_POST
143
  if(empty($values['nofollow']) or !$values['nofollow'])
144
  unset($values['nofollow']);
 
 
 
 
145
  if(empty($values['track_me']) or !$values['track_me'])
146
  unset($values['track_me']);
 
 
147
 
148
  $prli_error_messages = $prli_link->validate( $values );
149
 
195
  * @return bool (false if failure) | array An associative array with all the
196
  * data about the given pretty link.
197
  */
198
+ function prli_get_link_from_slug($slug, $return_type = OBJECT, $include_stats = false)
199
  {
200
  global $prli_link;
201
+ $link = $prli_link->getOneFromSlug($slug, $return_type, $include_stats);
202
  return $link;
203
  }
204
 
208
  * @return bool (false if failure) | array An associative array with all the
209
  * data about the given pretty link.
210
  */
211
+ function prli_get_link($id, $return_type = OBJECT, $include_stats = false)
212
  {
213
  global $prli_link;
214
+ $link = $prli_link->getOne($id, $return_type, $include_stats);
215
  return $link;
216
  }
217
 
222
  */
223
  function prli_get_pretty_link_url($id)
224
  {
225
+ global $prli_link,$prli_blogurl;
226
 
227
+ if($pretty_link = $prli_link->getOne($id))
228
+ return "{$prli_blogurl}".PrliUtils::get_permalink_pre_slug_uri()."{$pretty_link->slug}";
229
 
230
  return false;
231
  }
trunk/prli-bookmarklet.php → prli-bookmarklet.php RENAMED
File without changes
prli-clicks.php CHANGED
@@ -1,15 +1,13 @@
1
  <?php
2
 
3
- if(isset($_GET['action']) and $_GET['action'] == 'csv')
4
- require_once(dirname(__FILE__) . '/../../../wp-config.php');
5
-
6
  require_once 'prli-config.php';
7
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
8
  require_once(PRLI_PATH . '/prli-image-lookups.php');
9
 
10
  $controller_file = basename(__FILE__);
 
11
 
12
- if($_GET['action'] == null and $_POST['action'] == null)
13
  {
14
  $page_params = '';
15
 
@@ -92,13 +90,57 @@ if($_GET['action'] == null and $_POST['action'] == null)
92
 
93
  $record_count = $prli_click->getRecordCount($count_where_clause);
94
  $page_count = $prli_click->getPageCount($page_size,$count_where_clause);
95
- $clicks = $prli_click->getPage($current_page,$page_size,$where_clause,$order_by);
96
  $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
97
  $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
98
 
99
  require_once 'classes/views/prli-clicks/list.php';
100
  }
101
- else if($_GET['action'] == 'csv' or $_POST['action'] == 'csv')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  {
103
  if(isset($_GET['l']))
104
  {
@@ -128,7 +170,24 @@ else if($_GET['action'] == 'csv' or $_POST['action'] == 'csv')
128
  $where_clause = "";
129
  }
130
 
131
- $clicks = $prli_click->getAll($where_clause);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  require_once 'classes/views/prli-clicks/csv.php';
133
  }
134
 
@@ -137,6 +196,7 @@ function prli_get_click_sort_vars($params,$where_clause = '')
137
  {
138
  $count_where_clause = '';
139
  $page_params = '';
 
140
 
141
  // These will have to work with both get and post
142
  $sort_str = $params['sort'];
1
  <?php
2
 
 
 
 
3
  require_once 'prli-config.php';
4
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
5
  require_once(PRLI_PATH . '/prli-image-lookups.php');
6
 
7
  $controller_file = basename(__FILE__);
8
+ $max_rows_per_file = 5000;
9
 
10
+ if(!isset($_REQUEST['action']))
11
  {
12
  $page_params = '';
13
 
90
 
91
  $record_count = $prli_click->getRecordCount($count_where_clause);
92
  $page_count = $prli_click->getPageCount($page_size,$count_where_clause);
93
+ $clicks = $prli_click->getPage($current_page,$page_size,$where_clause,$order_by,true);
94
  $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
95
  $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
96
 
97
  require_once 'classes/views/prli-clicks/list.php';
98
  }
99
+ else if(isset($_REQUEST['action']) and $_REQUEST['action'] == 'csv')
100
+ {
101
+ $param_string = '';
102
+ $where_clause = '';
103
+
104
+ if(isset($_GET['l']))
105
+ {
106
+ $where_clause = " link_id=".$_GET['l'];
107
+ $link_name = $wpdb->get_var("SELECT name FROM ".$wpdb->prefix."prli_links WHERE id=".$_GET['l']);
108
+ $link_slug = $wpdb->get_var("SELECT slug FROM ".$wpdb->prefix."prli_links WHERE id=".$_GET['l']);
109
+ $param_string .= "l=".$_GET['l'];
110
+ }
111
+ else if(isset($_GET['ip']))
112
+ {
113
+ $link_name = "ip_addr_" . $_GET['ip'];
114
+ $where_clause = " cl.ip='".$_GET['ip']."'";
115
+ $param_string .= "ip=".$_GET['ip'];
116
+ }
117
+ else if(isset($_GET['vuid']))
118
+ {
119
+ $link_name = "visitor_" . $_GET['vuid'];
120
+ $where_clause = " cl.vuid='".$_GET['vuid']."'";
121
+ $param_string .= "vuid=".$_GET['vuid'];
122
+ }
123
+ else if(isset($_GET['group']))
124
+ {
125
+ $group = $prli_group->getOne($_GET['group']);
126
+ $link_name = "group_" . $group->name;
127
+ $where_clause .= " cl.link_id IN (SELECT id FROM {$prli_link->table_name} WHERE group_id=".$_GET['group'].")";
128
+ $param_string .= "group=".$_GET['group'];
129
+ }
130
+ else
131
+ {
132
+ $link_name = "all_links";
133
+ }
134
+
135
+ $hit_record_count = $prli_click->getRecordCount($where_clause);
136
+ $hit_page_count = (int)ceil($hit_record_count / $max_rows_per_file);
137
+
138
+ $param_string = (empty($param_string)?'':"&{$param_string}");
139
+ $hit_report_url = "{$prli_blogurl}/index.php?action=prli_download_csv_hit_report{$param_string}";
140
+
141
+ require_once 'classes/views/prli-clicks/csv_download.php';
142
+ }
143
+ else if(isset($_REQUEST['action']) and $_REQUEST['action'] == 'prli_download_csv_hit_report')
144
  {
145
  if(isset($_GET['l']))
146
  {
170
  $where_clause = "";
171
  }
172
 
173
+ $link_name = stripslashes($link_name);
174
+ $link_name = preg_replace("#[ ,]#",'',$link_name);
175
+
176
+ $record_count = $prli_click->getRecordCount($where_clause);
177
+ $page_count = (int)ceil($record_count / $max_rows_per_file);
178
+ $prli_page = $_GET['prli_page'];
179
+ $hmin = 0;
180
+
181
+ if($prli_page)
182
+ $hmin = ($prli_page - 1) * $max_rows_per_file;
183
+
184
+ if($prli_page==$page_count)
185
+ $hmax = $record_count;
186
+ else
187
+ $hmax = ($prli_page * $max_rows_per_file) - 1;
188
+
189
+ $hlimit = "{$hmin},{$max_rows_per_file}";
190
+ $clicks = $prli_click->getAll($where_clause,'',false,$hlimit);
191
  require_once 'classes/views/prli-clicks/csv.php';
192
  }
193
 
196
  {
197
  $count_where_clause = '';
198
  $page_params = '';
199
+ $order_by = '';
200
 
201
  // These will have to work with both get and post
202
  $sort_str = $params['sort'];
prli-config.php CHANGED
@@ -1,12 +1,25 @@
1
  <?php
2
- define(PRLI_PLUGIN_NAME,"pretty-link");
3
- define(PRLI_PATH,WP_PLUGIN_DIR.'/'.PRLI_PLUGIN_NAME);
4
- define(PRLI_MODELS_PATH,PRLI_PATH.'/classes/models');
5
- define(PRLI_VIEWS_PATH,PRLI_PATH.'/classes/views');
6
- define(PRLI_URL,WP_PLUGIN_URL.'/'.PRLI_PLUGIN_NAME);
7
-
8
- global $prli_version;
9
- $prli_version = '1.4.6';
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  // The number of items per page on a table
12
  global $page_size;
@@ -22,53 +35,63 @@ $prli_siteurl = get_option('siteurl');
22
  $prli_blogname = get_option('blogname');
23
  $prli_blogdescription = get_option('blogdescription');
24
 
25
- function setup_new_vars($groups)
 
 
 
 
 
 
26
  {
27
- global $prli_link;
 
 
 
 
 
 
 
 
28
 
29
- $link_show_prettybar = 'prli_link_show_prettybar';
30
- $link_ultra_cloak = 'prli_link_ultra_cloak';
31
- $link_track_me = 'prli_link_track_me';
32
- $link_track_as_pixel = 'prli_link_track_as_pixel';
33
- $link_nofollow = 'prli_link_nofollow';
34
- $link_redirect_type = 'prli_link_redirect_type';
35
 
36
- $link_show_prettybar_val = get_option( $link_show_prettybar );
37
- $link_ultra_cloak_val = get_option( $link_ultra_cloak );
38
- $link_track_me_val = get_option( $link_track_me );
39
- $link_track_as_pixel_val = get_option( $link_track_as_pixel );
40
- $link_nofollow_val = get_option( $link_nofollow );
41
- $link_redirect_type_val = get_option( $link_redirect_type );
42
 
43
  $values = array();
44
- $values['url'] = (($_POST['url'] != null)?$_POST['url']:'');
45
- $values['slug'] = (($_POST['slug'] != null)?$_POST['slug']:$prli_link->generateValidSlug());
46
- $values['name'] = htmlspecialchars((($_POST['name'] != null)?stripslashes($_POST['name']):''));
47
- $values['description'] = htmlspecialchars((($_POST['description'] != null)?stripslashes($_POST['description']):''));
48
-
49
- $values['use_prettybar'] = (((isset($_POST['use_prettybar']) and $_POST['use_prettybar'] == 'on') or (!isset($_POST['track_as_img']) and $link_show_prettybar_val == '1'))?'checked="true"':'');
50
- $values['use_ultra_cloak'] = (((isset($_POST['use_ultra_cloak']) and $_POST['use_ultra_cloak'] == 'on') or (!isset($_POST['track_as_img']) and $link_ultra_cloak_val == '1'))?'checked="true"':'');
51
- $values['track_me'] = (((isset($_POST['track_me']) and $_POST['track_me'] == 'on') or (!isset($_POST['track_as_img']) and $link_track_me_val == '1'))?'checked="true"':'');
52
- $values['nofollow'] = (((isset($_POST['nofollow']) and $_POST['nofollow'] == 'on') or (!isset($_POST['track_as_img']) and $link_nofollow_val == '1'))?'checked="true"':'');
53
  $values['redirect_type'] = array();
54
- $values['redirect_type']['307'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '307') or (!isset($_POST['track_as_img']) and $link_redirect_type_val == '307'))?'checked="true"':'');
55
- $values['redirect_type']['301'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '301') or (!isset($_POST['track_as_img']) and $link_redirect_type_val == '301'))?'checked="true"':'');
56
- $values['track_as_img'] = (((isset($_POST['track_as_img']) and $_POST['track_as_img'] == 'on') or (!isset($_POST['track_as_img']) and $link_track_as_pixel_val == '1'))?'checked="true"':'');
 
 
57
 
58
  $values['groups'] = array();
59
- foreach($groups as $group)
 
60
  {
61
- $values['groups'][] = array( 'id' => $group->id,
62
- 'value' => (($_POST['group_id'] == $group->id)?' selected="true"':''),
63
- 'name' => $group->name );
 
 
 
64
  }
65
 
66
- $values['gorder'] = (isset($_POST['gorder'])?$_POST['gorder']:'0');
67
-
68
  $values['param_forwarding'] = array();
69
- $values['param_forwarding']['off'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'off') or !isset($_POST['param_forwarding']))?'checked="true"':'');
70
- $values['param_forwarding']['on'] = ((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'on')?'checked="true"':'');
71
- $values['param_forwarding']['custom'] = ((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'custom')?'checked="true"':'');
72
 
73
  return $values;
74
  }
@@ -78,34 +101,33 @@ function setup_edit_vars($groups,$record)
78
  global $prli_link;
79
 
80
  $values = array();
81
- $values['url'] = (($_POST['url'] != null and $record == null)?$_POST['url']:$record->url);
82
- $values['slug'] = (($_POST['slug'] != null and $record == null)?$_POST['slug']:$record->slug);
83
- $values['name'] = htmlspecialchars(stripslashes((($_POST['name'] != null and $record == null)?$_POST['name']:$record->name)));
84
- $values['description'] = htmlspecialchars(stripslashes((($_POST['description'] != null and $record == null)?$_POST['description']:$record->description)));
85
- $values['use_prettybar'] = ((($_POST['use_prettybar'] or $record->use_prettybar) and ($_POST['use_prettybar'] == 'on' or $record->use_prettybar == 1))?'checked="true"':'');
86
- $values['use_ultra_cloak'] = ((($_POST['use_ultra_cloak'] or $record->use_ultra_cloak) and ($_POST['use_ultra_cloak'] == 'on' or $record->use_ultra_cloak == 1))?'checked="true"':'');
87
- $values['track_me'] = ((($_POST['track_me'] or $record->track_me) and ($_POST['track_me'] == 'on' or $record->track_me == 1))?'checked="true"':'');
88
- $values['nofollow'] = ((($_POST['nofollow'] or $record->nofollow) and ($_POST['nofollow'] == 'on' or $record->nofollow == 1))?'checked="true"':'');
89
 
90
  $values['groups'] = array();
91
  foreach($groups as $group)
92
  {
93
  $values['groups'][] = array( 'id' => $group->id,
94
- 'value' => ((($_POST['group_id'] == $group->id) or ($record->group_id == $group->id))?' selected="true"':''),
95
  'name' => $group->name );
96
  }
97
- $values['gorder'] = (($_POST['gorder'] != null and $record == null)?$_POST['gorder']:$record->gorder);
98
  $values['param_forwarding'] = array();
99
- $values['param_forwarding']['off'] = ((!isset($_POST['param_forwarding']) or $record->param_forwarding == 'off')?'checked="true"':'');
100
- $values['param_forwarding']['on'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'on') or (isset($record->param_forwarding) and $record->param_forwarding == 'on'))?'checked="true"':'');
101
- $values['param_forwarding']['custom'] = (((isset($_POST['param_forwarding']) and $_POST['param_forwarding'] == 'custom') or (isset($record->param_forwarding) and $record->param_forwarding == 'custom'))?'checked="true"':'');
102
- $values['param_struct'] = (($_POST['param_struct'] != null and $record == null)?$_POST['param_struct']:$record->param_struct);
103
 
104
  $values['redirect_type'] = array();
105
- $values['redirect_type']['307'] = ((!isset($_POST['redirect_type']) or $_POST['redirect_type'] == '307' or $record->redirect_type == '307')?'checked="true"':'');
106
- $values['redirect_type']['301'] = (((isset($_POST['redirect_type']) and $_POST['redirect_type'] == '301') or (isset($record->redirect_type) and $record->redirect_type == '301'))?'checked="true"':'');
107
-
108
- $values['track_as_img'] = ((($_POST['track_as_img'] or $record->track_as_img) and ($_POST['track_as_img'] == 'on' or $record->track_as_img == 1))?'checked="true"':'');
 
109
 
110
  return $values;
111
  }
1
  <?php
2
+ define('PRLI_PLUGIN_NAME',"pretty-link");
3
+ define('PRLI_PATH',WP_PLUGIN_DIR.'/'.PRLI_PLUGIN_NAME);
4
+ define('PRLI_MODELS_PATH',PRLI_PATH.'/classes/models');
5
+ define('PRLI_CONTROLLERS_PATH',PRLI_PATH.'/classes/controllers');
6
+ define('PRLI_VIEWS_PATH',PRLI_PATH.'/classes/views');
7
+ //define(PRLI_URL,WP_PLUGIN_URL.'/'.PRLI_PLUGIN_NAME);
8
+ define('PRLI_URL',plugins_url($path = '/'.PRLI_PLUGIN_NAME));
9
+ define('PRLI_IMAGES_URL',PRLI_URL . '/images');
10
+ define('PRLI_BROWSER_URL','https://d14715w921jdje.cloudfront.net/browser');
11
+ define('PRLI_OS_URL','https://d14715w921jdje.cloudfront.net/os');
12
+
13
+ require_once(PRLI_MODELS_PATH.'/PrliOptions.php');
14
+
15
+ // For IIS compatibility
16
+ if (!function_exists('fnmatch'))
17
+ {
18
+ function fnmatch($pattern, $string)
19
+ {
20
+ return preg_match("#^".strtr(preg_quote($pattern, '#'), array('\*' => '.*', '\?' => '.'))."$#i", $string);
21
+ }
22
+ }
23
 
24
  // The number of items per page on a table
25
  global $page_size;
35
  $prli_blogname = get_option('blogname');
36
  $prli_blogdescription = get_option('blogdescription');
37
 
38
+ /***** SETUP OPTIONS OBJECT *****/
39
+ global $prli_options;
40
+
41
+ $prli_options = get_option('prli_options');
42
+
43
+ // If unserializing didn't work
44
+ if(!is_object($prli_options))
45
  {
46
+ if($prli_options and is_string($prli_options))
47
+ $prli_options = unserialize($prli_options);
48
+
49
+ // If it still isn't an object then let's create it
50
+ if(!is_object($prli_options))
51
+ $prli_options = new PrliOptions();
52
+
53
+ update_option('prli_options',$prli_options);
54
+ }
55
 
56
+ $prli_options->set_default_options(); // Sets defaults for unset options
 
 
 
 
 
57
 
58
+ /***** TODO: Uh... these functions should find a better home somewhere *****/
59
+ function setup_new_vars($groups)
60
+ {
61
+ global $prli_link, $prli_options;
 
 
62
 
63
  $values = array();
64
+ $values['url'] = (isset($_REQUEST['url'])?$_REQUEST['url']:'');
65
+ $values['slug'] = (isset($_REQUEST['slug'])?$_REQUEST['slug']:$prli_link->generateValidSlug());
66
+ $values['name'] = htmlspecialchars((isset($_REQUEST['name'])?stripslashes($_REQUEST['name']):''));
67
+ $values['description'] = htmlspecialchars((isset($_REQUEST['description'])?stripslashes($_REQUEST['description']):''));
68
+
69
+ $values['track_me'] = (((isset($_REQUEST['track_me']) and $_REQUEST['track_me'] == 'on') or (!isset($_REQUEST['track_me']) and $prli_options->link_track_me == '1'))?'checked="true"':'');
70
+ $values['nofollow'] = (((isset($_REQUEST['nofollow']) and $_REQUEST['nofollow'] == 'on') or (!isset($_REQUEST['nofollow']) and $prli_options->link_nofollow == '1'))?'checked="true"':'');
71
+
 
72
  $values['redirect_type'] = array();
73
+ $values['redirect_type']['307'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == '307') or (!isset($_REQUEST['redirect_type']) and $prli_options->link_redirect_type == '307'))?'selected="selected"':'');
74
+ $values['redirect_type']['301'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == '301') or (!isset($_REQUEST['redirect_type']) and $prli_options->link_redirect_type == '301'))?'selected="selected"':'');
75
+ $values['redirect_type']['prettybar'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'prettybar') or (!isset($_REQUEST['redirect_type']) and $prli_options->link_redirect_type == 'prettybar'))?'selected="selected"':'');
76
+ $values['redirect_type']['cloak'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'cloak') or (!isset($_REQUEST['redirect_type']) and $prli_options->link_redirect_type == 'cloak'))?'selected="selected"':'');
77
+ $values['redirect_type']['pixel'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'pixel') or (!isset($_REQUEST['redirect_type']) and $prli_options->link_redirect_type == 'pixel'))?'selected="selected"':'');
78
 
79
  $values['groups'] = array();
80
+
81
+ if(is_array($groups))
82
  {
83
+ foreach($groups as $group)
84
+ {
85
+ $values['groups'][] = array( 'id' => $group->id,
86
+ 'value' => ((isset($_REQUEST['group_id']) and $_REQUEST['group_id'] == $group->id)?' selected="true"':''),
87
+ 'name' => $group->name );
88
+ }
89
  }
90
 
 
 
91
  $values['param_forwarding'] = array();
92
+ $values['param_forwarding']['off'] = (((isset($_REQUEST['param_forwarding']) and $_REQUEST['param_forwarding'] == 'off') or !isset($_REQUEST['param_forwarding']))?'checked="true"':'');
93
+ $values['param_forwarding']['on'] = ((isset($_REQUEST['param_forwarding']) and $_REQUEST['param_forwarding'] == 'on')?'checked="true"':'');
94
+ $values['param_forwarding']['custom'] = ((isset($_REQUEST['param_forwarding']) and $_REQUEST['param_forwarding'] == 'custom')?'checked="true"':'');
95
 
96
  return $values;
97
  }
101
  global $prli_link;
102
 
103
  $values = array();
104
+ $values['url'] = ((isset($_REQUEST['url']) and $record == null)?$_REQUEST['url']:$record->url);
105
+ $values['slug'] = ((isset($_REQUEST['slug']) and $record == null)?$_REQUEST['slug']:$record->slug);
106
+ $values['name'] = htmlspecialchars(stripslashes(((isset($_REQUEST['name']) and $record == null)?$_REQUEST['name']:$record->name)));
107
+ $values['description'] = htmlspecialchars(stripslashes(((isset($_REQUEST['description']) and $record == null)?$_REQUEST['description']:$record->description)));
108
+ $values['track_me'] = (((isset($_REQUEST['track_me']) or $record->track_me) and ((isset($_REQUEST['track_me']) and $_REQUEST['track_me'] == 'on') or $record->track_me == 1))?'checked="true"':'');
109
+ $values['nofollow'] = (((isset($_REQUEST['nofollow']) or $record->nofollow) and ($_REQUEST['nofollow'] == 'on' or $record->nofollow == 1))?'checked="true"':'');
 
 
110
 
111
  $values['groups'] = array();
112
  foreach($groups as $group)
113
  {
114
  $values['groups'][] = array( 'id' => $group->id,
115
+ 'value' => (((isset($_REQUEST['group_id']) and ($_REQUEST['group_id'] == $group->id)) or ($record->group_id == $group->id))?' selected="true"':''),
116
  'name' => $group->name );
117
  }
118
+
119
  $values['param_forwarding'] = array();
120
+ $values['param_forwarding']['off'] = ((!isset($_REQUEST['param_forwarding']) or $record->param_forwarding == 'off')?'checked="true"':'');
121
+ $values['param_forwarding']['on'] = (((isset($_REQUEST['param_forwarding']) and $_REQUEST['param_forwarding'] == 'on') or (isset($record->param_forwarding) and $record->param_forwarding == 'on'))?'checked="true"':'');
122
+ $values['param_forwarding']['custom'] = (((isset($_REQUEST['param_forwarding']) and $_REQUEST['param_forwarding'] == 'custom') or (isset($record->param_forwarding) and $record->param_forwarding == 'custom'))?'checked="true"':'');
123
+ $values['param_struct'] = ((isset($_REQUEST['param_struct']) and $record == null)?$_REQUEST['param_struct']:$record->param_struct);
124
 
125
  $values['redirect_type'] = array();
126
+ $values['redirect_type']['307'] = ((!isset($_REQUEST['redirect_type']) or (isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == '307') or (isset($record->redirect_type) and $record->redirect_type == '307'))?' selected="selected"':'');
127
+ $values['redirect_type']['301'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == '301') or (isset($record->redirect_type) and $record->redirect_type == '301'))?' selected="selected"':'');
128
+ $values['redirect_type']['prettybar'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'prettybar') or (isset($record->redirect_type) and $record->redirect_type == 'prettybar'))?' selected="selected"':'');
129
+ $values['redirect_type']['cloak'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'cloak') or (isset($record->redirect_type) and $record->redirect_type == 'cloak'))?' selected="selected"':'');
130
+ $values['redirect_type']['pixel'] = (((isset($_REQUEST['redirect_type']) and $_REQUEST['redirect_type'] == 'pixel') or (isset($record->redirect_type) and $record->redirect_type == 'pixel'))?' selected="selected"':'');
131
 
132
  return $values;
133
  }
prli-dashboard-widget.php CHANGED
@@ -2,14 +2,7 @@
2
  require_once('prli-config.php');
3
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
 
5
- include_once(ABSPATH."/wp-includes/class-IXR.php");
6
-
7
- $client = new IXR_Client('http://blairwilliams.com/xmlrpc.php');
8
-
9
- $message = "Add a pretty link right here�";
10
-
11
- if ($client->query('prli.get_main_message'))
12
- $message = $client->getResponse();
13
 
14
  global $prli_group,$prli_link,$prli_blogurl;
15
 
2
  require_once('prli-config.php');
3
  require_once(PRLI_MODELS_PATH . '/models.inc.php');
4
 
5
+ $message = prli_get_main_message("Add a Pretty Link from your Dashboard:");
 
 
 
 
 
 
 
6
 
7
  global $prli_group,$prli_link,$prli_blogurl;
8
 
prli-links.php CHANGED
@@ -6,7 +6,9 @@ $params = $prli_link->get_params_array();
6
 
7
  if($params['action'] == 'list')
8
  {
9
- if(empty($params['group']))
 
 
10
  $prli_message = prli_get_main_message();
11
  else
12
  $prli_message = "Links in Group: " . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".$params['group']);
@@ -18,6 +20,11 @@ if($params['action'] == 'list')
18
 
19
  prli_display_links_list($params, $prli_message);
20
  }
 
 
 
 
 
21
  else if($params['action'] == 'quick-create')
22
  {
23
  $errors = $prli_link->validate($_POST);
@@ -30,22 +37,16 @@ else if($params['action'] == 'quick-create')
30
  }
31
  else
32
  {
33
- $_POST['gorder'] = '0';
34
  $_POST['param_forwarding'] = 'off';
35
  $_POST['param_struct'] = '';
36
  $_POST['name'] = '';
37
  $_POST['description'] = '';
38
- if( get_option( 'prli_link_show_prettybar' ) )
39
- $_POST['use_prettybar'] = 'on';
40
- if( get_option( 'prli_link_ultra_cloak' ) )
41
- $_POST['use_ultra_cloak'] = 'on';
42
- if( get_option( 'prli_link_track_me' ) )
43
  $_POST['track_me'] = 'on';
44
- if( get_option( 'prli_link_track_as_pixel' ) )
45
- $_POST['track_as_img'] = 'on';
46
- if( get_option( 'prli_link_nofollow' ) )
47
  $_POST['nofollow'] = 'on';
48
- $_POST['redirect_type'] = get_option( 'prli_link_redirect_type' );
 
49
 
50
  $record = $prli_link->create( $_POST );
51
 
@@ -84,6 +85,14 @@ else if($params['action'] == 'edit')
84
  $id = $params['id'];
85
  require_once 'classes/views/prli-links/edit.php';
86
  }
 
 
 
 
 
 
 
 
87
  else if($params['action'] == 'update')
88
  {
89
  $errors = $prli_link->validate($_POST);
@@ -124,10 +133,13 @@ else if($params['action'] == 'destroy')
124
  // Helpers
125
  function prli_display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
126
  {
127
- global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size;
128
 
129
  $controller_file = basename(__FILE__);
130
 
 
 
 
131
  if(!empty($params['group']))
132
  {
133
  $where_clause = " group_id=" . $params['group'];
@@ -201,9 +213,6 @@ function prli_get_link_sort_vars($params,$where_clause = '')
201
  case "slug":
202
  $order_by .= " ORDER BY $sort_str";
203
  break;
204
- case "gorder":
205
- $order_by .= " ORDER BY gorder,group_name";
206
- break;
207
  default:
208
  $order_by .= " ORDER BY created_at";
209
  }
@@ -225,19 +234,5 @@ function prli_get_link_sort_vars($params,$where_clause = '')
225
  'page_params' => $page_params);
226
  }
227
 
228
- function prli_get_main_message()
229
- {
230
- include_once(ABSPATH."/wp-includes/class-IXR.php");
231
-
232
- $client = new IXR_Client('http://blairwilliams.com/xmlrpc.php');
233
-
234
- $message = "Get started by <a href=\"?page=".PRLI_PLUGIN_NAME."/prli-links.php&action=new\">adding a URL</a> that you want to turn into a pretty link.<br/>Come back to see how many times it was clicked.";
235
-
236
- if ($client->query('prli.get_main_message'))
237
- $message = $client->getResponse();
238
-
239
- return $message;
240
- }
241
-
242
 
243
  ?>
6
 
7
  if($params['action'] == 'list')
8
  {
9
+ if(!empty($params['message']))
10
+ $prli_message = $params['message'];
11
+ else if(empty($params['group']))
12
  $prli_message = prli_get_main_message();
13
  else
14
  $prli_message = "Links in Group: " . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".$params['group']);
20
 
21
  prli_display_links_list($params, $prli_message);
22
  }
23
+ else if($params['action'] == 'list-form')
24
+ {
25
+ if(apply_filters('prli-link-list-process-form', true))
26
+ prli_display_links_list($params, prli_get_main_message());
27
+ }
28
  else if($params['action'] == 'quick-create')
29
  {
30
  $errors = $prli_link->validate($_POST);
37
  }
38
  else
39
  {
 
40
  $_POST['param_forwarding'] = 'off';
41
  $_POST['param_struct'] = '';
42
  $_POST['name'] = '';
43
  $_POST['description'] = '';
44
+ if( $prli_options->link_track_me )
 
 
 
 
45
  $_POST['track_me'] = 'on';
46
+ if( $prli_options->link_nofollow )
 
 
47
  $_POST['nofollow'] = 'on';
48
+
49
+ $_POST['redirect_type'] = $prli_options->link_redirect_type;
50
 
51
  $record = $prli_link->create( $_POST );
52
 
85
  $id = $params['id'];
86
  require_once 'classes/views/prli-links/edit.php';
87
  }
88
+ else if($params['action'] == 'bulk-update')
89
+ {
90
+ if(apply_filters('prli-bulk-link-update', true))
91
+ {
92
+ $prli_message = "Your Pretty Links were Successfully Updated";
93
+ prli_display_links_list($params, $prli_message, '', 1);
94
+ }
95
+ }
96
  else if($params['action'] == 'update')
97
  {
98
  $errors = $prli_link->validate($_POST);
133
  // Helpers
134
  function prli_display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
135
  {
136
+ global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size, $prli_options;
137
 
138
  $controller_file = basename(__FILE__);
139
 
140
+ $where_clause = '';
141
+ $page_params = '';
142
+
143
  if(!empty($params['group']))
144
  {
145
  $where_clause = " group_id=" . $params['group'];
213
  case "slug":
214
  $order_by .= " ORDER BY $sort_str";
215
  break;
 
 
 
216
  default:
217
  $order_by .= " ORDER BY created_at";
218
  }
234
  'page_params' => $page_params);
235
  }
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
 
238
  ?>
trunk/prli-main.php → prli-main.php RENAMED
File without changes
prli-options.php CHANGED
@@ -6,165 +6,84 @@ $errors = array();
6
 
7
  // variables for the field and option names
8
  $prli_exclude_ips = 'prli_exclude_ips';
9
- $prettybar_image_url = 'prli_prettybar_image_url';
10
- $prettybar_background_image_url = 'prli_prettybar_background_image_url';
11
- $prettybar_color = 'prli_prettybar_color';
12
- $prettybar_text_color = 'prli_prettybar_text_color';
13
- $prettybar_link_color = 'prli_prettybar_link_color';
14
- $prettybar_hover_color = 'prli_prettybar_hover_color';
15
- $prettybar_visited_color = 'prli_prettybar_visited_color';
16
- $prettybar_show_title = 'prli_prettybar_show_title';
17
- $prettybar_show_description = 'prli_prettybar_show_description';
18
- $prettybar_show_share_links = 'prli_prettybar_show_share_links';
19
- $prettybar_show_target_url_link = 'prli_prettybar_show_target_url_link';
20
- $prettybar_title_limit = 'prli_prettybar_title_limit';
21
- $prettybar_desc_limit = 'prli_prettybar_desc_limit';
22
- $prettybar_link_limit = 'prli_prettybar_link_limit';
23
- $link_show_prettybar = 'prli_link_show_prettybar';
24
- $link_ultra_cloak = 'prli_link_ultra_cloak';
25
  $link_track_me = 'prli_link_track_me';
26
- $link_track_as_pixel = 'prli_link_track_as_pixel';
27
  $link_nofollow = 'prli_link_nofollow';
28
  $link_redirect_type = 'prli_link_redirect_type';
29
  $hidden_field_name = 'prli_update_options';
30
 
31
- $prli_domain = "pretty-link";
32
-
33
- // Read in existing option value from database
34
- $prli_exclude_ips_val = get_option( $prli_exclude_ips );
35
- $prettybar_image_url_val = get_option( $prettybar_image_url );
36
- $prettybar_background_image_url_val = get_option( $prettybar_background_image_url );
37
- $prettybar_color_val = get_option( $prettybar_color );
38
- $prettybar_text_color_val = get_option( $prettybar_text_color );
39
- $prettybar_link_color_val = get_option( $prettybar_link_color );
40
- $prettybar_hover_color_val = get_option( $prettybar_hover_color );
41
- $prettybar_visited_color_val = get_option( $prettybar_visited_color );
42
- $prettybar_show_title_val = get_option( $prettybar_show_title );
43
- $prettybar_show_description_val = get_option( $prettybar_show_description );
44
- $prettybar_show_share_links_val = get_option( $prettybar_show_share_links );
45
- $prettybar_show_target_url_link_val = get_option( $prettybar_show_target_url_link );
46
- $prettybar_title_limit_val = get_option( $prettybar_title_limit );
47
- $prettybar_desc_limit_val = get_option( $prettybar_desc_limit );
48
- $prettybar_link_limit_val = get_option( $prettybar_link_limit );
49
- $link_show_prettybar_val = get_option( $link_show_prettybar );
50
- $link_ultra_cloak_val = get_option( $link_ultra_cloak );
51
- $link_track_me_val = get_option( $link_track_me );
52
- $link_track_as_pixel_val = get_option( $link_track_as_pixel );
53
- $link_nofollow_val = get_option( $link_nofollow );
54
- $link_redirect_type_val = get_option( $link_redirect_type );
55
 
56
  // See if the user has posted us some information
57
  // If they did, this hidden field will be set to 'Y'
58
- if( $_POST[ $hidden_field_name ] == 'Y' )
59
  {
60
  // Validate This
61
- if( !empty($_POST[$prettybar_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_image_url] ) )
62
- $errors[] = "Logo Image URL must be a correctly formatted URL";
63
-
64
- if( !empty($_POST[$prettybar_background_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_background_image_url] ) )
65
- $errors[] = "Background Image URL must be a correctly formatted URL";
66
-
67
- if( !empty($_POST[ $prli_exclude_ips ]) and !preg_match( "#^[ \t]*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})([ \t]*,[ \t]*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})*$#", $_POST[ $prli_exclude_ips ] ) )
68
- $errors[] = "Must be a comma separated list of IP addresses.";
69
-
70
- if( !empty($_POST[ $prettybar_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_color ] ) )
71
- $errors[] = "PrettyBar Background Color must be an actual RGB Value";
72
-
73
- if( !empty($_POST[ $prettybar_text_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_text_color ] ) )
74
- $errors[] = "PrettyBar Text Color must be an actual RGB Value";
75
-
76
- if( !empty($_POST[ $prettybar_link_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_link_color ] ) )
77
- $errors[] = "PrettyBar Link Color must be an actual RGB Value";
78
-
79
- if( !empty($_POST[ $prettybar_hover_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_hover_color ] ) )
80
- $errors[] = "PrettyBar Hover Color must be an actual RGB Value";
81
-
82
- if( !empty($_POST[ $prettybar_visited_color ]) and !preg_match( "#^[0-9a-fA-F]{6}$#", $_POST[ $prettybar_visited_color ] ) )
83
- $errors[] = "PrettyBar Hover Color must be an actual RGB Value";
84
 
85
- if( empty($_POST[ $prettybar_title_limit ]) )
86
- $errors[] = "PrettyBar Title Character Limit must not be blank";
87
 
88
- if( empty($_POST[ $prettybar_desc_limit ]) )
89
- $errors[] = "PrettyBar Description Character Limit must not be blank";
90
-
91
- if( empty($_POST[ $prettybar_link_limit ]) )
92
- $errors[] = "PrettyBar Link Character Limit must not be blank";
93
-
94
- if( !empty($_POST[ $prettybar_title_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_title_limit ] ) )
95
- $errors[] = "PrettyBar Title Character Limit must be a number";
96
-
97
- if( !empty($_POST[ $prettybar_desc_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_desc_limit ] ) )
98
- $errors[] = "PrettyBar Description Character Limit must be a number";
99
-
100
- if( !empty($_POST[ $prettybar_link_limit ]) and !preg_match( "#^[0-9]*$#", $_POST[ $prettybar_link_limit ] ) )
101
- $errors[] = "PrettyBar Link Character Limit must be a number";
102
 
103
  // Read their posted value
104
- $prli_exclude_ips_val = stripslashes($_POST[ $prli_exclude_ips ]);
105
- $prettybar_image_url_val = stripslashes($_POST[ $prettybar_image_url ]);
106
- $prettybar_background_image_url_val = stripslashes($_POST[ $prettybar_background_image_url ]);
107
- $prettybar_color_val = stripslashes($_POST[ $prettybar_color ]);
108
- $prettybar_text_color_val = stripslashes($_POST[ $prettybar_text_color ]);
109
- $prettybar_link_color_val = stripslashes($_POST[ $prettybar_link_color ]);
110
- $prettybar_hover_color_val = stripslashes($_POST[ $prettybar_hover_color ]);
111
- $prettybar_visited_color_val = stripslashes($_POST[ $prettybar_visited_color ]);
112
- $prettybar_show_title_val = (int)isset($_POST[ $prettybar_show_title ]);
113
- $prettybar_show_description_val = (int)isset($_POST[ $prettybar_show_description ]);
114
- $prettybar_show_share_links_val = (int)isset($_POST[ $prettybar_show_share_links ]);
115
- $prettybar_show_target_url_link_val = (int)isset($_POST[ $prettybar_show_target_url_link ]);
116
- $prettybar_title_limit_val = stripslashes($_POST[ $prettybar_title_limit ]);
117
- $prettybar_desc_limit_val = stripslashes($_POST[ $prettybar_desc_limit ]);
118
- $prettybar_link_limit_val = stripslashes($_POST[ $prettybar_link_limit ]);
119
- $link_show_prettybar_val = (int)isset($_POST[ $link_show_prettybar ]);
120
- $link_ultra_cloak_val = (int)isset($_POST[ $link_ultra_cloak ]);
121
- $link_track_me_val = (int)isset($_POST[ $link_track_me ]);
122
- $link_track_as_pixel_val = (int)isset($_POST[ $link_track_as_pixel ]);
123
- $link_nofollow_val = (int)isset($_POST[ $link_nofollow ]);
124
- $link_redirect_type_val = $_POST[ $link_redirect_type ];
125
 
126
  if( count($errors) > 0 )
127
- {
128
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
129
- }
130
  else
131
  {
132
  // Save the posted value in the database
133
- update_option( $prli_exclude_ips, $prli_exclude_ips_val );
134
- update_option( $prettybar_image_url, $prettybar_image_url_val );
135
- update_option( $prettybar_background_image_url, $prettybar_background_image_url_val );
136
- update_option( $prettybar_color, $prettybar_color_val );
137
- update_option( $prettybar_text_color, $prettybar_text_color_val );
138
- update_option( $prettybar_link_color, $prettybar_link_color_val );
139
- update_option( $prettybar_hover_color, $prettybar_hover_color_val );
140
- update_option( $prettybar_visited_color, $prettybar_visited_color_val );
141
- update_option( $prettybar_show_title, $prettybar_show_title_val );
142
- update_option( $prettybar_show_description, $prettybar_show_description_val );
143
- update_option( $prettybar_show_share_links, $prettybar_show_share_links_val );
144
- update_option( $prettybar_show_target_url_link, $prettybar_show_target_url_link_val );
145
- update_option( $prettybar_title_limit, $prettybar_title_limit_val );
146
- update_option( $prettybar_desc_limit, $prettybar_desc_limit_val );
147
- update_option( $prettybar_link_limit, $prettybar_link_limit_val );
148
- update_option( $link_show_prettybar, $link_show_prettybar_val );
149
- update_option( $link_ultra_cloak, $link_ultra_cloak_val );
150
- update_option( $link_track_me, $link_track_me_val );
151
- update_option( $link_track_as_pixel, $link_track_as_pixel_val );
152
- update_option( $link_nofollow, $link_nofollow_val );
153
- update_option( $link_redirect_type, $link_redirect_type_val );
154
 
155
  // Put an options updated message on the screen
156
- ?>
157
 
158
- <div class="updated"><p><strong><?php _e('Options saved.', $prli_domain ); ?></strong></p></div>
159
- <?php
160
  }
161
  }
162
- else if($_GET['action'] == 'clear_all_clicks4134' or $_POST['action'] == 'clear_all_clicks4134')
163
  {
164
  $prli_click->clearAllClicks();
165
- ?>
166
 
167
- <div class="updated"><p><strong><?php _e('Hit Database Was Cleared.', $prli_domain ); ?></strong></p></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  <?php
169
  }
170
 
6
 
7
  // variables for the field and option names
8
  $prli_exclude_ips = 'prli_exclude_ips';
9
+ $whitelist_ips = 'prli_whitelist_ips';
10
+ $filter_robots = 'prli_filter_robots';
11
+ $extended_tracking = 'prli_extended_tracking';
12
+
 
 
 
 
 
 
 
 
 
 
 
 
13
  $link_track_me = 'prli_link_track_me';
14
+ $link_prefix = 'prli_link_prefix';
15
  $link_nofollow = 'prli_link_nofollow';
16
  $link_redirect_type = 'prli_link_redirect_type';
17
  $hidden_field_name = 'prli_update_options';
18
 
19
+ $update_message = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  // See if the user has posted us some information
22
  // If they did, this hidden field will be set to 'Y'
23
+ if( isset($_REQUEST[ $hidden_field_name ]) and $_REQUEST[ $hidden_field_name ] == 'Y' )
24
  {
25
  // Validate This
26
+ if( !empty($_POST[ $prli_exclude_ips ]) and !preg_match( "#^[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*))([ \t]*,[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*)))*$#", $_POST[ $prli_exclude_ips ] ) )
27
+ $errors[] = "Excluded IP Addresses must be a comma separated list of IPv4 or IPv6 addresses or ranges.";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
+ if( !empty($_POST[ $whitelist_ips ]) and !preg_match( "#^[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*))([ \t]*,[ \t]*((\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)|([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*):([0-9a-fA-F]{1,4}|\*)))*$#", $_POST[ $whitelist_ips ] ) )
30
+ $errors[] = "Whitlist IP Addresses must be a comma separated list of IPv4 or IPv6 addresses or ranges.";
31
 
32
+ $errors = apply_filters('prli-validate-options',$errors);
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  // Read their posted value
35
+ $prli_options->prli_exclude_ips = stripslashes($_POST[ $prli_exclude_ips ]);
36
+ $prli_options->whitelist_ips = stripslashes($_POST[ $whitelist_ips ]);
37
+ $prli_options->filter_robots = (int)isset($_POST[ $filter_robots ]);
38
+ $prli_options->extended_tracking = stripslashes($_POST[ $extended_tracking ]);
39
+ $prli_options->link_track_me = (int)isset($_POST[ $link_track_me ]);
40
+ $prli_options->link_prefix = (int)isset($_POST[ $link_prefix ]);
41
+ $prli_options->link_nofollow = (int)isset($_POST[ $link_nofollow ]);
42
+ $prli_options->link_redirect_type = $_POST[ $link_redirect_type ];
43
+
44
+ do_action('prli-store-options');
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  if( count($errors) > 0 )
 
47
  require(PRLI_VIEWS_PATH.'/shared/errors.php');
 
48
  else
49
  {
50
  // Save the posted value in the database
51
+ update_option( 'prli_options', $prli_options );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
 
53
  // Put an options updated message on the screen
 
54
 
55
+ $update_message = __('Options saved.', 'pretty-link');
 
56
  }
57
  }
58
+ else if(isset($_REQUEST['action']) and $_REQUEST['action'] == 'clear_all_clicks')
59
  {
60
  $prli_click->clearAllClicks();
 
61
 
62
+ $update_message = __('Hit Database was Cleared.', 'pretty-link');
63
+ }
64
+ else if(isset($_REQUEST['action']) and $_REQUEST['action'] == 'clear_30day_clicks')
65
+ {
66
+ $num_clicks = $prli_click->clear_clicks_by_age_in_days(30);
67
+
68
+ if($num_clicks)
69
+ $update_message = __("Hits older than 30 days ({$num_clicks} Hits) were deleted" , 'pretty-link');
70
+ else
71
+ $update_message = __("No hits older than 30 days were found, so nothing was deleted" , 'pretty-link');
72
+ }
73
+ else if(isset($_REQUEST['action']) and $_REQUEST['action'] == 'clear_90day_clicks')
74
+ {
75
+ $num_clicks = $prli_click->clear_clicks_by_age_in_days(90);
76
+
77
+ if($num_clicks)
78
+ $update_message = __("Hits older than 90 days ({$num_clicks} Hits) were deleted" , 'pretty-link');
79
+ else
80
+ $update_message = __("No hits older than 90 days were found, so nothing was deleted" , 'pretty-link');
81
+ }
82
+
83
+ if($update_message)
84
+ {
85
+ ?>
86
+ <div class="updated"><p><strong><?php echo $update_message; ?></strong></p></div>
87
  <?php
88
  }
89
 
prli-pro-settings.php CHANGED
@@ -9,69 +9,26 @@ $prlipro_username = 'prlipro_username';
9
  $prlipro_password = 'prlipro_password';
10
  $hidden_field_name = 'prli_update_options';
11
 
12
- $prli_domain = "pretty-link";
13
-
14
  // Read in existing option value from database
15
  $prlipro_username_val = get_option( $prlipro_username );
16
  $prlipro_password_val = get_option( $prlipro_password );
17
 
18
  if($_GET['action'] == 'force-pro-reinstall')
19
  {
20
- $prli_utils->download_and_install_pro($prlipro_username_val, $prlipro_password_val, true);
21
- ?>
22
-
23
- <div class="updated"><p><strong><?php _e('Pretty Link Pro Successfully Reinstalled.', $prli_domain ); ?></strong></p></div>
24
- <?php
 
25
  }
26
  if($_GET['action'] == 'pro-uninstall')
27
  {
28
  $prli_utils->uninstall_pro();
29
  ?>
30
 
31
- <div class="updated"><p><strong><?php _e('Pretty Link Pro Successfully Uninstalled.', $prli_domain ); ?></strong></p></div>
32
- <?php
33
- }
34
- else
35
- {
36
- // See if the user has posted us some information
37
- // If they did, this hidden field will be set to 'Y'
38
- if( $_POST[ $hidden_field_name ] == 'Y' )
39
- {
40
- // Validate This
41
- // This is where the remote username / password will be validated
42
- //if( !empty($_POST[$prettybar_image_url]) and !preg_match('/^http.?:\/\/.*\..*$/', $_POST[$prettybar_image_url] ) )
43
- // $errors[] = "Logo Image URL must be a correctly formatted URL";
44
-
45
- // Read their posted value
46
- $prlipro_username_val = stripslashes($_POST[ $prlipro_username ]);
47
- $prlipro_password_val = stripslashes($_POST[ $prlipro_password ]);
48
-
49
- $user_type = $prli_utils->get_pro_user_type($prlipro_username_val, $prlipro_password_val);
50
- if(empty($user_type))
51
- $errors[] = "Your user account couldn't be validated...";
52
-
53
-
54
- if( count($errors) > 0 )
55
- {
56
- require(PRLI_VIEWS_PATH.'/shared/errors.php');
57
- }
58
- else
59
- {
60
- // TODO: Download & Install Pretty Link Pro if Account is valid and software isn't currently installed
61
- // Save the posted value in the database
62
- update_option( $prlipro_username, $prlipro_username_val );
63
- update_option( $prlipro_password, $prlipro_password_val );
64
-
65
- // Put an options updated message on the screen
66
- $message = $prli_utils->download_and_install_pro($prlipro_username_val, $prlipro_password_val);
67
-
68
- $message = (($message == 'SUCCESS')?'Pretty Link Pro has been installed click here to get started: <a href="?page=pretty-link/pro/prlipro-options.php">Pretty Link Pro Options</a>':$message);
69
- ?>
70
-
71
- <div class="updated"><p><strong><?php _e($message, $prli_domain ); ?></strong></p></div>
72
  <?php
73
- }
74
- }
75
  }
76
 
77
  require_once 'classes/views/prli-options/pro-settings.php';
9
  $prlipro_password = 'prlipro_password';
10
  $hidden_field_name = 'prli_update_options';
11
 
 
 
12
  // Read in existing option value from database
13
  $prlipro_username_val = get_option( $prlipro_username );
14
  $prlipro_password_val = get_option( $prlipro_password );
15
 
16
  if($_GET['action'] == 'force-pro-reinstall')
17
  {
18
+ // Queue the update and auto upgrade
19
+ $prli_update->queue_update(true);
20
+ $reinstall_url = wp_nonce_url('update.php?action=upgrade-plugin&plugin=pretty-link/pretty-link.php', 'upgrade-plugin_pretty-link/pretty-link.php');
21
+ ?>
22
+ <div class="updated"><p><strong><?php printf(__('You\'re almost done!<br/>%1$sFinish your Re-Install of Pretty Link Pro%2$s', 'pretty-link'), '<a href="'.$reinstall_url.'">', '</a>'); ?></strong></p></div>
23
+ <?php
24
  }
25
  if($_GET['action'] == 'pro-uninstall')
26
  {
27
  $prli_utils->uninstall_pro();
28
  ?>
29
 
30
+ <div class="updated"><p><strong><?php _e('Pretty Link Pro Successfully Uninstalled.' , 'pretty-link'); ?></strong></p></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  <?php
 
 
32
  }
33
 
34
  require_once 'classes/views/prli-options/pro-settings.php';
trunk/prli-tools.php → prli-tools.php RENAMED
File without changes
prli-xmlrpc.php CHANGED
@@ -16,16 +16,16 @@ function prli_xmlrpc_api_version($args)
16
  $password = $args[1];
17
 
18
  if ( !get_option( 'enable_xmlrpc' ) )
19
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
20
 
21
  if (!user_pass_ok($username, $password))
22
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
23
 
24
  // make sure user is an admin
25
  $userdata = get_userdatabylogin( $username );
26
  if( !isset($userdata->user_level) or
27
  (int)$userdata->user_level < 8 )
28
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
29
 
30
  return prli_api_version();
31
  }
@@ -53,14 +53,6 @@ function prli_xmlrpc_api_version($args)
53
  * If this value isn't set then the link will not be
54
  * placed in a group.
55
  *
56
- * @param boolean $show_prettybar Optional, If true the prettybar will be shown,
57
- * if not set the default value (from the pretty
58
- * link option page) will be used
59
- *
60
- * @param boolean $ultra_cloak Optional, If true then the link will be ultra-cloaked,
61
- * if not set the default value (from the pretty link
62
- * option page) will be used
63
- *
64
  * @param boolean $link_track_me Optional, If true the link will be tracked,
65
  * if not set the default value (from the pretty
66
  * link option page) will be used
@@ -87,20 +79,20 @@ function prli_xmlrpc_create_pretty_link( $args )
87
  $password = $args[1];
88
 
89
  if ( !get_option( 'enable_xmlrpc' ) )
90
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
91
 
92
  if (!user_pass_ok($username, $password))
93
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
94
 
95
  // make sure user is an admin
96
  $userdata = get_userdatabylogin( $username );
97
  if( !isset($userdata->user_level) or
98
  (int)$userdata->user_level < 8 )
99
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
100
 
101
  // Target URL Required
102
  if(!isset($args[2]))
103
- return new IXR_Error( 401, __( 'You must provide a target URL' ) );
104
 
105
  $target_url = $args[2];
106
 
@@ -108,31 +100,25 @@ function prli_xmlrpc_create_pretty_link( $args )
108
  $name = (isset($args[4])?$args[4]:'');
109
  $description = (isset($args[5])?$args[5]:'');
110
  $group_id = (isset($args[6])?$args[6]:'');
111
- $show_prettybar = (isset($args[7])?$args[7]:'');
112
- $ultra_cloak = (isset($args[8])?$args[8]:'');
113
- $track_me = (isset($args[9])?$args[9]:'');
114
- $nofollow = (isset($args[10])?$args[10]:'');
115
- $redirect_type = (isset($args[11])?$args[11]:'');
116
- $track_as_img = (isset($args[12])?$args[12]:'');
117
- $param_forwarding = (isset($args[13])?$args[13]:'off');
118
- $param_struct = (isset($args[14])?$args[14]:'');
119
 
120
  if( $link = prli_create_pretty_link( $target_url,
121
  $slug,
122
  $name,
123
  $description,
124
  $group_id,
125
- $show_prettybar,
126
- $ultra_cloak,
127
  $track_me,
128
  $nofollow,
129
  $redirect_type,
130
- $track_as_img,
131
  $param_forwarding,
132
  $param_struct ) )
133
  return $link;
134
  else
135
- return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' ) );
136
  }
137
 
138
  function prli_xmlrpc_update_pretty_link( $args )
@@ -141,20 +127,20 @@ function prli_xmlrpc_update_pretty_link( $args )
141
  $password = $args[1];
142
 
143
  if ( !get_option( 'enable_xmlrpc' ) )
144
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
145
 
146
  if (!user_pass_ok($username, $password))
147
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
148
 
149
  // make sure user is an admin
150
  $userdata = get_userdatabylogin( $username );
151
  if( !isset($userdata->user_level) or
152
  (int)$userdata->user_level < 8 )
153
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
154
 
155
  // Target URL Required
156
  if(!isset($args[2]))
157
- return new IXR_Error( 401, __( 'You must provide the id of the link you want to update' ) );
158
 
159
  $id = $args[2];
160
  $target_url = (isset($args[3])?$args[3]:'');
@@ -162,14 +148,11 @@ function prli_xmlrpc_update_pretty_link( $args )
162
  $name = (isset($args[5])?$args[5]:'');
163
  $description = (isset($args[6])?$args[6]:'');
164
  $group_id = (isset($args[7])?$args[7]:'');
165
- $show_prettybar = (isset($args[8])?$args[8]:'');
166
- $ultra_cloak = (isset($args[9])?$args[9]:'');
167
- $track_me = (isset($args[10])?$args[10]:'');
168
- $nofollow = (isset($args[11])?$args[11]:'');
169
- $redirect_type = (isset($args[12])?$args[12]:'');
170
- $track_as_img = (isset($args[13])?$args[13]:'');
171
- $param_forwarding = (isset($args[14])?$args[14]:'');
172
- $param_struct = (isset($args[15])?$args[15]:'');
173
 
174
  if( $link = prli_update_pretty_link( $id,
175
  $target_url,
@@ -177,17 +160,14 @@ function prli_xmlrpc_update_pretty_link( $args )
177
  $name,
178
  $description,
179
  $group_id,
180
- $show_prettybar,
181
- $ultra_cloak,
182
  $track_me,
183
  $nofollow,
184
  $redirect_type,
185
- $track_as_img,
186
  $param_forwarding,
187
  $param_struct ) )
188
  return $link;
189
  else
190
- return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' ) );
191
  }
192
 
193
  /**
@@ -203,21 +183,21 @@ function prli_xmlrpc_get_all_groups($args)
203
  $password = $args[1];
204
 
205
  if ( !get_option( 'enable_xmlrpc' ) )
206
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
207
 
208
  if (!user_pass_ok($username, $password))
209
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
210
 
211
  // make sure user is an admin
212
  $userdata = get_userdatabylogin( $username );
213
  if( !isset($userdata->user_level) or
214
  (int)$userdata->user_level < 8 )
215
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
216
 
217
  if( $groups = prli_get_all_groups())
218
  return $groups;
219
  else
220
- return new IXR_Error( 401, __( 'There was an error fetching the Pretty Link Groups' ) );
221
  }
222
 
223
  /**
@@ -233,21 +213,21 @@ function prli_xmlrpc_get_all_links($args)
233
  $password = $args[1];
234
 
235
  if ( !get_option( 'enable_xmlrpc' ) )
236
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
237
 
238
  if (!user_pass_ok($username, $password))
239
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
240
 
241
  // make sure user is an admin
242
  $userdata = get_userdatabylogin( $username );
243
  if( !isset($userdata->user_level) or
244
  (int)$userdata->user_level < 8 )
245
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
246
 
247
  if( $links = prli_get_all_links())
248
  return $links;
249
  else
250
- return new IXR_Error( 401, __( 'There was an error fetching the Pretty Links' ) );
251
  }
252
 
253
  /**
@@ -262,26 +242,26 @@ function prli_xmlrpc_get_link_from_slug($args)
262
  $password = $args[1];
263
 
264
  if ( !get_option( 'enable_xmlrpc' ) )
265
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
266
 
267
  if (!user_pass_ok($username, $password))
268
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
269
 
270
  // make sure user is an admin
271
  $userdata = get_userdatabylogin( $username );
272
  if( !isset($userdata->user_level) or
273
  (int)$userdata->user_level < 8 )
274
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
275
 
276
  if(!isset($args[2]))
277
- return new IXR_Error( 401, __( 'Sorry, you must provide a slug to lookup' ) );
278
 
279
  $slug = $args[2];
280
 
281
  if( $link = prli_get_link_from_slug($slug) )
282
  return $link;
283
  else
284
- return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' ) );
285
  }
286
 
287
  /**
@@ -296,26 +276,26 @@ function prli_xmlrpc_get_link($args)
296
  $password = $args[1];
297
 
298
  if ( !get_option( 'enable_xmlrpc' ) )
299
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
300
 
301
  if (!user_pass_ok($username, $password))
302
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
303
 
304
  // make sure user is an admin
305
  $userdata = get_userdatabylogin( $username );
306
  if( !isset($userdata->user_level) or
307
  (int)$userdata->user_level < 8 )
308
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
309
 
310
  if(!isset($args[2]))
311
- return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' ) );
312
 
313
  $id = $args[2];
314
 
315
  if( $link = prli_get_link($id) )
316
  return $link;
317
  else
318
- return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' ) );
319
  }
320
 
321
  /**
@@ -329,25 +309,25 @@ function prli_xmlrpc_get_pretty_link_url($args)
329
  $password = $args[1];
330
 
331
  if ( !get_option( 'enable_xmlrpc' ) )
332
- return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' ) );
333
 
334
  if (!user_pass_ok($username, $password))
335
- return new IXR_Error( 401, __( 'Sorry, Login failed' ) );
336
 
337
  // make sure user is an admin
338
  $userdata = get_userdatabylogin( $username );
339
  if( !isset($userdata->user_level) or
340
  (int)$userdata->user_level < 8 )
341
- return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' ) );
342
 
343
  if(!isset($args[2]))
344
- return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' ) );
345
 
346
  $id = $args[2];
347
 
348
  if( $url = prli_get_pretty_link_url($id) )
349
  return $url;
350
  else
351
- return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link URL' ) );
352
  }
353
  ?>
16
  $password = $args[1];
17
 
18
  if ( !get_option( 'enable_xmlrpc' ) )
19
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
20
 
21
  if (!user_pass_ok($username, $password))
22
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
23
 
24
  // make sure user is an admin
25
  $userdata = get_userdatabylogin( $username );
26
  if( !isset($userdata->user_level) or
27
  (int)$userdata->user_level < 8 )
28
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
29
 
30
  return prli_api_version();
31
  }
53
  * If this value isn't set then the link will not be
54
  * placed in a group.
55
  *
 
 
 
 
 
 
 
 
56
  * @param boolean $link_track_me Optional, If true the link will be tracked,
57
  * if not set the default value (from the pretty
58
  * link option page) will be used
79
  $password = $args[1];
80
 
81
  if ( !get_option( 'enable_xmlrpc' ) )
82
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
83
 
84
  if (!user_pass_ok($username, $password))
85
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
86
 
87
  // make sure user is an admin
88
  $userdata = get_userdatabylogin( $username );
89
  if( !isset($userdata->user_level) or
90
  (int)$userdata->user_level < 8 )
91
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
92
 
93
  // Target URL Required
94
  if(!isset($args[2]))
95
+ return new IXR_Error( 401, __( 'You must provide a target URL' , 'pretty-link') );
96
 
97
  $target_url = $args[2];
98
 
100
  $name = (isset($args[4])?$args[4]:'');
101
  $description = (isset($args[5])?$args[5]:'');
102
  $group_id = (isset($args[6])?$args[6]:'');
103
+ $track_me = (isset($args[7])?$args[7]:'');
104
+ $nofollow = (isset($args[8])?$args[8]:'');
105
+ $redirect_type = (isset($args[9])?$args[9]:'');
106
+ $param_forwarding = (isset($args[10])?$args[10]:'off');
107
+ $param_struct = (isset($args[11])?$args[11]:'');
 
 
 
108
 
109
  if( $link = prli_create_pretty_link( $target_url,
110
  $slug,
111
  $name,
112
  $description,
113
  $group_id,
 
 
114
  $track_me,
115
  $nofollow,
116
  $redirect_type,
 
117
  $param_forwarding,
118
  $param_struct ) )
119
  return $link;
120
  else
121
+ return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' , 'pretty-link') );
122
  }
123
 
124
  function prli_xmlrpc_update_pretty_link( $args )
127
  $password = $args[1];
128
 
129
  if ( !get_option( 'enable_xmlrpc' ) )
130
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
131
 
132
  if (!user_pass_ok($username, $password))
133
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
134
 
135
  // make sure user is an admin
136
  $userdata = get_userdatabylogin( $username );
137
  if( !isset($userdata->user_level) or
138
  (int)$userdata->user_level < 8 )
139
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
140
 
141
  // Target URL Required
142
  if(!isset($args[2]))
143
+ return new IXR_Error( 401, __( 'You must provide the id of the link you want to update' , 'pretty-link') );
144
 
145
  $id = $args[2];
146
  $target_url = (isset($args[3])?$args[3]:'');
148
  $name = (isset($args[5])?$args[5]:'');
149
  $description = (isset($args[6])?$args[6]:'');
150
  $group_id = (isset($args[7])?$args[7]:'');
151
+ $track_me = (isset($args[8])?$args[8]:'');
152
+ $nofollow = (isset($args[9])?$args[9]:'');
153
+ $redirect_type = (isset($args[10])?$args[10]:'');
154
+ $param_forwarding = (isset($args[11])?$args[11]:'');
155
+ $param_struct = (isset($args[12])?$args[12]:'');
 
 
 
156
 
157
  if( $link = prli_update_pretty_link( $id,
158
  $target_url,
160
  $name,
161
  $description,
162
  $group_id,
 
 
163
  $track_me,
164
  $nofollow,
165
  $redirect_type,
 
166
  $param_forwarding,
167
  $param_struct ) )
168
  return $link;
169
  else
170
+ return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' , 'pretty-link') );
171
  }
172
 
173
  /**
183
  $password = $args[1];
184
 
185
  if ( !get_option( 'enable_xmlrpc' ) )
186
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
187
 
188
  if (!user_pass_ok($username, $password))
189
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
190
 
191
  // make sure user is an admin
192
  $userdata = get_userdatabylogin( $username );
193
  if( !isset($userdata->user_level) or
194
  (int)$userdata->user_level < 8 )
195
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
196
 
197
  if( $groups = prli_get_all_groups())
198
  return $groups;
199
  else
200
+ return new IXR_Error( 401, __( 'There was an error fetching the Pretty Link Groups' , 'pretty-link') );
201
  }
202
 
203
  /**
213
  $password = $args[1];
214
 
215
  if ( !get_option( 'enable_xmlrpc' ) )
216
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
217
 
218
  if (!user_pass_ok($username, $password))
219
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
220
 
221
  // make sure user is an admin
222
  $userdata = get_userdatabylogin( $username );
223
  if( !isset($userdata->user_level) or
224
  (int)$userdata->user_level < 8 )
225
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
226
 
227
  if( $links = prli_get_all_links())
228
  return $links;
229
  else
230
+ return new IXR_Error( 401, __( 'There was an error fetching the Pretty Links' , 'pretty-link') );
231
  }
232
 
233
  /**
242
  $password = $args[1];
243
 
244
  if ( !get_option( 'enable_xmlrpc' ) )
245
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
246
 
247
  if (!user_pass_ok($username, $password))
248
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
249
 
250
  // make sure user is an admin
251
  $userdata = get_userdatabylogin( $username );
252
  if( !isset($userdata->user_level) or
253
  (int)$userdata->user_level < 8 )
254
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
255
 
256
  if(!isset($args[2]))
257
+ return new IXR_Error( 401, __( 'Sorry, you must provide a slug to lookup' , 'pretty-link') );
258
 
259
  $slug = $args[2];
260
 
261
  if( $link = prli_get_link_from_slug($slug) )
262
  return $link;
263
  else
264
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' , 'pretty-link') );
265
  }
266
 
267
  /**
276
  $password = $args[1];
277
 
278
  if ( !get_option( 'enable_xmlrpc' ) )
279
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
280
 
281
  if (!user_pass_ok($username, $password))
282
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
283
 
284
  // make sure user is an admin
285
  $userdata = get_userdatabylogin( $username );
286
  if( !isset($userdata->user_level) or
287
  (int)$userdata->user_level < 8 )
288
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
289
 
290
  if(!isset($args[2]))
291
+ return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' , 'pretty-link') );
292
 
293
  $id = $args[2];
294
 
295
  if( $link = prli_get_link($id) )
296
  return $link;
297
  else
298
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' , 'pretty-link') );
299
  }
300
 
301
  /**
309
  $password = $args[1];
310
 
311
  if ( !get_option( 'enable_xmlrpc' ) )
312
+ return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
313
 
314
  if (!user_pass_ok($username, $password))
315
+ return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
316
 
317
  // make sure user is an admin
318
  $userdata = get_userdatabylogin( $username );
319
  if( !isset($userdata->user_level) or
320
  (int)$userdata->user_level < 8 )
321
+ return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
322
 
323
  if(!isset($args[2]))
324
+ return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' , 'pretty-link') );
325
 
326
  $id = $args[2];
327
 
328
  if( $url = prli_get_pretty_link_url($id) )
329
  return $url;
330
  else
331
+ return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link URL' , 'pretty-link') );
332
  }
333
  ?>
readme.txt CHANGED
@@ -1,44 +1,44 @@
1
- === Pretty Link ===
2
  Contributors: supercleanse
3
- Donate link: http://www.blairwilliams.com/pretty-link/donate/
4
- Tags: links, link, url, urls, affiliate, affiliates, pretty, marketing, redirect, forward, plugin, twitter, tweet, rewrite, shorturl, hoplink, hop, shortlink, short, shorten, click, clicks, track, tracking, tiny, tinyurl, budurl, shrinking, domain, shrink, mask, masking, slug, slugs, admin, administration, stats, statistics, stat, statistic, cloaking, cloak, email, ajax, javascript, ui, csv, download, page, post, pro, professional, pages, posts, shortcode, seo, automation, keyword, replacement, replacements, widget, widgets, dashboard
5
- Requires at least: 2.7.1
6
- Tested up to: 2.8.3
7
- Stable tag: 1.4.6
8
 
9
  Shrink, track and share any URL on the Internet from your WordPress website. Create short links suitable for Twitter using your own domain name!
10
 
11
  == Description ==
12
 
13
- Shrink, track and share any URL on the Internet from your WordPress website. You can now shorten links using your own domain name (as opposed to using tinyurl.com, bit.ly, or any other link shrinking service)! In addition to creating clean links, Pretty Link tracks each hit on your URL and provides a full, detailed report of where the hit came from, the browser, os and host. Pretty Link is a killer plugin for people who want to mask their affiliate links, track clicks from emails, their links on Twitter to come from their own domain, or generally increase the reach of their website by spreading these links on forums or comments on other blogs.
14
 
15
- = You can now get Pretty Link Pro - it's in Pre-Launch! =
16
 
17
- Pretty Link Pro is an upgrade to Pretty Link that re-sets the bar for Link Management, Automation, Sharing and Tracking! You can learn more about it here:
18
 
19
  http://prettylinkpro.com
20
 
 
 
 
 
21
  = Examples =
22
 
23
  This is a link setup using Pretty Link that redirects to the Pretty Link Homepage where you can find more info about this Plugin:
24
 
25
  http://blairwilliams.com/pl
26
 
27
- Here's a named Pretty Link (I used the slug 'thesis') that redirects to my affiliate link for diythemes.com -- only the best theme you can get for WordPress -- in my humble opinion :) :
28
 
29
- http://blairwilliams.com/thesis
30
 
31
  Here's a link that Pretty Link generated a random slug for (similar to how bit.ly or tinyurl would do):
32
 
33
  http://blairwilliams.com/w7a
34
 
35
- Here's a Pretty Link that uses the configurable Pretty Link PrettyBar:
36
-
37
- http://blairwilliams.com/x0z
38
-
39
  = Features =
40
 
41
- * Gives you the ability to create clean, simple URLs on your website that redirect to any other URL
42
  * Generates random 2-3 character slugs for your URL or allows you to name a custom slug for your URL
43
  * Tracks the Number of Hits per link
44
  * Tracks the Number of Unique Hits per link
@@ -47,8 +47,6 @@ http://blairwilliams.com/x0z
47
  * Download hit details in CSV format
48
  * Intuitive Javascript / AJAX Admin User Interface
49
  * Pass custom parameters to your scripts through pretty link and still have full tracking ability
50
- * Ability to rewrite these custom Parameters before forwarding to Target URL
51
- * Setup Pretty Links as Tracking Pixels and track impressions
52
  * Exclude IP Addresses from Stats
53
  * Enables you to post your Pretty Links to Twitter directly from your WordPress admin
54
  * Enables you to send your Pretty Links via Email directly from your WordPress admin
@@ -57,24 +55,7 @@ http://blairwilliams.com/x0z
57
  * Organize Links into Groups
58
  * Create nofollow/noindex links
59
  * Turn tracking on / off on each link
60
- * Keep users on your site even when being redirected by using the PrettyBar which stays at the top of the page
61
- * Ability to configure and skin the PrettyBar to mirror the look and feel of your site
62
- * Hide the Target URL by loading it in a full-screen frame
63
-
64
- = Pro Features =
65
- You'll get the following additional features when you purchase Pretty Link Pro:
66
-
67
- * Replace keywords throughout your blog with Pretty Links
68
- * Replace URLs throughout your blog with Pretty Links
69
- * Rotate up to 5 URLs from one Pretty Link
70
- * Split Test these URL rotations for a Pretty Link
71
- * Setup Conversion Reports
72
- * Import / Export Pretty Links
73
- * Automatically create Pretty Links for each Post / Page
74
- * Automatically Tweet each Post / Page when it is Published
75
- * Display a Tweet Badge on Pages and / or Posts that contains the number of tweets that this page has received
76
- * Display a Re-Tweet button on every Page and / or Post that incorporates your twitter handle & Pretty Link into the ReTweet
77
- * Lifetime Updates
78
 
79
  == Installation ==
80
 
@@ -82,19 +63,276 @@ You'll get the following additional features when you purchase Pretty Link Pro:
82
 
83
  2. Activate the plugin through the 'Plugins' menu in WordPress
84
 
85
- 3. Make sure you have changed your permalink Common Settings in Settings -> Permalinks away from "Default" to something else. I prefer using custom and then "/%postname%/" for the simplest possible URL slugs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
- = Release Notes =
88
- [Pretty Link Change Log](http://blairwilliams.com/pretty-link/change-log "Pretty link Change Log")
89
 
90
- == Frequently Asked Questions ==
91
- [Pretty Link FAQ](http://blairwilliams.com/pretty-link/pretty-link-faq "Pretty link FAQ")
92
 
93
- = Developers =
94
- [Pretty Link API](http://blairwilliams.com/pretty-link/api/ "Pretty link API")
95
 
 
 
96
 
97
- == Screenshots ==
98
- [Pretty Link Screenshots](http://blairwilliams.com/pretty-link "Pretty link Screenshots")
99
 
100
- [Pretty Link Pro Screenshots](http://prettylinkpro.com "Pretty link Pro Screenshots")
 
1
+ === Pretty Link Lite ===
2
  Contributors: supercleanse
3
+ Donate link: http://prettylinkpro.com
4
+ Tags: links, link, url, urls, affiliate, affiliates, pretty, marketing, redirect, forward, plugin, twitter, tweet, rewrite, shorturl, hoplink, hop, shortlink, short, shorten, click, clicks, track, tracking, tiny, tinyurl, budurl, shrinking, domain, shrink, mask, masking, cloak, cloaking, slug, slugs, admin, administration, stats, statistics, stat, statistic, email, ajax, javascript, ui, csv, download, page, post, pages, posts, shortcode, seo, automation, widget, widgets, dashboard
5
+ Requires at least: 3.0
6
+ Tested up to: 3.2.1
7
+ Stable tag: 1.5.0
8
 
9
  Shrink, track and share any URL on the Internet from your WordPress website. Create short links suitable for Twitter using your own domain name!
10
 
11
  == Description ==
12
 
13
+ Shrink, track and share any URL on the Internet from your WordPress website. Create short links suitable for Twitter using your own domain name!
14
 
15
+ = Upgrade to Pretty Link Pro =
16
 
17
+ Pretty Link Pro is an upgrade to Pretty Link that adds the capability to automate your pretty link creation, cloak links, auto-tweet them, replace keywords thoughout your blog and much more. You can learn more about it here:
18
 
19
  http://prettylinkpro.com
20
 
21
+ = Detail =
22
+
23
+ Pretty Link enables you to shorten links using your own domain name (as opposed to using tinyurl.com, bit.ly, or any other link shrinking service)! In addition to creating clean links, Pretty Link tracks each hit on your URL and provides a full, detailed report of where the hit came from, the browser, os and host. Pretty Link is a killer plugin for people who want to clean up their affiliate links, track clicks from emails, their links on Twitter to come from their own domain, or generally increase the reach of their website by spreading these links on forums or comments on other blogs.
24
+
25
  = Examples =
26
 
27
  This is a link setup using Pretty Link that redirects to the Pretty Link Homepage where you can find more info about this Plugin:
28
 
29
  http://blairwilliams.com/pl
30
 
31
+ Here's a named Pretty Link (I used the slug 'aweber') that does a 307 redirect to my affiliate link for aweber.com:
32
 
33
+ http://blairwilliams.com/aweber
34
 
35
  Here's a link that Pretty Link generated a random slug for (similar to how bit.ly or tinyurl would do):
36
 
37
  http://blairwilliams.com/w7a
38
 
 
 
 
 
39
  = Features =
40
 
41
+ * Gives you the ability to create clean, simple URLs on your website that redirect to any other URL (allows for 301 and 307 redirects only)
42
  * Generates random 2-3 character slugs for your URL or allows you to name a custom slug for your URL
43
  * Tracks the Number of Hits per link
44
  * Tracks the Number of Unique Hits per link
47
  * Download hit details in CSV format
48
  * Intuitive Javascript / AJAX Admin User Interface
49
  * Pass custom parameters to your scripts through pretty link and still have full tracking ability
 
 
50
  * Exclude IP Addresses from Stats
51
  * Enables you to post your Pretty Links to Twitter directly from your WordPress admin
52
  * Enables you to send your Pretty Links via Email directly from your WordPress admin
55
  * Organize Links into Groups
56
  * Create nofollow/noindex links
57
  * Turn tracking on / off on each link
58
+ * Pretty Link Bookmarklet
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
  == Installation ==
61
 
63
 
64
  2. Activate the plugin through the 'Plugins' menu in WordPress
65
 
66
+ 3. Make sure you have changed your permalink Common Settings in Settings -> Permalinks away from "Default" to something else. I prefer using custom and then "/%year%/%month%/%postname%/" for the simplest possible URL slugs with the best performance.
67
+
68
+ == Changelog ==
69
+
70
+ = 1.5.0 =
71
+ * Fixed XSS Vulnerabilities
72
+ * Added more indexes to Pretty Link tables
73
+ * Other minor fixes
74
+
75
+ = 1.4.56 =
76
+ * Updated to be fully compatible with WordPress 3.1 and WordPress MultiSite for all users
77
+ * Fixed link rotation issue (weights not sticking) for Pro Users
78
+ * Fixed auto link creation issue with the group not being set properly for Pro Users
79
+ * Fixed the slug available routine for all users
80
+ * Fixed the delete hits issue with simple click counting for all users
81
+ * Fixed some keyword replacement deletion issues for pro users
82
+
83
+ = 1.4.55 =
84
+ * Fixed the CSV export issues
85
+ * Moved all Pretty Link images to Amazon CloudFront
86
+ * Added TweetDeck & Twitter for iPhone support for Pro Users
87
+
88
+ = 1.4.53 =
89
+ * Added the ability to change the pretty link tracking mode to simple, normal and extended
90
+ * Fixed numerous debug issues
91
+ * Fixed memory_limit issue in pretty link
92
+ * Fixed pretty bar issue affecting pro users
93
+
94
+ = 1.4.52 =
95
+ * Fixed bugs related to the cloaking and pretty bar redirection changes
96
+
97
+ = 1.4.51 =
98
+ * Removed cloaking & pretty bar redirection to comply with wordpress.org policy requirements
99
+
100
+ = 1.4.50 =
101
+ * Updated to use the Twitter oAuth authentication protocol
102
+ * Updated the tweetbadge to use the new Twitter Tweet Button
103
+
104
+ = 1.4.49 =
105
+ * Fixed Keyword Caching Issue for Pro Users
106
+ * Fixed recording duplicate tweet issue for Pro Users
107
+
108
+ = 1.4.48 =
109
+ * Fixed a performance issue in Pretty Link affecting some users when viewing their dashboard
110
+ * Fixed the custom menu auto-tweet issue affecting some Pretty Link Pro users
111
+
112
+ = 1.4.47 =
113
+ * Updated code for WP 3.0
114
+ * Fixed tweetbadge indexing issue
115
+ * Added an underscore to postmeta values
116
+
117
+ = 1.4.46 =
118
+ * Fixed a subdirectory redirection issue
119
+
120
+ = 1.4.45 =
121
+ * Refactored and Options code
122
+ * Pro: Refactored Update code to work with the upcoming WordPress 3.0
123
+ * Pro: Tweet Badge now loads asynchronously in an iFrame to prevent performance issues when updating multiple tweet badges simultaneously.
124
+ * Pro: Enabled limit on number of keyword replacements to occur per page load
125
+ * Pro: Cleaned up options code
126
+ * Pro: Added keyword replacement to comments and feeds and an option to make all links into pretty links automatically.
127
+
128
+ = 1.4.44 =
129
+ * Fixed the phantom postmeta issue
130
+
131
+ = 1.4.43 =
132
+ * Added an enhanced CSV Hit Reports...
133
+ * Added CSV IP History reports... (the history of each visitor by IP address)
134
+ * Added CSV IP Origin reports... (the first time we see each visitor click a Pretty Link)
135
+ * Separating CSV Reports into blocks of 5000 rows each ... this will help with performance in a major way and prevent locking ...
136
+ * Added an option to use a prefixed element from your permalink structure (this is necessary for users who need an index.php as part of their permalink structure)
137
+ * Fixed the pretty link nesting issue so larger slugs are matched first enabling users to create folder structures more efficiently
138
+ * The Link Description is now showing up as the meta description for Pretty Bar'd and Cloaked Pretty Links
139
+ * Altered Tweet badge so it shows up as an image which will help it stay consistent across sites and won't ever mess up the excerpts ever again
140
+ * Cleaned up the front facing CSS for the tweet badge, social buttons and twitter comments
141
+ * Checked the [tweetbadge] shortcode and the_tweetbadge() template tag and verified that they are working properly...
142
+ * Fixed saving posts / pages issue... Now pages are saved & auto tweeted (if the option is set)...
143
+
144
+ = 1.4.42 =
145
+ * Fixed more pretty link path issues to easily handle pre-slug elements in custom permalink structures
146
+ * Optimized php code executed in pretty link tracking
147
+ * Replaced fsockopen with curl for validating urls and grabbing the target url title
148
+
149
+ = 1.4.41 =
150
+ * Fixed pretty link path issue
151
+
152
+ = 1.4.40 =
153
+ * Added support for Pre-Slug URL elements -- this will be helpful for those users who don't have rewrite working fully
154
+ * Additional, unnecessary postmeta fields not being created anymore for pro users
155
+ * Fixed auto pretty link creation and auto twitter posting on scheduled and xml-rpc post for pro users
156
+ * Fixed twitter badge count issue -- it was reporting incorrect tweet results for some pro users on some posts
157
+ * Added Option to show tweet badge and/or social buttons in the RSS Feed
158
+
159
+ = 1.4.39 =
160
+ * Fixed browsecap integration for users on PHP 5.3 or higher
161
+ * Added new browsecap file to include android based phones in hit results
162
+ * Fixed form submission issues affecting a small number of users
163
+ * Fixed a pro update bug affecting some users
164
+ * Fixed a bug affecting pro users more tag and keyword replacement
165
+
166
+ = 1.4.38 =
167
+ * Fixed some update and validation bugs affecting a small number of users
168
+
169
+ = 1.4.36 =
170
+ * Fixed pro export issue
171
+ * Fixed html within shortcodes in keyword replacement issues for pro users
172
+ * Fixed XHTML validation for pro users using keyword replacement
173
+ * Added an email button to the social bar for pro users
174
+ * Fixed update code for pro users to not display false update message
175
+ * Fixed url utilities port configuration for all users
176
+ * Fixed url validation issue for all users
177
+
178
+ = 1.4.35 =
179
+ * Made significant changes to the Pretty Link Pro update routines
180
+ * Fixed several bugs with remote url reading
181
+
182
+ = 1.4.34 =
183
+ * Fixed a redirection issue for all users
184
+
185
+ = 1.4.33 =
186
+ * Added more support options for all users
187
+ * Updated install
188
+ * Added exclude tweet badge/comments & social media buttons for specific pages & posts to the page/post edit screen for pro users
189
+
190
+ = 1.4.32 =
191
+ * Optimized CSV download of hits
192
+ * Optimized more SQL calls
193
+ * Fixed keyword replacement bug on password protected posts for Pro Users
194
+ * Fixed group issue on options page for Pro Users
195
+
196
+ = 1.4.31 =
197
+ * Fixed a bug in pretty link, pixel & cloaking redirection.
198
+
199
+ = 1.4.30 =
200
+ * Altered the where Pretty Links are redirected to put less burden on normal page loads
201
+ * Optimized Group & Report SQL calls to be significantly faster
202
+ * Added a shortcode & template tag for pro users to display their pretty links on pages & posts (the shortcode is [post-pretty-link] and the template tag is the_prettylink())
203
+
204
+ = 1.4.29 =
205
+ * Added some more support options
206
+ * fixed some minor bugs in keyword replacement and pro options.
207
+
208
+ = 1.4.28 =
209
+ * Fixed a bug with link creation from the bookmarklet, post publishing and public link creation that was introduced in the last release
210
+
211
+ = 1.4.27 =
212
+ * Simplified SQL Calls and reduced the number of them that it takes to load a page
213
+ * Modified tweets to be counted for each link -- even ones not associated with a post -- got rid of the url_alias feature
214
+ * Streamlined database calls & fixed a bug in the api
215
+ * Added the ability to tweet to multiple accounts...
216
+ * Added tweetmeme count checking and added additional twitter account validation
217
+
218
+ = 1.4.26 =
219
+ * Fixed the html entity display issue for target urls
220
+ * Reduced package size of Pretty Link for more reliable installation
221
+ * Added Customizable Bookmarklet for Pro Users
222
+
223
+ = 1.4.25 =
224
+ * Fixed some bugs in the install
225
+ * Added nofollows to links in the social bar & re-tweet badge
226
+
227
+ = 1.4.23/24 =
228
+ * Fixed an installation issue for PHP4 users
229
+
230
+ = 1.4.22 =
231
+ * Added known robot and unidentified browser filtering to Pretty Link stats
232
+ * Added IP Address range definition to the Excluded IP address field
233
+ * Fixed html formatting issue on the bookmarklet success page
234
+ * Added the ability for Pro users to remove or alter the attribution link on the Pretty Bar
235
+ * Added new shortcodes for Pro users to display the title, target url and social networking buttons for a newly created public pretty link
236
+ * Enhanced the default success page for public link creation for pro users
237
+ * Fixed the redirect-type not being set bug for pro users allowing public link creation
238
+ * Fixed another php short-code bug affecting Pro users (thanks to Clay Loveless of KillerSoft for helping me with that one)
239
+
240
+ = 1.4.21 =
241
+ * Fixed UTF-8 issues
242
+ * Enabled UTF-8 Pretty Link slugs
243
+ * Enabled UTF-8 tweets for Pro users
244
+ * Fixed several issues for users hosted on Windows
245
+ * Added padding configuration to space the buttons on the social bar for Pro users
246
+ * Fixed the html validation issues with the tweet badge and social buttons bar for Pro users
247
+
248
+ = 1.4.20 =
249
+ * Added IPv6 support for IP Address Exclusions
250
+ * Added Twitter Comments post widget for Pro users
251
+ * Added RSS feed support for the tweet badge for Pro users
252
+
253
+ = 1.4.19 =
254
+ * Fixed https image loading / path issue
255
+ * Fixed bookmarklet javascript encoding issue
256
+ * Fixed import / export issue for pro users
257
+ * Added Hyves.nl and Sphinn to the social buttons bar
258
+ * Added more placement options for the social buttons bar
259
+ * Added a social buttons bar shortcode & template tag
260
+
261
+ = 1.4.18 =
262
+ * Added the Social Network Button Bar for Pro Users
263
+
264
+ = 1.4.17 =
265
+ * Fixed the php strict tags issue affecting some users
266
+ * Fixed the click record issue affecting some IIS users
267
+ * Added DOCTYPE line to Pretty Bar HTML
268
+ * Elimitated Pro upgrade messages for Pro users
269
+
270
+ = 1.4.16 =
271
+ * Fixed PrliUrlUtils not found error affecting some users
272
+ * Added instructions for installing the Pretty Link bookmarklet on the iPhone
273
+ * Added a URL Alias feature to Pro to allow tweet counts to be aggregated and hence, more accurate
274
+
275
+ = 1.4.15 =
276
+ * Fixed the nested slug cookie issue.
277
+
278
+ = 1.4.14 =
279
+ * Fixed bookmarklet/fopen issue affecting some users
280
+ * Fixed XML-RPC auto-tweeting of Posts
281
+ * Fixed Scheduled auto-tweeting & link creation of Posts issue
282
+ * Fixed bulk auto link creation issue
283
+ * Added slug choice for your post
284
+ * Added a twitter message formatting textarea on the post edit screen
285
+
286
+ = 1.4.13 =
287
+ * Fixed the option reset issue
288
+
289
+ = 1.4.12 =
290
+ * Added title detection
291
+ * Added enhancements to the Pretty Link Bookmarklet
292
+ * Added better support for IIS by redefining the fnmatch function if it isn't present
293
+ * Changed the keyword replacement algorithm in Pro to replace links throughout the post when thresholds are set (instead of only linking to the top x keywords)
294
+ * Fixed some issues surrounding keyword content caching in Pro
295
+
296
+ == Upgrade Notice ==
297
+
298
+ = 1.5.0 =
299
+ * All users should upgrade to this release since it fixes several security vulnerabilities.
300
+
301
+ = 1.4.56 =
302
+ * This release fixes several issues including full WordPress 3.1 and MultiSite compatibility. So everyone should upgrade to this release.
303
+
304
+ = 1.4.55 =
305
+ * Everyone should upgrade -- this fixes the CSV export issue with hits.
306
+
307
+ = 1.4.53 =
308
+ * Everyone should upgrade to this version. It fixes numerous bugs for all users -- including a memory_limit issue and some click tracking algorithm issues. In addition to the upgrade, users who have had performance issues with click tracking should also switch to simple click count tracking in "Pretty Link" -> "Options" -> "Reporting Options" ...
309
+
310
+ = 1.4.52 =
311
+ * Fixed bugs related to the cloaking and pretty bar redirection changes. This affected all Pretty Link users -- everyone should upgrade to this release.
312
+
313
+ = 1.4.51 =
314
+ * Removed cloaking & pretty bar redirection to comply with wordpress.org policy requirements
315
+
316
+ = 1.4.50 =
317
+ * If you are a pro user and use the twitter related features of Pretty Link Pro you need to update immediately -- non-pro users will be pretty much unchanged by this release
318
+
319
+ = 1.4.49 =
320
+ * Fixed some important bugs for pro users -- non-pro users will be pretty much unchanged by this release
321
 
322
+ = 1.4.48 =
323
+ Fixed some dashboard performance issues for Pretty Link users and a custom menu tweeting fix that was affecting some pro users.
324
 
325
+ = 1.4.47 =
326
+ Upgrade to make Pretty Link compatible with WordPress 3.0
327
 
328
+ = 1.4.46 =
329
+ If your wordpress website is in a subdirectory and you've had issues with your pretty links since the last release then this upgrade will fix it.
330
 
331
+ = 1.4.45 =
332
+ Bug fixes have been made in Pretty Link and several enhancements have been made it Pretty Link Pro.
333
 
334
+ = 1.4.44 =
335
+ All users -- especially pro users should upgrade to this new version -- it fixes the phantom postmeta issue
336
 
337
+ = 1.4.43 =
338
+ All users should upgrade to this new version -- several functional and performance related issues have been fixed for Pretty Link and Pretty Link Pro users.
trunk/classes/models/PrliClick.php DELETED
@@ -1,314 +0,0 @@
1
- <?php
2
- class PrliClick
3
- {
4
- var $table_name;
5
-
6
- function PrliClick()
7
- {
8
- global $wpdb;
9
- $this->table_name = "{$wpdb->prefix}prli_clicks";
10
- }
11
-
12
- function get_exclude_where_clause( $where = '', $abbr = 'cl')
13
- {
14
- global $prli_options;
15
- $exclude_list = trim($prli_options->prli_exclude_ips);
16
- $filter_bots = (int)$prli_options->filter_robots;
17
- $return_stmt = '';
18
-
19
- if(empty($exclude_list) and $filter_bots == 0)
20
- return $return_stmt;
21
-
22
- $return_stmt .= (empty($where)?'':' AND');
23
-
24
- if(!empty($exclude_list))
25
- {
26
- $exclude_ips = explode(',',$exclude_list);
27
- for($i = 0; $i < count($exclude_ips); $i++)
28
- {
29
- $exclude_ip = trim(preg_replace('#\*#','%',$exclude_ips[$i]));
30
-
31
- if($i > 0)
32
- $return_stmt .= ' AND';
33
-
34
- $return_stmt .= " {$abbr}.ip NOT LIKE '{$exclude_ip}'";
35
- }
36
- }
37
-
38
- if($filter_bots != 0)
39
- {
40
- $return_stmt .= (empty($exclude_list)?' (':' AND (');
41
- $whitelist = trim($prli_options->whitelist_ips);
42
-
43
- if(!empty($whitelist))
44
- {
45
- $whitelist_ips = explode(',',$whitelist);
46
- for($i = 0; $i <= count($whitelist_ips); $i++)
47
- {
48
- if($i == count($whitelist_ips))
49
- {
50
- $return_stmt .= ' OR';
51
- break;
52
- }
53
-
54
- $whitelist_ip = trim(preg_replace('#\*#','%',$whitelist_ips[$i]));
55
-
56
- if($i > 0)
57
- $return_stmt .= ' OR';
58
-
59
- $return_stmt .= " {$abbr}.ip LIKE '{$whitelist_ip}'";
60
- }
61
-
62
- }
63
-
64
- $return_stmt .= " {$abbr}.robot=0 )";
65
- }
66
-
67
- return $return_stmt;
68
- }
69
-
70
- function getOne( $id )
71
- {
72
- global $wpdb, $prli_link, $prli_utils;
73
- $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id AND id=' . $id . $prli_utils->prepend_and_or_where(' AND',$this->get_exclude_where_clause());
74
-
75
- return $wpdb->get_row($query);
76
- }
77
-
78
- // SELECT cl.*,li.name as link_name FROM wp_prli_clicks cl, wp_prli_links li WHERE li.id = cl.link_id ORDER BY created_at DESC
79
- function getAll($where = '', $order = '', $include_stats = false, $limit = '')
80
- {
81
- global $wpdb, $prli_link, $prli_utils;
82
- $where .= $this->get_exclude_where_clause( $where );
83
- $where = $prli_utils->prepend_and_or_where(' AND', $where);
84
- $limit = (empty($limit)?'':" LIMIT {$limit}");
85
- if($include_stats)
86
- $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . $limit;
87
- else
88
- $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . $limit;
89
-
90
- return $wpdb->get_results($query);
91
- }
92
-
93
- // Delete all of the clicks from the database.
94
- function clearAllClicks()
95
- {
96
- global $wpdb, $prli_link_meta;
97
-
98
- $query = $wpdb->prepare("DELETE FROM {$prli_link_meta->table_name} WHERE meta_key=%s OR meta_key=%s", 'static-clicks', 'static-uniques');
99
- $wpdb->query($query);
100
-
101
- $query = "TRUNCATE TABLE {$this->table_name}";
102
- return $wpdb->query($query);
103
- }
104
-
105
- /* This will delete all the clicks in the database by their age measured in days. */
106
- function clear_clicks_by_age_in_days($days)
107
- {
108
- global $wpdb;
109
-
110
- $days_in_seconds = $days * 24 * 60 * 60;
111
- $oldest_time = time() - $days_in_seconds;
112
-
113
- $num_records = $this->getRecordCount( " UNIX_TIMESTAMP(created_at) < {$oldest_time}" );
114
-
115
- if($num_records)
116
- {
117
- $query = "DELETE FROM {$this->table_name} WHERE UNIX_TIMESTAMP(created_at) < %d";
118
- $query = $wpdb->prepare( $query, $oldest_time );
119
-
120
- $wpdb->query($query);
121
- }
122
-
123
- return $num_records;
124
- }
125
-
126
- function get_distinct_ip_count($where='')
127
- {
128
- global $wpdb, $prli_link, $prli_utils;
129
- $where .= $this->get_exclude_where_clause( $where );
130
- $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
131
- $query = 'SELECT COUNT(DISTINCT ip) FROM ' . $this->table_name . ' cl'. $where;
132
- return $wpdb->get_var($query);
133
- }
134
-
135
- // Pagination Methods
136
- function getRecordCount($where='')
137
- {
138
- global $wpdb, $prli_link, $prli_utils;
139
- $where .= $this->get_exclude_where_clause( $where );
140
- $where = $prli_utils->prepend_and_or_where(' WHERE', $where);
141
- $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' cl'. $where;
142
-
143
- return $wpdb->get_var($query);
144
- }
145
-
146
- function getPageCount($p_size, $where='')
147
- {
148
- return ceil((int)$this->getRecordCount($where) / (int)$p_size);
149
- }
150
-
151
- function getPage($current_p,$p_size, $where = '', $order = '',$include_stats=false)
152
- {
153
- global $wpdb, $prli_link, $prli_utils;
154
- $end_index = $current_p * $p_size;
155
- $start_index = $end_index - $p_size;
156
- $where .= $this->get_exclude_where_clause( $where );
157
- $where = $prli_utils->prepend_and_or_where(' AND', $where);
158
- if($include_stats)
159
- $query = 'SELECT cl.*, (SELECT count(*) FROM '. $this->table_name .' cl2 WHERE cl2.ip = cl.ip) as ip_count, (SELECT count(*) FROM '. $this->table_name .' cl3 WHERE cl3.vuid = cl.vuid) as vuid_count, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
160
- else
161
- $query = 'SELECT cl.*, li.name as link_name FROM ' . $this->table_name . ' cl, ' . $prli_link->table_name . ' li WHERE li.id = cl.link_id' . $where . $order . ' LIMIT ' . $start_index . ',' . $p_size . ';';
162
- $results = $wpdb->get_results($query);
163
- return $results;
164
- }
165
-
166
- function generateUniqueVisitorId($num_chars = 6)
167
- {
168
- global $wpdb, $prli_utils;
169
-
170
- // We're doing a base 36 hash which is why we're always doing everything by 36
171
- $max_vuid_value = pow(36,$num_chars);
172
- $min_vuid_value = 37;
173
- $vuid = base_convert( mt_rand($min_vuid_value,$max_vuid_value), 10, 36 );
174
-
175
- $query = "SELECT DISTINCT vuid FROM ".$this->table_name;
176
- $vuids = $wpdb->get_col($query,0);
177
-
178
- // It is highly unlikely that we'll ever see 2 identical random vuids
179
- // but just in case, here's some code to prevent collisions
180
- while( in_array($vuid,$vuids) )
181
- $vuid = base_convert( mt_rand($min_vuid_value,$max_vuid_value), 10, 36 );
182
-
183
- return $vuid;
184
- }
185
-
186
- function get_counts_by_days($start_timestamp, $end_timestamp, $link_id = "all", $type = "all", $group = '')
187
- {
188
- global $wpdb, $prli_link;
189
-
190
- $search_where = '';
191
- $query = "SELECT DATE(cl.created_at) as cldate,COUNT(*) as clcount FROM ".$this->table_name." cl WHERE cl.created_at BETWEEN '".date("Y-n-j",$start_timestamp)." 00:00:00' AND '".date("Y-n-j",$end_timestamp)." 23:59:59'".$search_where.$this->get_exclude_where_clause( ' AND' );
192
-
193
- if($link_id != "all")
194
- $query .= " AND link_id=$link_id";
195
-
196
- if(!empty($group))
197
- $query .= " AND link_id IN (SELECT id FROM " . $prli_link->table_name . " WHERE group_id=$group)";
198
-
199
- if($type == "unique")
200
- $query .= " AND first_click=1";
201
-
202
- $query .= ' GROUP BY DATE(cl.created_at)';
203
-
204
- $clicks_array = $wpdb->get_results($query);
205
-
206
- $temp_array = array();
207
- $counts_array = array();
208
- $dates_array = array();
209
-
210
- // Refactor Array for use later on
211
- foreach($clicks_array as $c)
212
- $temp_array[$c->cldate] = $c->clcount;
213
-
214
- // Get the dates array
215
- for($c = $start_timestamp; $c <= $end_timestamp; $c += 60*60*24)
216
- $dates_array[] = date("Y-m-d",$c);
217
-
218
- // Make sure counts array is in order and includes zero click days
219
- foreach($dates_array as $date_str)
220
- {
221
- if(isset($temp_array[$date_str]))
222
- $counts_array[$date_str] = $temp_array[$date_str];
223
- else
224
- $counts_array[$date_str] = 0;
225
- }
226
-
227
- return $counts_array;
228
- }
229
-
230
-
231
- function setupClickLineGraph($start_timestamp,$end_timestamp, $link_id = "all", $type = "all", $group = '')
232
- {
233
- global $wpdb, $prli_utils, $prli_link, $prli_group;
234
-
235
- $dates_array = $this->get_counts_by_days($start_timestamp,$end_timestamp,$link_id,$type,$group);
236
-
237
- $top_click_count = $prli_utils->getTopValue(array_values($dates_array));
238
-
239
- if(!empty($group))
240
- $link_slug = "group: '" . $wpdb->get_var("SELECT name FROM ".$prli_group->table_name." WHERE id=$group") . "'";
241
- else if($link_id == "all")
242
- $link_slug = "all links";
243
- else
244
- $link_slug = "'/".$wpdb->get_var("SELECT slug FROM ".$prli_link->table_name." WHERE id=$link_id") . "'";
245
-
246
- if($type == "all")
247
- $type_string = "All hits";
248
- else
249
- $type_string = "Unique hits";
250
-
251
- $json_array = array(
252
- "elements" => array( array(
253
- "type" => "line",
254
- "values" => array_values($dates_array),
255
- "dot-style" => array(
256
- "type" => "dot",
257
- "dot-size" => 4,
258
- "colour" => "#ffc94e",
259
- "halo-size" => 1,
260
- "tip" => "#val# Hits<br>#x_label#"
261
- ),
262
- "width" => 2
263
- ) ),
264
- "title" => array(
265
- "text" => 'Pretty Link: '.$type_string.' on '.$link_slug. ' between ' . date("Y-n-j",$start_timestamp) . ' and ' . date("Y-n-j",$end_timestamp),
266
- "style" => "font-size: 16px; font-weight: bold; color: #3030d0; text-align: center; padding-bottom: 5px;"
267
- ),
268
- "bg_colour" => "-1",
269
- "y_axis" => array(
270
- "min" => 0,
271
- "max" => $top_click_count,
272
- "steps" => (int)(($top_click_count>=10)?$top_click_count/10:1),
273
- "colour" => "#A2ACBA"
274
- ),
275
- "x_axis" => array(
276
- "colour" => "#A2ACBA",
277
- "grid-colour" => "#ffefa7",
278
- "offset" => false,
279
- "steps" => 4,
280
- "labels" => array(
281
- "steps" => 2,
282
- "rotate" => 25,
283
- "colour" => "#000000",
284
- "labels" => array_keys($dates_array)
285
- )
286
- )
287
- );
288
-
289
- return $prli_utils->prli_json_encode($json_array);
290
- }
291
-
292
-
293
- // Set defaults and grab get or post of each possible param
294
- function get_params_array()
295
- {
296
- $values = array(
297
- 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
298
- 'l' => (isset($_GET['l'])?$_GET['l']:(isset($_POST['l'])?$_POST['l']:'all')),
299
- 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
300
- 'ip' => (isset($_GET['ip'])?$_GET['ip']:(isset($_POST['ip'])?$_POST['ip']:'')),
301
- 'vuid' => (isset($_GET['vuid'])?$_GET['vuid']:(isset($_POST['vuid'])?$_POST['vuid']:'')),
302
- 'sdate' => (isset($_GET['sdate'])?$_GET['sdate']:(isset($_POST['sdate'])?$_POST['sdate']:'')),
303
- 'edate' => (isset($_GET['edate'])?$_GET['edate']:(isset($_POST['edate'])?$_POST['edate']:'')),
304
- 'type' => (isset($_GET['type'])?$_GET['type']:(isset($_POST['type'])?$_POST['type']:'all')),
305
- 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
306
- 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
307
- 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
308
- );
309
-
310
- return $values;
311
- }
312
-
313
- }
314
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/models/PrliGroup.php DELETED
@@ -1,124 +0,0 @@
1
- <?php
2
- class PrliGroup
3
- {
4
- var $table_name;
5
-
6
- function PrliGroup()
7
- {
8
- global $wpdb;
9
- $this->table_name = "{$wpdb->prefix}prli_groups";
10
- }
11
-
12
- function create( $values )
13
- {
14
- global $wpdb, $wp_rewrite;
15
-
16
- $query = 'INSERT INTO ' . $this->table_name .
17
- ' (name,description,created_at) VALUES (\'' .
18
- $values['name'] . '\',\'' .
19
- $values['description'] . '\',' .
20
- 'NOW())';
21
- $query_results = $wpdb->query($query);
22
- return $wpdb->insert_id;
23
- }
24
-
25
- function update( $id, $values )
26
- {
27
- global $wpdb, $wp_rewrite;
28
-
29
- $query = 'UPDATE ' . $this->table_name .
30
- ' SET name=\'' . $values['name'] . '\', ' .
31
- ' description=\'' . $values['description'] . '\' ' .
32
- ' WHERE id='.$id;
33
- $query_results = $wpdb->query($query);
34
- return $query_results;
35
- }
36
-
37
- function destroy( $id )
38
- {
39
- require_once(PRLI_MODELS_PATH.'/models.inc.php');
40
- global $wpdb, $prli_link, $wp_rewrite;
41
-
42
- // Disconnect the links from this group
43
- $query = 'UPDATE ' . $prli_link->table_name .
44
- ' SET group_id = NULL ' .
45
- ' WHERE group_id='.$id;
46
- $query_results = $wpdb->query($query);
47
-
48
- $destroy = 'DELETE FROM ' . $this->table_name . ' WHERE id=' . $id;
49
- return $wpdb->query($destroy);
50
- }
51
-
52
- function getOne( $id, $include_stats = false )
53
- {
54
- global $wpdb, $prli_link, $prli_click;
55
-
56
- if($include_stats)
57
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr WHERE id=' . $id;
58
- else
59
- $query = 'SELECT gr.* FROM ' . $this->table_name . ' gr WHERE id=' . $id;
60
- return $wpdb->get_row($query);
61
- }
62
-
63
- function getAll( $where = '', $order_by = '', $return_type = OBJECT, $include_stats = false )
64
- {
65
- global $wpdb, $prli_utils, $prli_link, $prli_click;
66
-
67
- if($include_stats)
68
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
69
- else
70
- $query = 'SELECT gr.* FROM ' . $this->table_name . " gr" . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
71
- return $wpdb->get_results($query, $return_type);
72
- }
73
-
74
- // Pagination Methods
75
- function getRecordCount($where="")
76
- {
77
- global $wpdb, $prli_utils;
78
- $query = 'SELECT COUNT(*) FROM ' . $this->table_name . $prli_utils->prepend_and_or_where(' WHERE', $where);
79
- return $wpdb->get_var($query);
80
- }
81
-
82
- function getPageCount($p_size, $where="")
83
- {
84
- return ceil((int)$this->getRecordCount($where) / (int)$p_size);
85
- }
86
-
87
- function getPage($current_p,$p_size, $where = "", $order_by = '')
88
- {
89
- global $wpdb, $prli_link, $prli_utils, $prli_click;
90
- $end_index = $current_p * $p_size;
91
- $start_index = $end_index - $p_size;
92
- $query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by .' LIMIT ' . $start_index . ',' . $p_size;
93
- $results = $wpdb->get_results($query);
94
- return $results;
95
- }
96
-
97
- // Set defaults and grab get or post of each possible param
98
- function get_params_array()
99
- {
100
- $values = array(
101
- 'action' => (isset($_GET['action'])?$_GET['action']:(isset($_POST['action'])?$_POST['action']:'list')),
102
- 'id' => (isset($_GET['id'])?$_GET['id']:(isset($_POST['id'])?$_POST['id']:'')),
103
- 'paged' => (isset($_GET['paged'])?$_GET['paged']:(isset($_POST['paged'])?$_POST['paged']:1)),
104
- 'group' => (isset($_GET['group'])?$_GET['group']:(isset($_POST['group'])?$_POST['group']:'')),
105
- 'search' => (isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:'')),
106
- 'sort' => (isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:'')),
107
- 'sdir' => (isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:''))
108
- );
109
-
110
- return $values;
111
- }
112
-
113
- function validate( $values )
114
- {
115
- global $wpdb, $prli_utils;
116
-
117
- $errors = array();
118
- if( empty($values['name']) )
119
- $errors[] = "Group must have a name.";
120
-
121
- return $errors;
122
- }
123
- }
124
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/models/PrliLink.php DELETED
@@ -1,473 +0,0 @@
1
- <?php
2
- class PrliLink
3
- {
4
- var $table_name;
5
-
6
- function PrliLink()
7
- {
8
- global $wpdb;
9
- $this->table_name = "{$wpdb->prefix}prli_links";
10
- }
11
-
12
- function create( $values )
13
- {
14
- global $wpdb, $prli_url_utils;
15
-
16
- if($values['redirect_type'] == 'pixel')
17
- $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
18
- else
19
- $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
20
-
21
- $query_str = "INSERT INTO {$this->table_name} " .
22
- '(url,'.
23
- 'slug,'.
24
- 'name,'.
25
- 'param_forwarding,'.
26
- 'param_struct,'.
27
- 'redirect_type,'.
28
- 'description,'.
29
- 'track_me,'.
30
- 'nofollow,'.
31
- 'group_id,'.
32
- 'created_at) ' .
33
- 'VALUES (%s,%s,%s,%s,%s,%s,%s,%d,%d,%d,NOW())';
34
-
35
- $query = $wpdb->prepare( $query_str,
36
- $values['url'],
37
- $values['slug'],
38
- $values['name'],
39
- $values['param_forwarding'],
40
- $values['param_struct'],
41
- $values['redirect_type'],
42
- $values['description'],
43
- (int)isset($values['track_me']),
44
- (int)isset($values['nofollow']),
45
- (isset($values['group_id'])?(int)$values['group_id']:'NULL') );
46
- $query_results = $wpdb->query($query);
47
-
48
- if($query_results)
49
- return $wpdb->insert_id;
50
- else
51
- return false;
52
- }
53
-
54
- function update( $id, $values )
55
- {
56
- global $wpdb, $prli_url_utils;
57
-
58
- if($values['redirect_type'] == 'pixel')
59
- $values['name'] = (!empty($values['name'])?$values['name']:$values['slug']);
60
- else
61
- $values['name'] = (!empty($values['name'])?$values['name']:$prli_url_utils->get_title($values['url'],$values['slug']));
62
-
63
- $query_str = "UPDATE {$this->table_name} " .
64
- 'SET url=%s, ' .
65
- 'slug=%s, ' .
66
- 'name=%s, ' .
67
- 'param_forwarding=%s, ' .
68
- 'param_struct=%s, ' .
69
- 'redirect_type=%s, ' .
70
- 'description=%s, ' .
71
- 'track_me=%d, ' .
72
- 'nofollow=%d, ' .
73
- 'group_id=%d ' .
74
- ' WHERE id=%d';
75
-
76
- $query = $wpdb->prepare( $query_str,
77
- isset($values['url'])?$values['url']:'',
78
- isset($values['slug'])?$values['slug']:'',
79
- isset($values['name'])?$values['name']:'',
80
- isset($values['param_forwarding'])?$values['param_forwarding']:'',
81
- isset($values['param_struct'])?$values['param_struct']:'',
82
- isset($values['redirect_type'])?$values['redirect_type']:'',
83
- isset($values['description'])?$values['description']:'',
84
- (int)isset($values['track_me']),
85
- (int)isset($values['nofollow']),
86
- (isset($values['group_id'])?(int)$values['group_id']:'NULL'),
87
- $id );
88
-
89
- $query_results = $wpdb->query($query);
90
- return $query_results;
91
- }
92
-
93
- function update_group( $id, $value, $group_id )
94
- {
95
- global $wpdb;
96
- $query = 'UPDATE ' . $this->table_name .
97
- ' SET group_id=' . (isset($value)?$group_id:'NULL') .
98
- ' WHERE id='.$id;
99
- $query_results = $wpdb->query($query);
100
- return $query_results;
101
- }
102
-
103
- function destroy( $id )
104
- {
105
- require_once(PRLI_MODELS_PATH.'/models.inc.php');
106
- global $wpdb, $prli_click, $prli_link_meta;
107
-
108
- do_action('prli_delete_link', $id);
109
- $metas = $wpdb->prepare("DELETE FROM {$prli_link_meta->table_name} WHERE link_id=%d",$id);
110
- $reset = $wpdb->prepare("DELETE FROM {$prli_click->table_name} WHERE link_id=%d",$id);
111
- $destroy = $wpdb->prepare("DELETE FROM {$this->table_name} WHERE id=%d",$id);
112
-
113
- $wpdb->query($metas);
114
- $wpdb->query($reset);
115
- return $wpdb->query($destroy);
116
- }
117
-
118
- function reset( $id )
119
- {
120
- require_once(PRLI_MODELS_PATH.'/models.inc.php');
121
- global $wpdb, $prli_click, $prli_link_meta;
122
-
123
- $prli_link_meta->delete_link_meta($id, 'static-clicks');
124
- $prli_link_meta->delete_link_meta($id, 'static-uniques');
125
-
126
- $reset = $wpdb->prepare("DELETE FROM {$prli_click->table_name} WHERE link_id=%d", $id);
127
- return $wpdb->query($reset);
128
- }
129
-
130
- function getOneFromSlug( $slug, $return_type = OBJECT, $include_stats = false )
131
- {
132
- global $wpdb, $prli_click, $prli_options, $prli_link_meta;
133
- if($include_stats)
134
- {
135
- $query = 'SELECT li.*, ';
136
- if($prli_options->extended_tracking != 'count')
137
- {
138
- $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
139
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
140
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
141
- 'WHERE cl.link_id = li.id ' .
142
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ';
143
- }
144
- else
145
- {
146
- $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
147
- 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
148
- '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
149
- 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques ';
150
- }
151
- $query .= "FROM {$this->table_name} li " .
152
- 'WHERE slug=%s';
153
- }
154
- else
155
- $query = "SELECT * FROM {$this->table_name} WHERE slug=%s";
156
-
157
- $query = $wpdb->prepare($query, $slug);
158
- $link = $wpdb->get_row($query, $return_type);
159
-
160
- if( $include_stats and $link and $prli_options->extended_tracking == 'count' )
161
- {
162
- $link->clicks = $prli_link_meta->get_link_meta($link->id,'static-clicks',true);
163
- $link->uniques = $prli_link_meta->get_link_meta($link->id,'static-uniques',true);
164
- }
165
-
166
- return $link;
167
- }
168
-
169
- function getOne( $id, $return_type = OBJECT, $include_stats = false )
170
- {
171
- global $wpdb, $prli_click, $prli_link_meta, $prli_options;
172
- if( !isset($id) or empty($id) )
173
- return false;
174
-
175
- if($include_stats)
176
- {
177
- $query = 'SELECT li.*, ';
178
- if($prli_options->extended_tracking != 'count')
179
- {
180
- $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
181
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
182
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
183
- 'WHERE cl.link_id = li.id ' .
184
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques ';
185
- }
186
- else
187
- {
188
- $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
189
- 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
190
- '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
191
- 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques ';
192
- }
193
- $query .= 'FROM ' . $this->table_name . ' li ' .
194
- 'WHERE id=%d';
195
- }
196
- else
197
- $query = "SELECT * FROM {$this->table_name} WHERE id=%d";
198
-
199
- $query = $wpdb->prepare($query, $id);
200
- return $wpdb->get_row($query, $return_type);
201
- }
202
-
203
- function find_first_target_url($target_url)
204
- {
205
- global $wpdb;
206
- $query_str = "SELECT id FROM {$this->table_name} WHERE url=%s LIMIT 1";
207
- $query = $wpdb->prepare($query_str,$target_url);
208
- return $wpdb->get_var($query);
209
- }
210
-
211
- function &get_or_create_pretty_link_for_target_url( $target_url, $group=0 )
212
- {
213
- $pretty_link_id = $this->find_first_target_url( $target_url );
214
- $pretty_link = $this->getOne($pretty_link_id);
215
-
216
- if(empty($pretty_link) or !$pretty_link)
217
- {
218
- $pl_insert_id = prli_create_pretty_link( $target_url, '', '', '', $group );
219
- $pretty_link = $this->getOne($pl_insert_id);
220
- }
221
- else
222
- prli_update_pretty_link( $pretty_link->id, '', '', '', '', $group );
223
-
224
- if( !isset($pretty_link) or
225
- empty($pretty_link) or
226
- !$pretty_link )
227
- return false;
228
- else
229
- return $pretty_link;
230
- }
231
-
232
- function is_pretty_link($url, $check_domain=true)
233
- {
234
- global $prli_blogurl;
235
-
236
- if( !$check_domain or preg_match( '#^' . preg_quote( $prli_blogurl ) . '#', $url ) )
237
- {
238
- $uri = preg_replace('#' . preg_quote($prli_blogurl) . '#', '', $url);
239
-
240
- // Resolve WP installs in sub-directories
241
- preg_match('#^(https?://.*?)(/.*)$#', $prli_blogurl, $subdir);
242
-
243
- $struct = PrliUtils::get_permalink_pre_slug_regex();
244
-
245
- $subdir_str = (isset($subdir[2])?$subdir[2]:'');
246
-
247
- $match_str = '#^'.$subdir_str.'('.$struct.')([^\?]*?)([\?].*?)?$#';
248
-
249
- if(preg_match($match_str, $uri, $match_val))
250
- {
251
- // Match longest slug -- this is the most common
252
- $params = (isset($match_val[3])?$match_val[3]:'');
253
- if( $pretty_link_found =& $this->is_pretty_link_slug( $match_val[2] ) )
254
- return compact('pretty_link_found','pretty_link_params');
255
-
256
- // Trim down the matched link
257
- $matched_link = preg_replace('#/[^/]*?$#','',$match_val[2],1);
258
-
259
- // cycle through the links (maximum depth 25 folders so we don't get out
260
- // of control -- that should be enough eh?) and trim the link down each time
261
- for( $i=0; ($i < 25) and
262
- $matched_link and
263
- !empty($matched_link) and
264
- $matched_link != $match_val[2]; $i++ )
265
- {
266
- $new_match_str ="#^{$subdir_str}({$struct})({$matched_link})(.*?)?$#";
267
-
268
- $params = (isset($match_val[3])?$match_val:'');
269
- if( $pretty_link_found =& $this->is_pretty_link_slug( $match_val[2] ) )
270
- return compact('pretty_link_found','pretty_link_params');
271
-
272
- // Trim down the matched link and try again
273
- $matched_link = preg_replace('#/[^/]*$#','',$match_val[2],1);
274
- }
275
- }
276
- }
277
-
278
- return false;
279
- }
280
-
281
- function is_pretty_link_slug($slug)
282
- {
283
- return $this->getOneFromSlug( urldecode($slug) );
284
- }
285
-
286
- function get_link_min( $id, $return_type = OBJECT )
287
- {
288
- global $wpdb;
289
- $query_str = "SELECT * FROM {$this->table_name} WHERE id=%d";
290
- $query = $wpdb->prepare($query_str, $id);
291
- return $wpdb->get_row($query, $return_type);
292
- }
293
-
294
- function getAll($where = '', $order_by = '', $return_type = OBJECT, $include_stats = false)
295
- {
296
- global $wpdb, $prli_click, $prli_group, $prli_link_meta, $prli_options, $prli_utils;
297
-
298
- if($include_stats)
299
- {
300
- $query = 'SELECT li.*, ';
301
- if($prli_options->extended_tracking != 'count')
302
- {
303
- $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
304
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
305
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
306
- 'WHERE cl.link_id = li.id ' .
307
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ';
308
- }
309
- else
310
- {
311
- $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
312
- 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
313
- '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
314
- 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques, ';
315
- }
316
- $query .= 'gr.name as group_name ' .
317
- 'FROM '. $this->table_name . ' li ' .
318
- 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
319
- $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
320
- }
321
- else
322
- {
323
- $query = "SELECT li.*, gr.name as group_name FROM {$this->table_name} li " .
324
- 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
325
- $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
326
- }
327
-
328
- return $wpdb->get_results($query, $return_type);
329
- }
330
-
331
- // Pagination Methods
332
- function getRecordCount($where="")
333
- {
334
- global $wpdb, $prli_utils;
335
- $query = 'SELECT COUNT(*) FROM ' . $this->table_name . ' li' . $prli_utils->prepend_and_or_where(' WHERE', $where);
336
- return $wpdb->get_var($query);
337
- }
338
-
339
- function getPageCount($p_size, $where="")
340
- {
341
- return ceil((int)$this->getRecordCount($where) / (int)$p_size);
342
- }
343
-
344
- function getPage($current_p,$p_size, $where = "", $order_by = '', $return_type = OBJECT)
345
- {
346
- global $wpdb, $prli_click, $prli_utils, $prli_group, $prli_link_meta, $prli_options;
347
- $end_index = $current_p * $p_size;
348
- $start_index = $end_index - $p_size;
349
- $query = 'SELECT li.*, ';
350
- if($prli_options->extended_tracking != 'count')
351
- {
352
- $query .= '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
353
- 'WHERE cl.link_id = li.id' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as clicks, ' .
354
- '(SELECT COUNT(*) FROM ' . $prli_click->table_name . ' cl ' .
355
- 'WHERE cl.link_id = li.id ' .
356
- 'AND cl.first_click <> 0' . $prli_click->get_exclude_where_clause( ' AND' ) . ') as uniques, ';
357
- }
358
- else
359
- {
360
- $query .= '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
361
- 'WHERE lm.meta_key="static-clicks" AND lm.link_id=li.id LIMIT 1) as clicks, ' .
362
- '(SELECT lm.meta_value FROM ' . $prli_link_meta->table_name . ' lm ' .
363
- 'WHERE lm.meta_key="static-uniques" AND lm.link_id=li.id LIMIT 1) as uniques, ';
364
- }
365
- $query .= 'gr.name as group_name ' .
366
- 'FROM ' . $this->table_name . ' li ' .
367
- 'LEFT OUTER JOIN ' . $prli_group->table_name . ' gr ON li.group_id=gr.id' .
368
- $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by . ' ' .
369
- 'LIMIT ' . $start_index . ',' . $p_size . ';';
370
- $results = $wpdb->get_results($query, $return_type);
371
- return $results;
372
- }
373
-
374
- /** I'm generating a slug that is by default 2-3 characters long.
375
- * This gives us a possibility of 36^3 - 37 = 46,619 possible
376
- * random slugs. That should be *more* than enough slugs for
377
- * any website -- if I get any feedback that we need more then
378
- * I can always make a config option to raise the # of chars.
379
- */
380
- function generateValidSlug($num_chars = 3)
381
- {
382
- global $wpdb, $prli_utils;
383
-
384
- // We're doing a base 36 hash which is why we're always doing everything by 36
385
- $max_slug_value = pow(36,$num_chars);
386
- $min_slug_value = 37; // we want to have at least 2 characters in the slug
387
- $slug = base_convert( rand($min_slug_value,$max_slug_value), 10, 36 );
388
-
389
- $query = "SELECT slug FROM " . $this->table_name; // . " WHERE slug='" . $slug . "'";
390
- $slugs = $wpdb->get_col($query,0);
391
-
392
- // It is highly unlikely that we'll ever see 2 identical random slugs
393
- // but just in case, here's some code to prevent collisions
394
- while( in_array($slug,$slugs) or !$prli_utils->slugIsAvailable($slug) )
395
- $slug = base_convert( rand($min_slug_value,$max_slug_value), 10, 36 );
396
-
397
- return $slug;
398
- }
399
-
400
- function get_pretty_link_url($slug)
401
- {
402
- global $prli_blogurl;
403
-
404
- $link = $this->getOneFromSlug($slug);
405
-
406
- if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
407
- (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
408
- return "&lt;img src=\"".$prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . $link->param_struct . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
409
- else if((!isset($link->param_forwarding) or $link->param_forwarding != 'custom') and
410
- (isset($link->redirect_type) and $link->redirect_type == 'pixel'))
411
- return "&lt;img src=\"".$prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . "\" width=\"1\" height=\"1\" style=\"display: none\" /&gt;";
412
- else if((isset($link->param_forwarding) and $link->param_forwarding == 'custom') and
413
- (!isset($link->redirect_type) or $link->redirect_type != 'pixel'))
414
- return $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug . $link->param_struct;
415
- else
416
- return $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . $link->slug;
417
- }
418
-
419
- // Set defaults and grab get or post of each possible param
420
- function get_params_array()
421
- {
422
- return array(
423
- 'action' => (isset($_REQUEST['action'])?$_REQUEST['action']:'list'),
424
- 'regenerate' => (isset($_REQUEST['regenerate'])?$_REQUEST['regenerate']:'false'),
425
- 'id' => (isset($_REQUEST['id'])?$_REQUEST['id']:''),
426
- 'group_name' => (isset($_REQUEST['group_name'])?$_REQUEST['group_name']:''),
427
- 'paged' => (isset($_REQUEST['paged'])?$_REQUEST['paged']:1),
428
- 'group' => (isset($_REQUEST['group'])?$_REQUEST['group']:''),
429
- 'search' => (isset($_REQUEST['search'])?$_REQUEST['search']:''),
430
- 'sort' => (isset($_REQUEST['sort'])?$_REQUEST['sort']:''),
431
- 'sdir' => (isset($_REQUEST['sdir'])?$_REQUEST['sdir']:''),
432
- 'message' => (isset($_REQUEST['message'])?$_REQUEST['message']:'')
433
- );
434
- }
435
-
436
- function validate( $values )
437
- {
438
- global $wpdb, $prli_utils, $prli_blogurl;
439
-
440
- $errors = array();
441
- if( ( $values['url'] == null or $values['url'] == '') and $values['redirect_type'] != 'pixel' )
442
- $errors[] = "Target URL can't be blank";
443
-
444
- if( $values['slug'] == null or $values['slug'] == '' )
445
- $errors[] = "Pretty Link can't be blank";
446
-
447
- if( $values['url'] == $prli_blogurl.PrliUtils::get_permalink_pre_slug_uri().$values['slug'] )
448
- $errors[] = "Target URL must be different than the Pretty Link";
449
-
450
- if( !empty($values['url']) and
451
- !preg_match('/^http.?:\/\/.*\..*$/', $values['url'] ) and
452
- !preg_match('!^(http|https)://(localhost|127\.0\.0\.1)(:\d+)?(/[\w- ./?%&=]*)?!', $values['url'] ) )
453
- $errors[] = "Link URL must be a correctly formatted url";
454
-
455
- if( preg_match('/^[\?\&\#]+$/', $values['slug'] ) )
456
- $errors[] = "Pretty Link slugs must not contain question marks, ampersands or number signs.";
457
-
458
- if( preg_match('#/$#', $values['slug']) )
459
- $errors[] = "Pretty Link slugs must not end with a slash (\"/\")";
460
-
461
- if( !$prli_utils->slugIsAvailable($values['slug'],$values['id']) )
462
- $errors[] = "This Pretty Link Slug is already taken. Check to make sure it isn't being used by another pretty link, post, page, category or tag slug. If none of these are true then check to see that this slug isn't the name of a file in the root folder of your wordpress install.";
463
-
464
- if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and empty($values['param_struct']) )
465
- $errors[] = "If Custom Parameter Forwarding has been selected then you must specify a forwarding format.";
466
-
467
- if( isset($values['param_forwarding']) and $values['param_forwarding'] == 'custom' and !preg_match('#%.*?%#', $values['param_struct']) )
468
- $errors[] = "Your parameter forwarding must have at least one parameter specified in the format ex: <code>/%var1%/%var_two%/%varname3% ...</code>";
469
-
470
- return $errors;
471
- }
472
- }
473
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/models/PrliLinkMeta.php DELETED
@@ -1,59 +0,0 @@
1
- <?php
2
- class PrliLinkMeta
3
- {
4
- var $table_name;
5
-
6
- function PrliLinkMeta()
7
- {
8
- global $wpdb;
9
- $this->table_name = "{$wpdb->prefix}prli_link_metas";
10
- }
11
-
12
- function get_link_meta($link_id,$meta_key,$return_var=false)
13
- {
14
- global $wpdb;
15
- $query_str = "SELECT meta_value FROM {$this->table_name} WHERE meta_key=%s and link_id=%d";
16
- $query = $wpdb->prepare($query_str,$meta_key,$link_id);
17
-
18
- if($return_var)
19
- return $wpdb->get_var("{$query} LIMIT 1");
20
- else
21
- return $wpdb->get_col($query, 0);
22
- }
23
-
24
- function add_link_meta($link_id, $meta_key, $meta_value)
25
- {
26
- global $wpdb;
27
-
28
- $query_str = "INSERT INTO {$this->table_name} " .
29
- '(meta_key,meta_value,link_id,created_at) VALUES (%s,%s,%d,NOW())';
30
- $query = $wpdb->prepare($query_str, $meta_key, $meta_value, $link_id);
31
- return $wpdb->query($query);
32
- }
33
-
34
- function update_link_meta($link_id, $meta_key, $meta_values)
35
- {
36
- global $wpdb;
37
- $this->delete_link_meta($link_id, $meta_key);
38
-
39
- if(!is_array($meta_values))
40
- $meta_values = array($meta_values);
41
-
42
- $status = false;
43
- foreach($meta_values as $meta_value)
44
- $status = $this->add_link_meta($link_id, $meta_key, $meta_value);
45
-
46
- return $status;
47
- }
48
-
49
- function delete_link_meta($link_id, $meta_key)
50
- {
51
- global $wpdb;
52
-
53
- $query_str = "DELETE FROM {$this->table_name} " .
54
- "WHERE meta_key=%s AND link_id=%d";
55
- $query = $wpdb->prepare($query_str, $meta_key, $link_id);
56
- return $wpdb->query($query);
57
- }
58
- }
59
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/models/PrliUtils.php DELETED
@@ -1,1178 +0,0 @@
1
- <?php
2
- require_once('models.inc.php');
3
-
4
- class PrliUtils
5
- {
6
- /** Okay I realize that Percentagize isn't really a word but
7
- * this is so that the values we have will work with google
8
- * charts.
9
- */
10
- function percentagizeArray($data,$max_value)
11
- {
12
- $new_data = array();
13
- foreach($data as $point)
14
- {
15
- if( $max_value > 0 )
16
- {
17
- $new_data[] = $point / $max_value * 100;
18
- }
19
- else
20
- {
21
- $new_data[] = 0;
22
- }
23
- }
24
- return $new_data;
25
- }
26
-
27
- function getTopValue($values_array)
28
- {
29
- rsort($values_array);
30
- return $values_array[0];
31
- }
32
-
33
- function getFirstClickDate()
34
- {
35
- global $wpdb;
36
-
37
- $clicks_table = $wpdb->prefix . "prli_clicks";
38
- $query = "SELECT created_at FROM $clicks_table ORDER BY created_at LIMIT 1";
39
- $first_click = $wpdb->get_var($query);
40
-
41
- if(isset($first_click))
42
- {
43
- return strtotime($first_click);
44
- }
45
- else
46
- return null;
47
- }
48
-
49
- function getMonthsArray()
50
- {
51
- global $wpdb;
52
- global $prli_click;
53
-
54
- $months = array();
55
- $year = date("Y");
56
- $month = date("m");
57
- $current_timestamp = time();
58
- $current_month_timestamp = mktime(0, 0, 0, date("m", $current_timestamp), 1, date("Y", $current_timestamp));
59
-
60
- $clicks_table = $prli_click->tableName();
61
- $first_click = $wpdb->get_var("SELECT created_at FROM $clicks_table ORDER BY created_at LIMIT 1;");
62
- $first_timestamp = ((empty($first_click))?$current_timestamp:strtotime($first_click));
63
- $first_date = mktime(0, 0, 0, date("m", $first_timestamp), 1, date("Y", $first_timestamp));
64
-
65
- while($current_month_timestamp >= $first_date)
66
- {
67
- $months[] = $current_month_timestamp;
68
- if(date("m") == 1)
69
- $current_month_timestamp = mktime(0, 0, 0, 12, 1, date("Y", $current_month_timestamp)-1);
70
- else
71
- $current_month_timestamp = mktime(0, 0, 0, date("m", $current_month_timestamp)-1, 1, date("Y", $current_month_timestamp));
72
- }
73
- return $months;
74
- }
75
-
76
- // For Pagination
77
- function getLastRecordNum($r_count,$current_p,$p_size)
78
- {
79
- return (($r_count < ($current_p * $p_size))?$r_count:($current_p * $p_size));
80
- }
81
-
82
- // For Pagination
83
- function getFirstRecordNum($r_count,$current_p,$p_size)
84
- {
85
- if($current_p == 1)
86
- return 1;
87
- else
88
- return ($this->getLastRecordNum($r_count,($current_p - 1),$p_size) + 1);
89
- }
90
-
91
- function slugIsAvailable( $full_slug, $id = '' )
92
- {
93
- global $wpdb, $prli_blogurl, $prli_link;
94
-
95
- // We don't care about anything after the slash for now because we don't want
96
- // to have to worry about comparing against every imaginable combination in WordPress
97
- $slug_components = explode('/',$full_slug);
98
- $slug = $slug_components[0];
99
-
100
- // Check slug uniqueness against posts, pages and categories
101
- $postname = $wpdb->get_var($wpdb->prepare("SELECT post_name FROM {$wpdb->posts} WHERE post_name=%s LIMIT 1",$slug));
102
- $taxonomy = $wpdb->get_var($wpdb->prepare("SELECT taxonomy FROM {$wpdb->term_taxonomy} WHERE taxonomy=%s LIMIT 1",$slug));
103
-
104
- // If anything was returned for these two calls then the slug has been taken
105
- if( $postname or $taxonomy )
106
- return false;
107
-
108
- // Check slug against files on the root wordpress install
109
- $root_dir = opendir(ABSPATH);
110
-
111
- while (($file = readdir($root_dir)) !== false) {
112
- $haystack = strtolower($file);
113
- if($haystack == $slug)
114
- return false;
115
- }
116
-
117
- // Check slug against other slugs in the prli links database.
118
- // We'll use the full_slug here because its easier to guarantee uniqueness.
119
- if(!is_null($id) and !empty($id) and is_numeric($id))
120
- $query = $wpdb->prepare("SELECT slug FROM {$prli_link->table_name} WHERE slug=%s AND id <> %d", $full_slug, $id);
121
- else
122
- $query = $wpdb->prepare("SELECT slug FROM {$prli_link->table_name} WHERE slug=%s", $full_slug);
123
-
124
- $link_slug = $wpdb->get_var($query);
125
-
126
- if( $link_slug == $full_slug )
127
- return false;
128
-
129
- $pre_slug_slug = PrliUtils::get_permalink_pre_slug_uri(true,true);
130
-
131
- if($full_slug == $pre_slug_slug)
132
- return false;
133
-
134
- // TODO: Check permalink structure to avoid the ability of creating a year or something as a slug
135
-
136
- return true;
137
- }
138
-
139
- function &php_get_browsercap_ini()
140
- {
141
- // Since it's a fairly expensive proposition to load the ini file
142
- // let's make sure we only do it once
143
- static $browsecap_ini;
144
-
145
- if(!isset($browsecap_ini))
146
- {
147
- if( version_compare(PHP_VERSION, '5.3.0') >= 0 )
148
- $browsecap_ini =& parse_ini_file( PRLI_PATH . "/includes/php/php_browsecap.ini", true, INI_SCANNER_RAW );
149
- else
150
- $browsecap_ini =& parse_ini_file( PRLI_PATH . "/includes/php/php_browsecap.ini", true );
151
- }
152
-
153
- return $browsecap_ini;
154
- }
155
-
156
- /* Needed because we don't know if the target uesr will have a browsercap file installed
157
- on their server ... particularly in a shared hosting environment this is difficult
158
- */
159
- function php_get_browser($agent = NULL)
160
- {
161
- $agent=$agent?$agent:$_SERVER['HTTP_USER_AGENT'];
162
- $yu=array();
163
- $q_s=array("#\.#","#\*#","#\?#");
164
- $q_r=array("\.",".*",".?");
165
- $brows =& $this->php_get_browsercap_ini();
166
-
167
- if(!empty($brows) and $brows and is_array($brows))
168
- {
169
- foreach($brows as $k=>$t)
170
- {
171
- if(fnmatch($k,$agent))
172
- {
173
- $yu['browser_name_pattern']=$k;
174
- $pat=preg_replace($q_s,$q_r,$k);
175
- $yu['browser_name_regex']=strtolower("^$pat$");
176
- foreach($brows as $g=>$r)
177
- {
178
- if($t['Parent']==$g)
179
- {
180
- foreach($brows as $a=>$b)
181
- {
182
- if($r['Parent']==$a)
183
- {
184
- $yu=array_merge($yu,$b,$r,$t);
185
- foreach($yu as $d=>$z)
186
- {
187
- $l=strtolower($d);
188
- $hu[$l]=$z;
189
- }
190
- }
191
- }
192
- }
193
- }
194
-
195
- break;
196
- }
197
- }
198
- }
199
-
200
- return $hu;
201
- }
202
-
203
- // This is where the magic happens!
204
- function track_link($slug,$values)
205
- {
206
- global $wpdb, $prli_click, $prli_options, $prli_link, $prli_update;
207
-
208
- $query = "SELECT * FROM ".$prli_link->table_name." WHERE slug='$slug' LIMIT 1";
209
- $pretty_link = $wpdb->get_row($query);
210
- $pretty_link_target = apply_filters('prli_target_url',array('url' => $pretty_link->url, 'link_id' => $pretty_link->id));
211
- $pretty_link_url = $pretty_link_target['url'];
212
-
213
- if(isset($pretty_link->track_me) and $pretty_link->track_me)
214
- {
215
- $first_click = 0;
216
-
217
- $click_ip = isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:'';
218
- $click_referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';
219
- $click_uri = isset($_SERVER['REQUEST_URI'])?$_SERVER['REQUEST_URI']:'';
220
- $click_user_agent = isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:'';
221
-
222
- //Set Cookie if it doesn't exist
223
- $cookie_name = 'prli_click_' . $pretty_link->id;
224
-
225
- //Used for unique click tracking
226
- $cookie_expire_time = time()+60*60*24*30; // Expire in 30 days
227
-
228
- if(!isset($_COOKIE[$cookie_name]))
229
- {
230
- setcookie($cookie_name,$slug,$cookie_expire_time,'/');
231
- $first_click = 1;
232
- }
233
-
234
- if(isset($prli_options->extended_tracking) and $prli_options->extended_tracking == 'extended')
235
- {
236
- $click_browser = $this->php_get_browser();
237
- $click_host = gethostbyaddr($click_ip);
238
-
239
- $visitor_cookie = 'prli_visitor';
240
- //Used for visitor activity
241
- $visitor_cookie_expire_time = time()+60*60*24*365; // Expire in 1 year
242
-
243
- // Retrieve / Generate visitor id
244
- if(!isset($_COOKIE[$visitor_cookie]))
245
- {
246
- $visitor_uid = $prli_click->generateUniqueVisitorId();
247
- setcookie($visitor_cookie,$visitor_uid,$visitor_cookie_expire_time,'/');
248
- }
249
- else
250
- $visitor_uid = $_COOKIE[$visitor_cookie];
251
- }
252
- else
253
- {
254
- $click_browser = array( 'browser' => '', 'version' => '', 'platform' => '', 'crawler' => '' );
255
- $click_host = '';
256
- $visitor_uid = '';
257
- }
258
-
259
- if($prli_options->extended_tracking != 'count')
260
- {
261
- //Record Click in DB
262
- $insert_str = "INSERT INTO {$prli_click->table_name} (link_id,vuid,ip,browser,btype,bversion,os,referer,uri,host,first_click,robot,created_at) VALUES (%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%d,%d,NOW())";
263
- $insert = $wpdb->prepare($insert_str, $pretty_link->id,
264
- $visitor_uid,
265
- $click_ip,
266
- $click_user_agent,
267
- $click_browser['browser'],
268
- $click_browser['version'],
269
- $click_browser['platform'],
270
- $click_referer,
271
- $click_uri,
272
- $click_host,
273
- $first_click,
274
- $this->this_is_a_robot($click_user_agent,$click_browser));
275
-
276
- $results = $wpdb->query( $insert );
277
-
278
- do_action('prli_record_click',array('link_id' => $pretty_link->id, 'click_id' => $wpdb->insert_id, 'url' => $pretty_link_url));
279
- }
280
- else
281
- {
282
- global $prli_link_meta;
283
- $exclude_ips = explode(",", $prli_options->prli_exclude_ips);
284
- if(!in_array($click_ip, $exclude_ips) and !$this->this_is_a_robot($click_user_agent,$click_browser))
285
- {
286
- $clicks = $prli_link_meta->get_link_meta($pretty_link->id, 'static-clicks', true);
287
- $clicks = (empty($clicks) or $clicks === false)?0:$clicks;
288
- $prli_link_meta->update_link_meta($pretty_link->id, 'static-clicks', $clicks+1);
289
-
290
- if($first_click)
291
- {
292
- $uniques = $prli_link_meta->get_link_meta($pretty_link->id, 'static-uniques', true);
293
- $uniques = (empty($uniques) or $uniques === false)?0:$uniques;
294
- $prli_link_meta->update_link_meta($pretty_link->id, 'static-uniques', $uniques+1);
295
- }
296
- }
297
- }
298
- }
299
-
300
- // Reformat Parameters
301
- $param_string = '';
302
-
303
- if(isset($pretty_link->param_forwarding) and ($pretty_link->param_forwarding == 'custom' OR $pretty_link->param_forwarding == 'on') and isset($values) and count($values) >= 1)
304
- {
305
- $first_param = true;
306
- foreach($values as $key => $value)
307
- {
308
- if($first_param)
309
- {
310
- $param_string = (preg_match("#\?#", $pretty_link_url)?"&":"?");
311
- $first_param = false;
312
- }
313
- else
314
- $param_string .= "&";
315
-
316
- $param_string .= "$key=$value";
317
- }
318
- }
319
-
320
- if(isset($pretty_link->nofollow) and $pretty_link->nofollow)
321
- header("X-Robots-Tag: noindex, nofollow", true);
322
-
323
- switch($pretty_link->redirect_type)
324
- {
325
- case '301':
326
- header("HTTP/1.1 301 Moved Permanently");
327
- header('Location: '.$pretty_link_url.$param_string);
328
- break;
329
- default:
330
- if( $pretty_link->redirect_type == '307' or
331
- !$prli_update->pro_is_installed_and_authorized() )
332
- {
333
- if($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
334
- header("HTTP/1.1 302 Found");
335
- else
336
- header("HTTP/1.1 307 Temporary Redirect");
337
- header('Location: '.$pretty_link_url.$param_string);
338
- }
339
- else
340
- do_action('prli_issue_cloaked_redirect', $pretty_link->redirect_type, $pretty_link, $pretty_link_url, $param_string);
341
- }
342
- }
343
-
344
- function get_custom_forwarding_rule($param_struct)
345
- {
346
- $param_struct = preg_replace('#%.*?%#','(.*?)',$param_struct);
347
- return preg_replace('#\(\.\*\?\)$#','(.*)',$param_struct); // replace the last one with a greedy operator
348
- }
349
-
350
- function get_custom_forwarding_params($param_struct, $start_index = 1)
351
- {
352
- preg_match_all('#%(.*?)%#', $param_struct, $matches);
353
-
354
- $param_string = '';
355
- $match_index = $start_index;
356
- for($i = 0; $i < count($matches[1]); $i++)
357
- {
358
- if($i == 0 and $start_index == 1)
359
- $param_string .= "?";
360
- else
361
- $param_string .= "&";
362
-
363
- $param_string .= $matches[1][$i] . "=$$match_index";
364
- $match_index++;
365
- }
366
-
367
- return $param_string;
368
- }
369
-
370
- function decode_custom_param_str($param_struct, $uri_string)
371
- {
372
- // Get the structure matches (param names)
373
- preg_match_all('#%(.*?)%#', $param_struct, $struct_matches);
374
-
375
- // Get the uri matches (param values)
376
- $match_str = '#'.$this->get_custom_forwarding_rule($param_struct).'#';
377
- preg_match($match_str, $uri_string, $uri_matches);
378
-
379
- $param_array = array();
380
- for($i = 0; $i < count($struct_matches[1]); $i++)
381
- $param_array[$struct_matches[1][$i]] = $uri_matches[$i+1];
382
-
383
- return $param_array;
384
- }
385
-
386
- // Detects whether an array is a true numerical array or an
387
- // associative array (or hash).
388
- function prli_array_type($item)
389
- {
390
- $array_type = 'unknown';
391
-
392
- if(is_array($item))
393
- {
394
- $array_type = 'array';
395
-
396
- foreach($item as $key => $value)
397
- {
398
- if(!is_numeric($key))
399
- {
400
- $array_type = 'hash';
401
- break;
402
- }
403
- }
404
- }
405
-
406
- return $array_type;
407
- }
408
-
409
- // This eliminates the need to use php's built in json_encoder
410
- // which only works with PHP 5.2 and above.
411
- function prli_json_encode($json_array)
412
- {
413
- $json_str = '';
414
-
415
- if(is_array($json_array))
416
- {
417
- if($this->prli_array_type($json_array) == 'array')
418
- {
419
- $first = true;
420
- $json_str .= "[";
421
- foreach($json_array as $item)
422
- {
423
- if(!$first)
424
- $json_str .= ",";
425
-
426
- if(is_numeric($item))
427
- $json_str .= (($item < 0)?"\"$item\"":$item);
428
- else if(is_array($item))
429
- $json_str .= $this->prli_json_encode($item);
430
- else if(is_string($item))
431
- $json_str .= '"'.$item.'"';
432
- else if(is_bool($item))
433
- $json_str .= (($item)?"true":"false");
434
-
435
- $first = false;
436
- }
437
- $json_str .= "]";
438
- }
439
- else if($this->prli_array_type($json_array) == 'hash')
440
- {
441
- $first = true;
442
- $json_str .= "{";
443
- foreach($json_array as $key => $item)
444
- {
445
- if(!$first)
446
- $json_str .= ",";
447
-
448
- $json_str .= "\"$key\":";
449
-
450
- if(is_numeric($item))
451
- $json_str .= (($item < 0)?"\"$item\"":$item);
452
- else if(is_array($item))
453
- $json_str .= $this->prli_json_encode($item);
454
- else if(is_string($item))
455
- $json_str .= "\"$item\"";
456
- else if(is_bool($item))
457
- $json_str .= (($item)?"true":"false");
458
-
459
- $first = false;
460
- }
461
- $json_str .= "}";
462
- }
463
- }
464
-
465
- return $json_str;
466
- }
467
-
468
- // This eliminates the need to use php's built in json_encoder
469
- // which only works with PHP 5.2 and above.
470
- function prli_json_decode(&$json_str,$type='array',$index = 0)
471
- {
472
- $json_array = array();
473
- $index_str = '';
474
- $value_str = '';
475
- $in_string = false;
476
- $in_index = ($type=='hash'); //first char in hash is an index
477
- $in_value = ($type=='array'); //first char in array is a value
478
-
479
- $json_special_chars_array = array('{','[','}',']','"',',',':');
480
-
481
- // On the first pass we need to do some special stuff
482
- if($index == 0)
483
- {
484
- if($json_str[$index] == '{')
485
- {
486
- $type = 'hash';
487
- $in_index = true;
488
- $in_value = false;
489
- }
490
- else if($json_str[$index]=='[')
491
- {
492
- $type = 'array';
493
- $in_index = false;
494
- $in_value = true;
495
- }
496
- else
497
- return false; // not valid json
498
-
499
- // skip to next index
500
- $index++;
501
- }
502
-
503
- for($i = $index; $i < strlen($json_str); $i++)
504
- {
505
- if($in_string and in_array($json_str[$i],$json_special_chars_array))
506
- {
507
- if($json_str[$i] == '"')
508
- $in_string = false;
509
- else
510
- {
511
- if($in_value)
512
- $value_str .= $json_str[$i];
513
- else if($in_index)
514
- $index_str .= $json_str[$i];
515
- }
516
- }
517
- else
518
- {
519
- switch($json_str[$i])
520
- {
521
- case '{':
522
- $array_vals = $this->prli_json_decode($json_str,'hash',$i + 1);
523
-
524
- if($type=='hash')
525
- $json_array[$index_str] = $array_vals[1]; // We'll never get an array as an index
526
- else if($type=='array')
527
- $json_array[] = $array_vals[1];
528
-
529
- $i = $array_vals[0]; // Skip ahead to the new index
530
- break;
531
-
532
- case '[':
533
- $array_vals = $this->prli_json_decode($json_str,'array',$i + 1);
534
-
535
- if($type=='hash')
536
- $json_array[$index_str] = $array_vals[1];
537
- else if($type=='array')
538
- $json_array[] = $array_vals[1];
539
-
540
- $i = $array_vals[0]; // Skip ahead to the new index
541
- break;
542
-
543
- case '}':
544
- if(!empty($index_str) and !empty($value_str))
545
- {
546
- $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
547
- $index_str = '';
548
- $value_str = '';
549
- }
550
- return array($i,$json_array);
551
-
552
- case ']':
553
- if(!empty($value_str))
554
- {
555
- $json_array[] = $this->prli_decode_json_unicode($value_str);
556
- $value_str = '';
557
- }
558
- return array($i,$json_array);
559
-
560
- // skip the null character
561
- case '\0':
562
- break;
563
-
564
- // Handle Escapes
565
- case '\\':
566
- if($in_string)
567
- {
568
- if(in_array($json_str[$i + 1],$json_special_chars_array))
569
- {
570
- if($in_value)
571
- $value_str .= '\\'.$json_str[$i + 1];
572
- else if($in_index)
573
- $index_str .= '\\'.$json_str[$i + 1];
574
-
575
- $i++; // skip the escaped char now that its been recorded
576
- }
577
- else
578
- {
579
- if($in_value)
580
- $value_str .= $json_str[$i];
581
- else if($in_index)
582
- $index_str .= $json_str[$i];
583
- }
584
- }
585
- break;
586
-
587
- case '"':
588
- $in_string = !$in_string; // just tells us if we're in a string
589
- break;
590
-
591
- case ':':
592
- if($type == 'hash')
593
- {
594
- $in_value = true;
595
- $in_index = false;
596
- }
597
- break;
598
-
599
- case ',':
600
- if($type == 'hash')
601
- {
602
- if(!empty($index_str) and !empty($value_str))
603
- {
604
- $json_array[$index_str] = $this->prli_decode_json_unicode($value_str);
605
- $index_str = '';
606
- $value_str = '';
607
- }
608
-
609
- $in_index = true;
610
- $in_value = false;
611
- }
612
- else if($type == 'array')
613
- {
614
- if(!empty($value_str))
615
- {
616
- $json_array[] = $this->prli_decode_json_unicode($value_str);
617
- $value_str = '';
618
- }
619
-
620
- $in_value = true;
621
- $in_index = false; // always false in an array
622
- }
623
- break;
624
-
625
- // record index and value
626
- default:
627
- if($in_value)
628
- $value_str .= $json_str[$i];
629
- else if($in_index)
630
- $index_str .= $json_str[$i];
631
- }
632
- }
633
- }
634
-
635
- return array(-1,$json_array);
636
- }
637
-
638
- function prli_decode_json_unicode($val)
639
- {
640
- $val = preg_replace_callback("/\\\u([0-9a-fA-F]{4})/",
641
- create_function(
642
- '$matches',
643
- 'return html_entity_decode("&#".hexdec($matches[1]).";",ENT_COMPAT,"UTF-8");'
644
- ),
645
- $val);
646
- return $val;
647
- }
648
-
649
- // Get the timestamp of the start date
650
- function get_start_date($values,$min_date = '')
651
- {
652
- // set default to 30 days ago
653
- if(empty($min_date))
654
- $min_date = 30;
655
-
656
- if(!empty($values['sdate']))
657
- {
658
- $sdate = explode("-",$values['sdate']);
659
- $start_timestamp = mktime(0,0,0,$sdate[1],$sdate[2],$sdate[0]);
660
- }
661
- else
662
- $start_timestamp = time()-60*60*24*(int)$min_date;
663
-
664
- return $start_timestamp;
665
- }
666
-
667
- // Get the timestamp of the end date
668
- function get_end_date($values)
669
- {
670
- if(!empty($values['edate']))
671
- {
672
- $edate = explode("-",$values['edate']);
673
- $end_timestamp = mktime(0,0,0,$edate[1],$edate[2],$edate[0]);
674
- }
675
- else
676
- $end_timestamp = time();
677
-
678
- return $end_timestamp;
679
- }
680
-
681
- function prepend_and_or_where( $starts_with = ' WHERE', $where = '' )
682
- {
683
- return (( $where == '' )?'':$starts_with . $where);
684
- }
685
-
686
- function uninstall_pro()
687
- {
688
- $prlipro_path = PRLI_PATH . '/pro';
689
-
690
- // unlink pro directory
691
- $this->delete_dir($prlipro_path);
692
-
693
- delete_option( 'prlipro_activated' );
694
- delete_option( 'prlipro_username' );
695
- delete_option( 'prlipro_password' );
696
- delete_option( 'prlipro-credentials' );
697
-
698
- // Yah- I just leave the pro database tables & data hanging
699
- // around in case you want to re-install it at some point
700
- }
701
-
702
- function install_pro_db()
703
- {
704
- global $wpdb, $prlipro_db_version;
705
-
706
- $old_pro_db_version = get_option('prlipro_db_version');
707
-
708
- if($prlipro_db_version != $old_pro_db_version)
709
- {
710
- $upgrade_path = ABSPATH . 'wp-admin/includes/upgrade.php';
711
- require_once($upgrade_path);
712
-
713
- // Pretty Link Pro Tables
714
- $tweets_table = "{$wpdb->prefix}prli_tweets";
715
- $keywords_table = "{$wpdb->prefix}prli_keywords";
716
- $reports_table = "{$wpdb->prefix}prli_reports";
717
- $report_links_table = "{$wpdb->prefix}prli_report_links";
718
- $link_rotations_table = "{$wpdb->prefix}prli_link_rotations";
719
- $clicks_rotations_table = "{$wpdb->prefix}prli_clicks_rotations";
720
-
721
- $charset_collate = '';
722
- if( $wpdb->has_cap( 'collation' ) )
723
- {
724
- if( !empty($wpdb->charset) )
725
- $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
726
- if( !empty($wpdb->collate) )
727
- $charset_collate .= " COLLATE $wpdb->collate";
728
- }
729
-
730
- /* Create/Upgrade Tweets Table */
731
- $sql = "CREATE TABLE {$tweets_table} (
732
- id int(11) NOT NULL auto_increment,
733
- twid varchar(255) NOT NULL,
734
- tw_text varchar(255) default NULL,
735
- tw_to_user_id varchar(255) default NULL,
736
- tw_from_user varchar(255) default NULL,
737
- tw_from_user_id varchar(255) NOT NULL,
738
- tw_iso_language_code varchar(255) default NULL,
739
- tw_source varchar(255) default NULL,
740
- tw_profile_image_url varchar(255) default NULL,
741
- tw_created_at varchar(255) NOT NULL,
742
- created_at datetime NOT NULL,
743
- link_id int(11) default NULL,
744
- PRIMARY KEY (id),
745
- KEY tw_text (tw_text),
746
- KEY tw_to_user_id (tw_to_user_id),
747
- KEY tw_from_user (tw_from_user),
748
- KEY tw_from_user_id (tw_from_user_id),
749
- KEY tw_iso_language_code (tw_iso_language_code),
750
- KEY tw_source (tw_source),
751
- KEY tw_profile_image_url (tw_profile_image_url),
752
- KEY twid (twid)
753
- ) {$charset_collate};";
754
-
755
- dbDelta($sql);
756
-
757
- /* Create/Upgrade Keywords Table */
758
- $sql = "CREATE TABLE {$keywords_table} (
759
- id int(11) NOT NULL auto_increment,
760
- text varchar(255) NOT NULL,
761
- link_id int(11) NOT NULL,
762
- created_at datetime NOT NULL,
763
- PRIMARY KEY (id),
764
- KEY link_id (link_id),
765
- KEY text (text)
766
- ) {$charset_collate};";
767
-
768
- dbDelta($sql);
769
-
770
- /* Create/Upgrade Reports Table */
771
- $sql = "CREATE TABLE {$reports_table} (
772
- id int(11) NOT NULL auto_increment,
773
- name varchar(255) NOT NULL,
774
- goal_link_id int(11) default NULL,
775
- created_at datetime NOT NULL,
776
- PRIMARY KEY (id),
777
- KEY goal_link_id (goal_link_id),
778
- KEY name (name)
779
- ) {$charset_collate};";
780
-
781
- dbDelta($sql);
782
-
783
- /* Create/Upgrade Reports Table */
784
- $sql = "CREATE TABLE {$report_links_table} (
785
- id int(11) NOT NULL auto_increment,
786
- report_id int(11) NOT NULL,
787
- link_id int(11) NOT NULL,
788
- created_at datetime NOT NULL,
789
- PRIMARY KEY (id),
790
- KEY report_id (report_id),
791
- KEY link_id (link_id)
792
- ) {$charset_collate};";
793
-
794
- dbDelta($sql);
795
-
796
- /* Create/Upgrade Link Rotations Table */
797
- $sql = "CREATE TABLE {$link_rotations_table} (
798
- id int(11) NOT NULL auto_increment,
799
- url varchar(255) default NULL,
800
- weight int(11) default 0,
801
- r_index int(11) default 0,
802
- link_id int(11) NOT NULL,
803
- created_at datetime NOT NULL,
804
- PRIMARY KEY (id),
805
- KEY link_id (link_id),
806
- KEY url (url),
807
- KEY weight (weight),
808
- KEY r_index (r_index)
809
- ) {$charset_collate};";
810
-
811
- dbDelta($sql);
812
-
813
- /* Create/Upgrade Clicks / Rotations Table */
814
- $sql = "CREATE TABLE {$clicks_rotations_table} (
815
- id int(11) NOT NULL auto_increment,
816
- click_id int(11) NOT NULL,
817
- link_id int(11) NOT NULL,
818
- url text NOT NULL,
819
- PRIMARY KEY (id),
820
- KEY click_id (click_id),
821
- KEY link_id (link_id)
822
- ) {$charset_collate};";
823
-
824
- dbDelta($sql);
825
- }
826
-
827
- /***** SAVE DB VERSION *****/
828
- delete_option('prlipro_db_version');
829
- add_option('prlipro_db_version',$prlipro_db_version);
830
- }
831
-
832
- // be careful with this one -- I use it to forceably reinstall pretty link pro
833
- function delete_dir($dir)
834
- {
835
- if (!file_exists($dir))
836
- return true;
837
-
838
- if (!is_dir($dir))
839
- return unlink($dir);
840
-
841
- foreach (scandir($dir) as $item)
842
- {
843
- if ($item == '.' || $item == '..')
844
- continue;
845
-
846
- if (!$this->delete_dir($dir.DIRECTORY_SEPARATOR.$item))
847
- return false;
848
- }
849
-
850
- return rmdir($dir);
851
- }
852
-
853
- // Used in the install procedure to migrate database columns
854
- function migrate_before_db_upgrade()
855
- {
856
- global $prli_options, $prli_update, $prli_link, $prli_click, $wpdb;
857
- $db_version = (int)get_option('prli_db_version');
858
-
859
- if(!$db_version)
860
- return;
861
-
862
- // Migration for version 1 of the database
863
- if($db_version and $db_version < 1)
864
- {
865
- $query = "SELECT * from {$prli_link->table_name}";
866
- $links = $wpdb->get_results($query);
867
- $query_str = "UPDATE {$prli_link->table_name} SET redirect_type=%s WHERE id=%d";
868
-
869
- foreach($links as $link)
870
- {
871
- if(isset($link->track_as_img) and $link->track_as_img)
872
- {
873
- $query = $wpdb->prepare($query_str, 'pixel', $link->id);
874
- $wpdb->query($query);
875
- }
876
- else if(isset($link->use_prettybar) and $link->use_prettybar)
877
- {
878
- $query = $wpdb->prepare($query_str, 'prettybar', $link->id);
879
- $wpdb->query($query);
880
- }
881
- else if(isset($link->use_ultra_cloak) and $link->use_ultra_cloak)
882
- {
883
- $query = $wpdb->prepare($query_str, 'cloak', $link->id);
884
- $wpdb->query($query);
885
- }
886
- }
887
-
888
- $query = "ALTER TABLE {$prli_link->table_name} DROP COLUMN track_as_img, DROP COLUMN use_prettybar, DROP COLUMN use_ultra_cloak, DROP COLUMN gorder";
889
- $wpdb->query($query);
890
- }
891
-
892
- if($db_version and $db_version < 2)
893
- {
894
- unset($prli_options->prli_exclude_ips);
895
- unset($prli_options->prettybar_image_url);
896
- unset($prli_options->prettybar_background_image_url);
897
- unset($prli_options->prettybar_color);
898
- unset($prli_options->prettybar_text_color);
899
- unset($prli_options->prettybar_link_color);
900
- unset($prli_options->prettybar_hover_color);
901
- unset($prli_options->prettybar_visited_color);
902
- unset($prli_options->prettybar_title_limit);
903
- unset($prli_options->prettybar_desc_limit);
904
- unset($prli_options->prettybar_link_limit);
905
-
906
- // Save the posted value in the database
907
- update_option( 'prli_options', $prli_options );
908
- }
909
-
910
- // Modify the tables so they're UTF-8
911
- if($db_version and $db_version < 3)
912
- {
913
- $charset_collate = '';
914
- if( $wpdb->has_cap( 'collation' ) )
915
- {
916
- if( !empty($wpdb->charset) )
917
- $charset_collate = "CONVERT TO CHARACTER SET $wpdb->charset";
918
- if( !empty($wpdb->collate) )
919
- $charset_collate .= " COLLATE $wpdb->collate";
920
- }
921
-
922
- if(!empty($charset_collate))
923
- {
924
- $prli_table_names = array( "{$wpdb->prefix}prli_groups",
925
- "{$wpdb->prefix}prli_clicks",
926
- "{$wpdb->prefix}prli_links",
927
- "{$wpdb->prefix}prli_link_metas",
928
- "{$wpdb->prefix}prli_tweets",
929
- "{$wpdb->prefix}prli_keywords",
930
- "{$wpdb->prefix}prli_reports",
931
- "{$wpdb->prefix}prli_report_links",
932
- "{$wpdb->prefix}prli_link_rotations",
933
- "{$wpdb->prefix}prli_clicks_rotations" );
934
-
935
- foreach($prli_table_names as $prli_table_name)
936
- {
937
- $query = "ALTER TABLE {$prli_table_name} {$charset_collate}";
938
- $wpdb->query($query);
939
- }
940
- }
941
- }
942
-
943
- // Upgrade the twitter hide badges on pages / posts for pro users
944
- if($db_version and $db_version < 7)
945
- {
946
- if($prli_update->pro_is_installed())
947
- {
948
- global $prlipro_options;
949
-
950
- if(trim($prlipro_options->twitter_badge_hidden) != '')
951
- {
952
- $hidden_post_ids = explode(',',trim($prlipro_options->twitter_badge_hidden));
953
- foreach($hidden_post_ids as $post_id)
954
- {
955
- $prlipro_post_options = PrliProPostOptions::get_stored_object($post_id);
956
- $prlipro_post_options->hide_twitter_button = 1;
957
- $prlipro_post_options->store($post_id);
958
- }
959
- }
960
- }
961
- }
962
-
963
- if($db_version and $db_version < 8)
964
- {
965
- // Install / Upgrade Pretty Link Pro
966
- $prlipro_username = get_option( 'prlipro_username' );
967
- $prlipro_password = get_option( 'prlipro_password' );
968
-
969
- if( !empty($prlipro_username) and !empty($prlipro_password) )
970
- {
971
- $creds = array('username' => $prlipro_username,
972
- 'password' => $prlipro_password);
973
- update_option('prlipro-credentials', $creds);
974
- }
975
- }
976
-
977
- // Hiding pretty link custom fields
978
- if($db_version and $db_version < 10)
979
- {
980
- $query_str = "UPDATE {$wpdb->postmeta} SET meta_key=%s WHERE meta_key=%s";
981
-
982
- $query = $wpdb->prepare($query_str, '_pretty-link', 'pretty-link');
983
- $wpdb->query($query);
984
-
985
- $query = $wpdb->prepare($query_str, '_prli-keyword-cached-content', 'prli-keyword-cached-content');
986
- $wpdb->query($query);
987
-
988
- $query = $wpdb->prepare($query_str, '_prlipro-post-options', 'prlipro-post-options');
989
- $wpdb->query($query);
990
- }
991
-
992
- if($db_version and $db_version < 11)
993
- {
994
- /* Too much to handle on larger tweet databases -- this code will still be accessible by going to the following url:
995
- {$prli_blogurl}/wp-admin/admin.php?page=pretty-link/pro/prlipro-options.php&action=trim_dup_tweets
996
- // Clearing out duplicate tweets
997
- if($prli_update->pro_is_installed())
998
- {
999
- $block_size = 2000;
1000
- $upper_limit = $block_size - 1;
1001
- $tweet_table = "{$wpdb->prefix}prli_tweets";
1002
-
1003
- $query = $wpdb->prepare("SELECT count(DISTINCT twid) FROM {$tweet_table}");
1004
- $twid_count = $wpdb->get_var($query);
1005
-
1006
- for($offset=0; $offset < $twid_count; $offset += $block_size)
1007
- {
1008
- $limit = $offset + $upper_limit;
1009
- $query = $wpdb->prepare("SELECT id FROM {$tweet_table} GROUP BY twid LIMIT %d,%d",$offset,$limit);
1010
- $tweet_ids = $wpdb->get_col($query);
1011
-
1012
- if(is_array($tweet_ids) and count($tweet_ids) > 0)
1013
- {
1014
- $query = $wpdb->prepare("DELETE FROM {$tweet_table} WHERE id not in (" . implode(',', $tweet_ids) . ")");
1015
- $wpdb->query($query);
1016
- }
1017
- }
1018
- }
1019
- */
1020
- }
1021
- }
1022
-
1023
-
1024
- function migrate_after_db_upgrade()
1025
- {
1026
- global $prli_options, $prli_link, $prli_link_meta, $prli_click, $wpdb;
1027
- $db_version = (int)get_option('prli_db_version');
1028
-
1029
- if(!$db_version)
1030
- return;
1031
-
1032
- if($db_version and $db_version < 5)
1033
- {
1034
- // Migrate pretty-link-posted-to-twitter
1035
- $query = "SELECT * FROM {$wpdb->prefix}postmeta WHERE meta_key=%s";
1036
- $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter');
1037
- $posts_posted = $wpdb->get_results($query);
1038
-
1039
- foreach($posts_posted as $postmeta)
1040
- {
1041
- if($postmeta->meta_value == '1')
1042
- {
1043
- $link_id = PrliUtils::get_prli_post_meta($postmeta->post_id,'pretty-link',true);
1044
- $prli_link_meta->update_link_meta($link_id,'pretty-link-posted-to-twitter','1');
1045
- }
1046
- }
1047
-
1048
- // Cleanup
1049
- $query = "DELETE FROM {$wpdb->prefix}postmeta WHERE meta_key=%s OR meta_key=%s OR meta_key=%s OR meta_key=%s";
1050
- $query = $wpdb->prepare($query,'pretty-link-posted-to-twitter','pretty-link-tweet-count','pretty-link-tweet-last-update','prli-keyword-replacement-count');
1051
- $results = $wpdb->query($query);
1052
-
1053
- $query = "DELETE FROM {$prli_link_meta->table_name} WHERE meta_key=%s";
1054
- $query = $wpdb->prepare($query,'prli-url-aliases');
1055
- $results = $wpdb->query($query);
1056
- }
1057
- }
1058
-
1059
- function this_is_a_robot($browser_ua,&$browsecap,$header='')
1060
- {
1061
- $click = new PrliClick();
1062
- $click->browser = $browser_ua;
1063
- $click->btype = $browsecap['browser'];
1064
- return $this->is_robot($click, $browsecap, $header);
1065
- }
1066
-
1067
- function is_robot(&$click,&$browsecap,$header='')
1068
- {
1069
- global $prli_utils, $prli_click, $prli_options;
1070
- $ua_string = trim(urldecode($click->browser));
1071
- $btype = trim($click->btype);
1072
-
1073
- // Yah, if the whole user agent string is missing -- wtf?
1074
- if(empty($ua_string))
1075
- return 1;
1076
-
1077
- // If we're doing extended tracking and the Browser type
1078
- // was unidentifiable then it's most likely a bot
1079
- if( isset($prli_options->extended_tracking) and
1080
- $prli_options->extended_tracking == 'extended' and
1081
- empty($btype) )
1082
- return 1;
1083
-
1084
- // Some bots actually say they're bots right up front let's get rid of them asap
1085
- if(preg_match("#(bot|Bot|spider|Spider|crawl|Crawl)#",$ua_string))
1086
- return 1;
1087
-
1088
- $crawler = $browsecap['crawler'];
1089
-
1090
- // If php_browsecap tells us its a bot, let's believe him
1091
- if($crawler == 1)
1092
- return 1;
1093
-
1094
- return 0;
1095
- }
1096
-
1097
- function get_permalink_pre_slug_uri($force=false,$trim=false)
1098
- {
1099
- global $prli_options;
1100
-
1101
- if($force or $prli_options->link_prefix)
1102
- {
1103
- preg_match('#^([^%]*?)%#', get_option('permalink_structure'), $struct);
1104
- $pre_slug_uri = $struct[1];
1105
-
1106
- if($trim)
1107
- {
1108
- $pre_slug_uri = trim($pre_slug_uri);
1109
- $pre_slug_uri = preg_replace('#^/#','',$pre_slug_uri);
1110
- $pre_slug_uri = preg_replace('#/$#','',$pre_slug_uri);
1111
- }
1112
-
1113
- return $pre_slug_uri;
1114
- }
1115
- else
1116
- return '/';
1117
- }
1118
-
1119
- function get_permalink_pre_slug_regex()
1120
- {
1121
- $pre_slug_uri = PrliUtils::get_permalink_pre_slug_uri(true);
1122
-
1123
- if(empty($pre_slug_uri))
1124
- return '/';
1125
- else
1126
- return "{$pre_slug_uri}|/";
1127
- }
1128
-
1129
- function rewriting_on()
1130
- {
1131
- $permalink_structure = get_option('permalink_structure');
1132
-
1133
- return ($permalink_structure and !empty($permalink_structure));
1134
- }
1135
-
1136
- function get_prli_post_meta($post_id, $key, $single=false)
1137
- {
1138
- if( isset($post_id) and !empty($post_id) and
1139
- $post_id and is_numeric($post_id) )
1140
- return get_post_meta($post_id, $key, $single);
1141
- else
1142
- return false;
1143
- }
1144
-
1145
- function update_prli_post_meta($post_id, $meta_key, $meta_value)
1146
- {
1147
- if( isset($post_id) and !empty($post_id) and
1148
- $post_id and is_numeric($post_id) )
1149
- return update_post_meta($post_id, $meta_key, $meta_value);
1150
- else
1151
- return false;
1152
- }
1153
-
1154
- function delete_prli_post_meta($post_id, $key)
1155
- {
1156
- if( isset($post_id) and !empty($post_id) and
1157
- $post_id and is_numeric($post_id) )
1158
- return delete_post_meta($post_id, $key);
1159
- else
1160
- return false;
1161
- }
1162
-
1163
- /** Gets rid of any pretty link postmetas created without a post_id **/
1164
- function clear_unknown_post_metas()
1165
- {
1166
- global $wpdb;
1167
-
1168
- $query = "SELECT count(*) FROM {$wpdb->postmeta} WHERE ( meta_key LIKE 'prli%' OR meta_key LIKE 'pretty-link%' OR meta_key LIKE '_prli%' OR meta_key LIKE '_pretty-link%' ) AND post_id=0";
1169
- $count = $wpdb->get_var($query);
1170
-
1171
- if($count)
1172
- {
1173
- $query = "DELETE FROM {$wpdb->postmeta} WHERE ( meta_key LIKE 'prli%' OR meta_key LIKE 'pretty-link%' OR meta_key LIKE '_prli%' OR meta_key LIKE '_pretty-link%' ) AND post_id=0";
1174
- $wpdb->query($query);
1175
- }
1176
- }
1177
- }
1178
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/models/models.inc.php DELETED
@@ -1,74 +0,0 @@
1
- <?php
2
- require_once(PRLI_MODELS_PATH.'/PrliLink.php');
3
- require_once(PRLI_MODELS_PATH.'/PrliClick.php');
4
- require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
5
- require_once(PRLI_MODELS_PATH.'/PrliUtils.php');
6
- require_once(PRLI_MODELS_PATH.'/PrliUrlUtils.php');
7
- require_once(PRLI_MODELS_PATH.'/PrliLinkMeta.php');
8
- require_once(PRLI_MODELS_PATH.'/PrliUpdate.php');
9
-
10
- global $prli_link;
11
- global $prli_link_meta;
12
- global $prli_click;
13
- global $prli_group;
14
- global $prli_utils;
15
- global $prli_url_utils;
16
- global $prli_update;
17
-
18
- $prli_link = new PrliLink();
19
- $prli_link_meta = new PrliLinkMeta();
20
- $prli_click = new PrliClick();
21
- $prli_group = new PrliGroup();
22
- $prli_utils = new PrliUtils();
23
- $prli_url_utils = new PrliUrlUtils();
24
- $prli_update = new PrliUpdate();
25
-
26
- global $prli_db_version;
27
- global $prlipro_db_version;
28
-
29
- $prli_db_version = 12; // this is the version of the database we're moving to
30
- $prlipro_db_version = 2; // this is the version of the database we're moving to
31
-
32
- // Load Controller(s)
33
- require_once( PRLI_CONTROLLERS_PATH.'/PrliAppController.php');
34
-
35
- global $prli_app_controller;
36
-
37
- $prli_app_controller = new PrliAppController();
38
-
39
- function prli_get_main_message( $message = "Get started by <a href=\"?page=pretty-link/prli-links.php&action=new\">adding a URL</a> that you want to turn into a pretty link.<br/>Come back to see how many times it was clicked.", $expiration=3600) // Get new messages every 1 hour
40
- {
41
- global $prli_update, $wp_version;
42
- include_once(ABSPATH."/wp-includes/class-IXR.php");
43
-
44
- $message_mothership = (($prli_update->pro_is_installed_and_authorized())?'http://prettylinkpro.com/xmlrpc.php':'http://blairwilliams.com/xmlrpc.php');
45
-
46
- if( version_compare($wp_version, '3.0', '>=') )
47
- $messages = get_site_transient('_prli_messages'); // for WordPress 3.0
48
- else
49
- $messages = get_transient('_prli_messages'); // for WordPress 2.8+
50
-
51
- // if the messages array has expired go back to the mothership
52
- if($messages === false)
53
- {
54
- $client = new IXR_Client($message_mothership);
55
- if ($client->query('prli.get_main_message_array'))
56
- $messages = $client->getResponse();
57
-
58
- // If we're having connection issues on the mothership then store the default message in the transient
59
- if(empty($messages) or !$messages or !is_array($messages))
60
- $messages = array($message);
61
-
62
- if( version_compare($wp_version, '3.0', '>=') )
63
- set_site_transient("_prli_messages", $messages, $expiration); // for WordPress 3.0
64
- else
65
- set_transient("_prli_messages", $messages, $expiration); // for WordPress 2.8+
66
- }
67
-
68
- if(empty($messages) or !$messages or !is_array($messages))
69
- return $message;
70
- else
71
- return $messages[array_rand($messages)];
72
- }
73
-
74
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-clicks/csv.php DELETED
@@ -1,22 +0,0 @@
1
- <?php
2
- if(is_user_logged_in() and current_user_can('level_10'))
3
- {
4
-
5
- $filename = date("ymdHis",time()) . '_' . $link_name . '_pretty_link_clicks_' . $hmin . '-' . $hmax . '.csv';
6
- header("Content-Type: text/x-csv");
7
- header("Content-Disposition: attachment; filename=\"$filename\"");
8
- header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
9
- header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
10
- header("Cache-Control: no-cache, must-revalidate");
11
- header("Pragma: no-cache");
12
-
13
- echo '"Browser","Browser Version","Platform","IP","Visitor ID","Timestamp","Host","URI","Referrer","Link"' . "\n";
14
- foreach($clicks as $click)
15
- {
16
- $link = $prli_link->getOne($click->link_id);
17
-
18
- echo "\"$click->btype\",\"$click->bversion\",\"$click->os\",\"$click->ip\",\"$click->vuid\",\"$click->created_at\",\"$click->host\",\"$click->uri\",\"$click->referer\",\"" . ((empty($link->name))?$link->slug:$link->name) . "\"\n";
19
- }
20
- }
21
- else
22
- header("Location: " . $prli_blogurl);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-clicks/head.php DELETED
@@ -1,106 +0,0 @@
1
- <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
- <!-- JQuery UI Includes -->
3
- <link type="text/css" href="<?php echo PRLI_URL; ?>/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
4
- <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
5
- <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-ui-1.7.1.custom.min.js"></script>
6
-
7
- <script type="text/javascript">
8
- $(document).ready(function(){
9
- $("#sdate").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: -30, minDate: -<?php echo esc_js($min_date); ?>, maxDate: 0 });
10
- $("#edate").datepicker({ dateFormat: 'yy-mm-dd', minDate: -<?php echo esc_js($min_date); ?>, maxDate: 0 });
11
- });
12
- </script>
13
-
14
- <script type="text/javascript">
15
- $(document).ready(function(){
16
- $(".filter_pane").hide();
17
- $(".filter_toggle").click( function () {
18
- $(".filter_pane").slideToggle("slow");
19
- });
20
- });
21
- </script>
22
-
23
- <style type="text/css">
24
- .filter_toggle {
25
- line-height: 34px;
26
- font-size: 14px;
27
- font-weight: bold;
28
- padding-bottom: 10px;
29
- }
30
-
31
- .filter_pane {
32
- background-color: white;
33
- border: 2px solid #777777;
34
- height: 275px;
35
- width: 600px;
36
- padding-left: 20px;
37
- padding-top: 10px;
38
- }
39
-
40
- </style>
41
-
42
- <!-- Open Flash Chart Includes -->
43
- <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/version-2-kvasir/js/json/json2.js"></script>
44
- <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/version-2-kvasir/js/swfobject.js"></script>
45
- <script type="text/javascript">
46
- swfobject.embedSWF("<?php echo PRLI_URL; ?>/includes/version-2-kvasir/open-flash-chart.swf", "my_chart", "100%", "250", "9.0.0");
47
- </script>
48
-
49
- <script type="text/javascript">
50
-
51
- function ofc_ready()
52
- {
53
- //alert('ofc_ready');
54
- }
55
-
56
- function open_flash_chart_data()
57
- {
58
- //alert( 'reading data' );
59
- return JSON.stringify(data);
60
- }
61
-
62
- function findSWF(movieName) {
63
- if (navigator.appName.indexOf("Microsoft")!= -1) {
64
- return window[movieName];
65
- } else {
66
- return document[movieName];
67
- }
68
- }
69
-
70
- OFC = {};
71
-
72
- OFC.jquery = {
73
- name: "jQuery",
74
- version: function(src) { return $('#'+ src)[0].get_version() },
75
- rasterize: function (src, dst) { $('#'+ dst).replaceWith(OFC.jquery.image(src)) },
76
- image: function(src) { return "<img src='data:image/png;base64," + $('#'+src)[0].get_img_binary() + "' />"},
77
- popup: function(src) {
78
- var img_win = window.open('', 'Charts: Export as Image')
79
- with(img_win.document) {
80
- write('<html><head><title>Charts: Export as Image<\/title><\/head><body>' + OFC.jquery.image(src) + '<div>Right-Click on the above Image to Save<\/div><\/body><\/html>') }
81
- // stop the 'loading...' message
82
- img_win.document.close();
83
- }
84
- }
85
-
86
- // Using an object as namespaces is JS Best Practice. I like the Control.XXX style.
87
- //if (!Control) {var Control = {}}
88
- //if (typeof(Control == "undefined")) {var Control = {}}
89
- if (typeof(Control == "undefined")) {var Control = {OFC: OFC.jquery}}
90
-
91
-
92
- // By default, right-clicking on OFC and choosing "save image locally" calls this function.
93
- // You are free to change the code in OFC and call my wrapper (Control.OFC.your_favorite_save_method)
94
- // function save_image() { alert(1); Control.OFC.popup('my_chart') }
95
- function save_image() {
96
- //alert(1);
97
- OFC.jquery.popup('my_chart')
98
- }
99
-
100
- function moo() {
101
- //alert(99);
102
- };
103
-
104
- var data = <?php echo $prli_click->setupClickLineGraph($start_timestamp,$end_timestamp,$link_id,$type,$group); ?>;
105
-
106
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-clicks/list.php DELETED
@@ -1,170 +0,0 @@
1
- <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
- <div class="wrap">
3
- <?php
4
- require(PRLI_VIEWS_PATH.'/shared/nav.php');
5
- ?>
6
- <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Hits</h2>
7
- <span style="font-size: 14px; font-weight: bold;">For <?php echo stripslashes($link_name); ?>: </span>
8
- <?php
9
- // Don't show this sheesh if we're displaying the vuid or ip grouping
10
- if(empty($params['ip']) and empty($params['vuid']))
11
- {
12
- ?>
13
- <a href="#" style="display:inline;" class="filter_toggle">Customize Report</a>
14
- <?php
15
- }
16
- ?>
17
- <?php
18
- if(!empty($params['l']) and $params['l'] != 'all')
19
- echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-links.php">&laquo Back to Links</a>';
20
- else if(!empty($params['ip']) or !empty($params['vuid']))
21
- echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-clicks.php">&laquo Back to Hits</a>';
22
-
23
- if(empty($params['ip']) and empty($params['vuid']))
24
- {
25
- ?>
26
-
27
-
28
- <div class="filter_pane">
29
- <form class="form-fields" name="form2" method="post" action="">
30
- <?php wp_nonce_field('prli-reports'); ?>
31
- <span>Type:</span>&nbsp;
32
- <select id="type" name="type" style="display: inline;">
33
- <option value="all"<?php print ((empty($params['type']) or $params['type'] == "all")?" selected=\"true\"":""); ?>>All Hits&nbsp;</option>
34
- <option value="unique"<?php print (($params['type'] == "unique")?" selected=\"true\"":""); ?>>Unique Hits&nbsp;</option>
35
- </select>
36
- <br/>
37
- <br/>
38
- <span>Date Range:</span>
39
- <div id="dateselectors" style="display: inline;">
40
- <input type="text" name="sdate" id="sdate" value="<?php echo $params['sdate']; ?>" style="display:inline;"/>&nbsp;to&nbsp;<input type="text" name="edate" id="edate" value="<?php echo $params['edate']; ?>" style="display:inline;"/>
41
- </div>
42
- <br/>
43
- <br/>
44
- <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Customize"/> or <a href="#" class="filter_toggle">Cancel</a></div>
45
- </form>
46
- </div>
47
-
48
- <div id="my_chart"></div>
49
-
50
- <?php
51
- }
52
- $navstyle = "float: right;";
53
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
54
- ?>
55
-
56
- <div id="search_pane" style="padding-top: 5px;">
57
- <form class="form-fields" name="click_form" method="post" action="">
58
- <?php wp_nonce_field('prli-clicks'); ?>
59
-
60
- <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
61
- <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
62
- <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
63
- <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search Hits"/>
64
- <?php
65
- if(!empty($search_str))
66
- {
67
- ?>
68
- or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo (!empty($params['l'])?'&l='.$params['l']:''); ?>">Reset</a>
69
- <?php
70
- }
71
- ?>
72
- </div>
73
- </form>
74
- </div>
75
- <table class="widefat post fixed" cellspacing="0">
76
- <thead>
77
- <tr>
78
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
79
- <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=btype<?php echo (($sort_str == 'btype' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Browser<?php echo (($sort_str == 'btype')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
80
- </th>
81
- <?php } ?>
82
- <th class="manage-column" width="12%">
83
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=ip<?php echo (($sort_str == 'ip' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">IP<?php echo (($sort_str == 'ip')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
84
- </th>
85
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
86
- <th class="manage-column" width="12%">
87
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=vuid<?php echo (($sort_str == 'vuid' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Visitor<?php echo (($sort_str == 'vuid')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
88
- </th>
89
- <?php } ?>
90
- <th class="manage-column" width="13%">
91
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Timestamp<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
92
- </th>
93
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
94
- <th class="manage-column" width="16%">
95
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=host<?php echo (($sort_str == 'host' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Host<?php echo (($sort_str == 'host')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
96
- </th>
97
- <?php } ?>
98
- <th class="manage-column" width="16%">
99
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=uri<?php echo (($sort_str == 'uri' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">URI<?php echo (($sort_str == 'uri')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
100
- </th>
101
- <th class="manage-column" width="16%">
102
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=referer<?php echo (($sort_str == 'referer' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Referrer<?php echo (($sort_str == 'referer')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
103
- </th>
104
- <th class="manage-column" width="13%">
105
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php<?php echo $sort_params; ?>&sort=link<?php echo (($sort_str == 'link' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Link<?php echo (($sort_str == 'link')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a>
106
- </th>
107
- </tr>
108
- </thead>
109
- <?php
110
-
111
- if(count($clicks) <= 0)
112
- {
113
- ?>
114
- <tr>
115
- <td colspan="7">No Hits have been recorded yet</td>
116
- </tr>
117
- <?php
118
- }
119
- else
120
- {
121
- foreach($clicks as $click)
122
- {
123
- ?>
124
- <tr>
125
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
126
- <td><img src="<?php echo esc_html(PRLI_BROWSER_URL); ?>/<?php echo prli_browser_image($click->btype); ?>" alt="<?php echo $click->btype . " v" . $click->bversion; ?>" title="<?php echo $click->btype . " v" . $click->bversion; ?>"/>&nbsp;<img src="<?php echo esc_html(PRLI_OS_URL); ?>/<?php echo prli_os_image($click->os); ?>" alt="<?php echo $click->os; ?>" title="<?php echo $click->os; ?>"/></td>
127
- <?php } ?>
128
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&ip=<?php echo $click->ip; ?>" title="View All Activity for IP Address: <?php echo $click->ip; ?>"><?php echo $click->ip; ?> (<?php echo $click->ip_count; ?>)</a></td>
129
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
130
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
131
- <?php } ?>
132
- <td><?php echo $click->created_at; ?></td>
133
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
134
- <td><?php echo $click->host; ?></td>
135
- <?php } ?>
136
- <td><?php echo $click->uri; ?></td>
137
- <td><?php echo $click->referer; ?></td>
138
- <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo stripslashes($click->link_name); ?>"><?php echo stripslashes($click->link_name); ?></a></td>
139
- </tr>
140
- <?php
141
- }
142
- }
143
- ?>
144
- <tfoot>
145
- <tr>
146
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
147
- <th class="manage-column">Browser</th>
148
- <?php } ?>
149
- <th class="manage-column">IP</th>
150
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
151
- <th class="manage-column">Visitor</th>
152
- <?php } ?>
153
- <th class="manage-column">Timestamp</th>
154
- <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
155
- <th class="manage-column">Host</th>
156
- <?php } ?>
157
- <th class="manage-column">URI</th>
158
- <th class="manage-column">Referrer</th>
159
- <th class="manage-column">Link</th>
160
- </tr>
161
- </tfoot>
162
- </table>
163
-
164
- <a href="?page=pretty-link/prli-clicks.php&action=csv<?php echo $page_params; ?>">Download CSV (<?php echo stripslashes($link_name); ?>)</a>
165
-
166
- <?php
167
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
168
- ?>
169
-
170
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-dashboard-widget/widget.php DELETED
@@ -1,24 +0,0 @@
1
- <?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
2
- <div class="wrap">
3
- <a href="http://blairwilliams.com/pretty-link"><img style="float: left; border: 0px;" src="<?php echo PRLI_IMAGES_URL . '/prettylink_logo_small.jpg'; ?>"/></a><div style="min-height: 48px;"><div style="min-height: 18px; margin-left: 137px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 11px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo esc_html($message); ?></p></div></div>
4
-
5
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
6
- <input type="hidden" name="action" value="quick-create">
7
- <?php wp_nonce_field('update-options'); ?>
8
-
9
- <table class="form-table">
10
- <tr class="form-field">
11
- <td valign="top">Target URL</td>
12
- <td><input type="text" name="url" value="" size="75">
13
- </tr>
14
- <tr>
15
- <td valign="top">Pretty Link</td>
16
- <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
17
- </tr>
18
- </table>
19
-
20
- <p class="submit">
21
- <input type="submit" name="Submit" value="Create" />
22
- </p>
23
- </form>
24
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-groups/edit.php DELETED
@@ -1,58 +0,0 @@
1
- <div class="wrap">
2
- <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Group</h2>
3
-
4
- <?php
5
- require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
- ?>
7
-
8
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">
9
- <input type="hidden" name="action" value="update">
10
- <input type="hidden" name="id" value="<?php echo $id; ?>">
11
- <?php wp_nonce_field('update-options'); ?>
12
-
13
- <table class="form-table">
14
- <tr class="form-field">
15
- <td width="75px" valign="top">Name: </td>
16
- <td><input type="text" name="name" value="<?php echo htmlspecialchars(stripslashes((($_POST['name'] != null and $record == null)?$_POST['name']:$record->name))); ?>" size="75">
17
- <br/><span class="setting-description">This is how you'll identify your Group.</span></td>
18
- </tr>
19
- <tr class="form-field">
20
- <td valign="top">Description: </td>
21
- <td><textarea style="height: 100px;" name="description"><?php echo (($_POST['description'] != null and $record == null)?$_POST['description']:$record->description); ?></textarea>
22
- <br/><span class="setting-description">A Description of this group.</span></td>
23
- </tr>
24
- <tr class="form-field" valign="top">
25
- <td valign="top">Links: </td>
26
- <td valign="top">
27
- <div style="height: 150px; width: 95%; border: 1px solid #8cbdd5; overflow: auto;">
28
- <table width="100%" cellspacing="0">
29
- <thead style="background-color: #dedede; padding: 0px; margin: 0px; line-height: 8px; font-size: 14px;">
30
- <th style="padding-left: 5px; margin: 0px; width: 50%; min-width: 50%;"><strong>Name</strong></th>
31
- <th style="padding-left: 5px; margin: 0px; width: 50%; min-width: 50%;"><strong>Current Group</strong></th>
32
- </thead>
33
- <?php
34
- for($i = 0; $i < count($links); $i++)
35
- {
36
- $link = $links[$i];
37
- ?>
38
- <tr style="line-height: 15px; font-size: 12px;<?php echo (($i%2)?' background-color: #efefef;':''); ?>">
39
- <td style="min-width: 50%; width: 50%"><input type="checkbox" style="display:inline;width: 15px; padding: 0; margin: 0; float: left; text-align: left;" name="link[<?php echo $link->id; ?>]" <?php echo (((isset($_POST['link'][$link->id]) and $_POST['link'][$link->id] == 'on') or (empty($_POST) and $link->group_id == $record->id))?'checked="true"':''); ?>/><span>&nbsp;<?php echo htmlspecialchars(stripslashes($link->name)) . " <strong>(" . $link->slug . ")</strong>"; ?></span></td>
40
- <td style="min-width: 50%; width: 50%"><?php echo htmlspecialchars(stripslashes($link->group_name)); ?></td>
41
- </tr>
42
- <?php
43
-
44
- }
45
- ?>
46
- </table>
47
- </div>
48
- <span class="setting-description">Select some links for this group. <strong>Note: each link can only be in one group at a time.</strong></span></td>
49
- </td>
50
- </tr>
51
- </table>
52
-
53
- <p class="submit">
54
- <input type="submit" name="Submit" value="Update" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">Cancel</a>
55
- </p>
56
-
57
- </form>
58
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-groups/head.php DELETED
@@ -1,35 +0,0 @@
1
- <script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
2
- <script type="text/javascript">
3
- jQuery(document).ready(function() {
4
- jQuery('.group_actions').hide();
5
- jQuery('.edit_group').hover(
6
- function() {
7
- jQuery(this).children(".group_actions").show();
8
- },
9
- function() {
10
- jQuery(this).children(".group_actions").hide();
11
- }
12
- );
13
- });
14
- </script>
15
-
16
- <style type="text/css">
17
-
18
- .advanced_toggle {
19
- line-height: 34px;
20
- font-size: 12px;
21
- font-weight: bold;
22
- padding-bottom: 10px;
23
- }
24
-
25
- .edit_group {
26
- height: 50px;
27
- }
28
- .group_name {
29
- font-size: 12px;
30
- font-weight: bold;
31
- }
32
- .group_actions {
33
- padding-top: 5px;
34
- }
35
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-groups/list.php DELETED
@@ -1,85 +0,0 @@
1
- <div class="wrap">
2
- <?php
3
- require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
- ?>
5
- <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Groups</h2>
6
- <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
7
- <div id="search_pane" style="float: right;">
8
- <form class="form-fields" name="group_form" method="post" action="">
9
- <?php wp_nonce_field('prli-groups'); ?>
10
- <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
11
- <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
12
- <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
13
- <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search"/>
14
- <?php
15
- if(!empty($search_str))
16
- {
17
- ?>
18
- or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php">Reset</a>
19
- <?php
20
- }
21
- ?>
22
- </div>
23
- </form>
24
- </div>
25
- <div id="button_bar">
26
- <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=new">Add a Pretty Link Group</a></p>
27
- </div>
28
-
29
- <?php
30
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
31
- ?>
32
- <table class="widefat post fixed" cellspacing="0">
33
- <thead>
34
- <tr>
35
- <th class="manage-column" width="50%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
36
- <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=link_count<?php echo (($sort_str == 'link_count' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'link_count')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
37
- <th class="manage-column" width="30%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL.'/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
38
- </tr>
39
- </thead>
40
- <?php
41
-
42
- if($record_count <= 0)
43
- {
44
- ?>
45
- <tr>
46
- <td colspan="5">No Pretty Link Groups were found</td>
47
- </tr>
48
- <?php
49
- }
50
- else
51
- {
52
- foreach($groups as $group)
53
- {
54
- ?>
55
- <tr>
56
- <td class="edit_group">
57
- <a class="group_name" href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo htmlspecialchars(stripslashes($group->name)); ?></a>
58
- <br/>
59
- <div class="group_actions">
60
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Edit</a>&nbsp;|
61
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=destroy&id=<?php echo $group->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo htmlspecialchars(stripslashes($group->name)); ?> Pretty Link Group?');" title="Delete <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Delete</a>&nbsp;|
62
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Links</a>&nbsp;|
63
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
64
- </div>
65
- </td>
66
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
67
- <td><?php echo $group->created_at; ?></td>
68
- </tr>
69
- <?php
70
- }
71
- }
72
- ?>
73
- <tfoot>
74
- <tr>
75
- <th class="manage-column">Name</th>
76
- <th class="manage-column">Links</th>
77
- <th class="manage-column">Created</th>
78
- </tr>
79
- </tfoot>
80
- </table>
81
- <?php
82
- require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
83
- ?>
84
-
85
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-groups/new.php DELETED
@@ -1,59 +0,0 @@
1
- <div class="wrap">
2
- <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Group</h2>
3
-
4
- <?php
5
- require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
- ?>
7
-
8
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">
9
- <input type="hidden" name="action" value="create">
10
- <?php wp_nonce_field('update-options'); ?>
11
- <input type="hidden" name="id" value="<?php echo $id; ?>">
12
-
13
- <table class="form-table">
14
- <tr class="form-field">
15
- <td width="75px" valign="top">Name*: </td>
16
- <td><input type="text" name="name" value="<?php echo (($_POST['name'] != null)?$_POST['name']:''); ?>" size="75">
17
- <br/><span class="setting-description">This is how you'll identify your Group.</span></td>
18
- </tr>
19
- <tr class="form-field">
20
- <td valign="top">Description: </td>
21
- <td><textarea style="height: 100px;" name="description"><?php echo (($_POST['description'] != null)?$_POST['description']:''); ?></textarea>
22
- <br/><span class="setting-description">A Description of this group.</span></td>
23
- </tr>
24
- <tr class="form-field" valign="top">
25
- <td valign="top">Links: </td>
26
- <td valign="top">
27
- <div style="height: 150px; width: 95%; border: 1px solid #8cbdd5; overflow: auto;">
28
- <table width="100%" cellspacing="0">
29
- <thead style="background-color: #dedede; padding: 0px; margin: 0px; line-height: 8px; font-size: 14px;">
30
- <th width="50%" style="padding-left: 5px; margin: 0px;"><strong>Name</strong></th>
31
- <th width="50%" style="padding-left: 5px; margin: 0px;"><strong>Current Group</strong></th>
32
- </thead>
33
- <?php
34
- for($i = 0; $i < count($links); $i++)
35
- {
36
- $link = $links[$i];
37
- ?>
38
- <tr style="line-height: 15px; font-size: 12px;<?php echo (($i%2)?' background-color: #efefef;':''); ?>">
39
- <td style="min-width: 50%; width: 50%;"><input type="checkbox" style="width: 15px;" name="link[<?php echo $link->id; ?>]" <?php echo ((isset($_POST['link'][$link->id]) and $_POST['link'][$link->id] == 'on')?'checked="true"':''); ?>/>&nbsp;<?php echo htmlspecialchars(stripslashes($link->name)) . " <strong>(" . $link->slug . ")</strong>"; ?></td>
40
- <td style="min-width: 50%; width: 50%;"><?php echo htmlspecialchars(stripslashes($link->group_name)); ?></td>
41
- </tr>
42
- <?php
43
-
44
- }
45
- ?>
46
- </table>
47
- </div>
48
- <span class="setting-description">Select some links for this group. <strong>Note: each link can only be in one group at a time.</strong></span></td>
49
- </td>
50
- </tr>
51
- </table>
52
- </div>
53
-
54
- <p class="submit">
55
- <input type="submit" name="Submit" value="Create" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-groups.php">Cancel</a>
56
- </p>
57
-
58
- </form>
59
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/bar.php DELETED
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html>
3
- <head>
4
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
6
- <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
7
- </head>
8
- <frameset rows="66,*" framespacing=0 frameborder=0>
9
- <frame src="<?php echo PRLI_URL . "/pretty-bar.php?slug=".$pretty_link->slug . "&url=".urlencode($pretty_link_url.$param_string); ?>" noresize frameborder=0 scrolling=no marginwidth=0 marginheight=0 style="">
10
- <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
11
- <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
12
- </frameset>
13
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/edit.php DELETED
@@ -1,22 +0,0 @@
1
- <div class="wrap">
2
- <h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Edit Link</h2>
3
-
4
- <?php
5
- require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
- ?>
7
-
8
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
9
- <input type="hidden" name="action" value="update">
10
- <input type="hidden" name="id" value="<?php echo $id; ?>">
11
- <?php wp_nonce_field('update-options'); ?>
12
-
13
- <?php
14
- require(PRLI_VIEWS_PATH.'/prli-links/form.php');
15
- ?>
16
-
17
- <p class="submit">
18
- <input type="submit" name="Submit" value="Update" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">Cancel</a>
19
- </p>
20
-
21
- </form>
22
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/form.php DELETED
@@ -1,99 +0,0 @@
1
- <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
- <table class="form-table">
3
- <tr class="form-field">
4
- <td width="75px" valign="top">Target URL*: </td>
5
- <td><textarea style="height: 50px;" name="url"><?php echo esc_html(htmlentities($values['url'],ENT_COMPAT,'UTF-8')); ?></textarea>
6
- <a class="toggle">&nbsp;[?]</a>
7
- <span class="description toggle_pane"><br/>Enter the URL you want to mask and track. Don't forget to start your url with <code>http://</code> or <code>https://</code>. Example: <code>http://www.yoururl.com</code></span></td>
8
- </tr>
9
- <tr>
10
- <td valign="top">Pretty Link*: </td>
11
- <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo esc_attr($values['slug']); ?>" size="50"/>
12
- <a class="toggle">&nbsp;[?]</a>
13
- <span class="toggle_pane description"><br/>Enter the slug (word trailing your main URL) that will form your pretty link and redirect to the URL above.</span></td>
14
- </tr>
15
- <tr class="form-field">
16
- <td width="75px" valign="top">Title: </td>
17
- <td><input type="text" name="name" value="<?php echo esc_attr($values['name']); ?>" />
18
- <a class="toggle">&nbsp;[?]</a>
19
- <span class="description toggle_pane"><br/>This will act as the title of your Pretty Link. If a name is not entered here then the slug name will be used.</span></td>
20
- </tr>
21
- <tr class="form-field">
22
- <td valign="top">Description: </td>
23
- <td><textarea style="height: 50px;" name="description"><?php echo esc_html($values['description']); ?></textarea>
24
- </select><a class="toggle">&nbsp;[?]</a>
25
- <span class="toggle_pane description"><br/>A Description of this link.</span></td>
26
- </tr>
27
- </table>
28
- <h3><a class="options-table-toggle">Link Options <span class="expand-options" style="display: none;">[+]</span><span class="collapse-options">[-]</span></a> <span class="expand-collapse" style="display: none"><a class="expand-all" title="Show all option instructions.">&nbsp;[?]</a><a class="collapse-all" title="Hide all option instructions." style="display: none;">&nbsp;[?]</a></span></h3>
29
- <table class="options-table">
30
- <tr>
31
- <td valign="top" width="50%">
32
- <h3>Group&nbsp;</h3>
33
- <div class="pane">
34
- <select name="group_id" style="padding: 0px; margin: 0px;">
35
- <option>None</option>
36
- <?php
37
- foreach($values['groups'] as $group)
38
- {
39
- ?>
40
- <option value="<?php echo esc_attr($group['id']); ?>"<?php echo esc_html($group['value']); ?>><?php echo esc_html($group['name']); ?>&nbsp;</option>
41
- <?php
42
- }
43
- ?>
44
- </select><a class="toggle">&nbsp;[?]</a>
45
- <div class="toggle_pane description">Select a group for this link.</div>
46
- </div>
47
- <br/>
48
- <h3>Redirection Type&nbsp;</h3>
49
- <div class="pane">
50
- <select id="redirect_type" name="redirect_type" style="padding: 0px; margin: 0px;">
51
- <option value="307"<?php echo esc_html($values['redirect_type']['307']); ?>>307 (Temporary)&nbsp;</option>
52
- <option value="301"<?php echo esc_html($values['redirect_type']['301']); ?>>301 (Permanent)&nbsp;</option>
53
- <?php do_action('prli_redirection_types', $values); ?>
54
- </select><a class="toggle">&nbsp;[?]</a>
55
- <div class="toggle_pane description"><strong>307 Redirection</strong> is the best option if your Target URL could possibly change or need accurate reporting for this link.<br/><br/><strong>301 Redirection</strong> is the best option if you're <strong>NOT</strong> planning on changing your Target URL. Traditionally this option is considered to be the best approach to use for your SEO/SEM efforts but since Pretty Link uses your domain name either way this notion isn't necessarily true for Pretty Links. Also, this option may not give you accurate reporting since proxy and caching servers may go directly to your Target URL once it's cached.<br/><br/><strong>Pretty Bar Redirection</strong> is the best option if you want to show the Pretty Bar at the top of the page when redirecting to the Target URL.<br/><br/><strong>Cloak Redirection</strong> is the best option if you don't want your Target URL to be visible even after the redirection. This way, if a Target URL doesn't redirect to a URL you want to show then this will mask it.<br/><br/><strong>Pixel Redirection</strong> is the option you should select if you want this link to behave like a tracking pixel instead of as a link. This option is useful if you want to track the number of times a page or email is opened. If you place your Pretty Link inside an img tag on the page (Example: <code>&lt;img src="<?php echo esc_html($prli_blogurl . "/yourslug"); ?>" /&gt;</code>) then the page load will be tracked as a click and then displayed. Note: If this option is selected your Target URL will simply be ignored if there's a value in it.</div>
56
- <?php global $prli_update; ?>
57
- <?php if(!$prli_update->pro_is_installed_and_authorized()) { ?>
58
- <p class="description">To Enable Cloaking &amp; Pretty Bar<br/>Upgrade to <a href="http://prettylinkpro.com">Pretty Link Pro</a></p>
59
- <?php } ?>
60
- </div>
61
- <br/>
62
- <h3>SEO Options</h3>
63
- <div class="pane">
64
- <input type="checkbox" name="nofollow" <?php echo esc_html($values['nofollow']); ?>/>&nbsp; 'Nofollow' this Link <a class="toggle">&nbsp;[?]</a>
65
- <div class="toggle_pane description">Select this if you want to add a nofollow code to this link. A nofollow will prevent reputable spiders and robots from following or indexing this link.</div>
66
- </div>
67
- </td>
68
- <td valign="top" width="50%">
69
- <h3>Tracking Options</h3>
70
- <div class="pane">
71
- <input type="checkbox" name="track_me" <?php echo esc_html($values['track_me']); ?>/>&nbsp; Track this Link <a class="toggle">&nbsp;[?]</a>
72
- <div class="toggle_pane description">De-select this option if you don't want this link tracked. If de-selected, this link will still redirect to the target URL but hits on it won't be recorded in the database.</div>
73
- </div>
74
- <br/>
75
- <a name="param_forwarding_pos" height="0"></a>
76
- <h3>Parameter Forwarding</h3>
77
- <ul style="list-style-type: none" class="pane">
78
- <li>
79
- <input type="radio" name="param_forwarding" value="off" <?php echo esc_html($values['param_forwarding']['off']); ?>/>&nbsp;Forward Parameters Off <a class="toggle">&nbsp;[?]</a>
80
- <div class="toggle_pane description">You may want to leave this option off if you don't need to forward any parameters on to your Target URL.</div>
81
- </li>
82
- <li>
83
- <input type="radio" name="param_forwarding" value="on" <?php echo esc_html($values['param_forwarding']['on']); ?> />&nbsp;Standard Parameter Forwarding <a class="toggle">&nbsp;[?]</a>
84
- <div class="toggle_pane description">Select this option if you want to forward parameters through your pretty link to your Target URL. This will allow you to pass parameters in the standard syntax for example the pretty link <code>http://yoururl.com/coollink?product_id=4&sku=5441</code> will forward to the target URL and append the same parameters like so: <code>http://anotherurl.com?product_id=4&sku=5441</code>.</div>
85
- </li>
86
- <!--
87
- <li>
88
- <input type="radio" name="param_forwarding" value="custom" <?php echo esc_html($values['param_forwarding']['custom']); ?> />&nbsp;Custom Parameter Forwarding&nbsp;&nbsp;<input type="text" name="param_struct" value="<?php echo esc_attr($values['param_struct']); ?>" size="25"/> <a class="toggle">&nbsp);[?]</a>
89
- <div class="toggle_pane description">Select this option if you want to forward parameters through your Pretty Link to your Target URL and write the parameters in a custom format. For example, say I wanted to to have my links look like this: <code>http://yourdomain.com/products/14/4</code> and I wanted this to forward to <code>http://anotherurl.com?product_id=14&dock=4</code> you'd just select this option and enter the following string into the text field <code>/products/%product_id%/%dock%</code>. This will tell Pretty Link where each variable will be located in the URL and what each variable name is.</div>
90
- </li>
91
- -->
92
- </ul>
93
- </td>
94
- </tr>
95
- </table>
96
- <?php
97
- // Add stuff to the form here
98
- do_action('prli_link_fields',$id);
99
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/head.php DELETED
@@ -1,91 +0,0 @@
1
- <script type="text/javascript">
2
- jQuery(document).ready(function() {
3
- jQuery('.link_actions').hide();
4
- jQuery('.edit_link').hover(
5
- function() {
6
- jQuery(this).children(".link_actions").show();
7
- },
8
- function() {
9
- jQuery(this).children(".link_actions").hide();
10
- }
11
- );
12
-
13
- jQuery(".options-table").hide();
14
- jQuery(".options-table-toggle > .expand-options").show();
15
- jQuery(".options-table-toggle > .collapse-options").hide();
16
- jQuery(".options-table-toggle").click( function () {
17
- jQuery(this).children(".expand-options").toggle();
18
- jQuery(this).children(".collapse-options").toggle();
19
- jQuery(".expand-collapse").toggle();
20
- jQuery(".options-table").toggle();
21
- });
22
-
23
- jQuery(".toggle_pane").hide();
24
- jQuery(".toggle").click( function () {
25
- jQuery(this).next(".toggle_pane").toggle();
26
- });
27
- jQuery(".expand-all").click( function () {
28
- jQuery(".toggle_pane").show();
29
- jQuery(".expand-all").hide();
30
- jQuery(".collapse-all").show();
31
- });
32
- jQuery(".collapse-all").click( function () {
33
- jQuery(".toggle_pane").hide();
34
- jQuery(".expand-all").show();
35
- jQuery(".collapse-all").hide();
36
- });
37
- });
38
- </script>
39
-
40
- <style type="text/css">
41
-
42
- .options-table {
43
- width: 80%;
44
- margin-top: 10px;
45
- }
46
-
47
- .options-table td {
48
- padding: 10px;
49
- background-color: #f4f0db;
50
- }
51
-
52
- .options-table h3 {
53
- padding: 0px;
54
- margin: 0px;
55
- padding-left: 10px;
56
- }
57
-
58
- .expand-all, .collapse-all, .options-table-toggle {
59
- cursor: pointer;
60
- }
61
-
62
- .toggle {
63
- line-height: 34px;
64
- font-size: 12px;
65
- font-weight: bold;
66
- padding-bottom: 10px;
67
- cursor: pointer;
68
- }
69
-
70
- .pane {
71
- background-color: #f4f0db;
72
- padding-left: 10px;
73
- }
74
-
75
- ul.pane li {
76
- padding: 0px;
77
- margin: 0px;
78
- }
79
-
80
- .edit_link {
81
- height: 50px;
82
- }
83
-
84
- .slug_name {
85
- font-size: 12px;
86
- font-weight: bold;
87
- }
88
- .link_actions {
89
- padding-top: 5px;
90
- }
91
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/list.php DELETED
@@ -1,191 +0,0 @@
1
- <div class="wrap">
2
- <?php
3
- require(PRLI_VIEWS_PATH.'/shared/nav.php');
4
- ?>
5
- <h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Links</h2>
6
- <?php
7
- if(empty($params['group']))
8
- {
9
- $permalink_structure = get_option('permalink_structure');
10
- if(!$permalink_structure or empty($permalink_structure))
11
- {
12
- ?>
13
- <div class="error" style="padding-top: 5px; padding-bottom: 5px;"><strong>WordPress Must be Configured:</strong> Pretty Link won't work until you select a Permalink Structure other than "Default" ... <a href="<?php echo $prli_siteurl; ?>/wp-admin/options-permalink.php">Permalink Settings</a></div>
14
- <?php
15
- }
16
- ?>
17
- <div id="message" class="updated fade" style="padding:5px;"><?php echo $prli_message; ?></div>
18
- <?php do_action('prli-link-message'); ?>
19
- <div id="search_pane" style="float: right;">
20
- <form class="form-fields" name="link_form" method="post" action="">
21
- <?php wp_nonce_field('prli-links'); ?>
22
- <input type="hidden" name="sort" id="sort" value="<?php echo $sort_str; ?>" />
23
- <input type="hidden" name="sdir" id="sort" value="<?php echo $sdir_str; ?>" />
24
- <input type="text" name="search" id="search" value="<?php echo $search_str; ?>" style="display:inline;"/>
25
- <div class="submit" style="display: inline;"><input type="submit" name="Submit" value="Search"/>
26
- <?php
27
- if(!empty($search_str))
28
- {
29
- ?>
30
- or <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">Reset</a>
31
- <?php
32
- }
33
- ?>
34
- </div>
35
- </form>
36
- </div>
37
- <div id="button_bar">
38
- <p><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-add-link.php"><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-add.png'; ?>"/> Add a Pretty Link</a>
39
- &nbsp;|&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-options.php">Options</a>
40
- &nbsp;|&nbsp;<a href="http://blairwilliams.com/plintro">Watch Pretty Link Intro Video</a>
41
- <?php do_action('prli-link-nav'); ?>
42
- </p>
43
- </div>
44
- <?php
45
- }
46
- else
47
- {
48
- ?>
49
- <h3><?php echo $prli_message; ?></h3>
50
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php">&laquo Back to Groups</a>
51
- <br/><br/>
52
- <?php
53
- }
54
- ?>
55
- <form class="form-fields link-list-form" name="link_list_form" method="post" action="">
56
- <input type="hidden" name="action" value="list-form"/>
57
- <?php $footer = false; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
58
- <table class="widefat post fixed" cellspacing="0">
59
- <thead>
60
- <tr>
61
- <th class="manage-column" width="30%"><?php do_action('prli-list-header-icon'); ?><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=name<?php echo (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
62
- <?php do_action('prli_link_column_header'); ?>
63
- <th class="manage-column" width="10%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=clicks<?php echo (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
64
- <th class="manage-column" width="5%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=group_name<?php echo (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
65
- <th class="manage-column" width="12%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=created_at<?php echo (($sort_str == 'created_at' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Created<?php echo ((empty($sort_str) or $sort_str == 'created_at')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.((empty($sort_str) or $sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
- <th class="manage-column" width="20%"><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&sort=slug<?php echo (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':''); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
67
- </tr>
68
- </thead>
69
- <?php
70
-
71
- if($record_count <= 0)
72
- {
73
- ?>
74
- <tr>
75
- <td colspan="5">Watch this video to see how to get started! -- <a href="http://blairwilliams.com/xba"><strong>Get More Video Tutorials like this one...</strong></a><br/><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/i6C2Bljby3k&hl=en&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></td>
76
- </tr>
77
- <?php
78
- }
79
- else
80
- {
81
- global $prli_blogurl;
82
- foreach($links as $link)
83
- {
84
- $struct = PrliUtils::get_permalink_pre_slug_uri();
85
- $pretty_link_url = "{$prli_blogurl}{$struct}{$link->slug}";
86
- ?>
87
- <tr style="min-height: 75px; height: 75px;">
88
- <td class="edit_link">
89
-
90
- <?php do_action('prli_list_icon',$link->id); ?>
91
- <?php if( $link->redirect_type == 'prettybar' ) { ?>
92
- <img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
93
- <?php }
94
- else if( $link->redirect_type == 'cloak' ) { ?>
95
- <img src="<?php echo PRLI_IMAGES_URL . '/ultra-cloak.png'; ?>" title="Using Ultra Cloak" width="13px" height="13px" />
96
- <?php }
97
- else if( $link->redirect_type == 'pixel' ) { ?>
98
- <img src="<?php echo PRLI_IMAGES_URL . '/pixel_track.png'; ?>" width="13px" height="13px" name="Pixel Tracking Enabled" alt="Pixel Tracking Enabled" title="Pixel Tracking Enabled"/>&nbsp;
99
- <?php }
100
- else if( $link->redirect_type == '307' ) { ?>
101
- <span title="Temporary Redirection (307)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>T</strong></span>&nbsp;
102
- <?php }
103
- else if( $link->redirect_type == '301' ) { ?>
104
- <span title="Permanent Redirection (301)" style="font-size: 14px; line-height: 14px; padding: 0px; margin: 0px; color: green;"><strong>P</strong></span>&nbsp;
105
- <?php } ?>
106
-
107
- <?php if( $link->nofollow ) { ?>
108
- <img src="<?php echo PRLI_IMAGES_URL . '/nofollow.png'; ?>" title="nofollow" width="13px" height="13px" />
109
- <?php }
110
-
111
- if($link->param_forwarding == 'on')
112
- {
113
- ?>
114
- <img src="<?php echo PRLI_IMAGES_URL . '/forward_params.png'; ?>" width="13px" height="13px" name="Standard Parameter Forwarding Enabled" alt="Standard Parameter Forwarding Enabled" title="Standard Parameter Forwarding Enabled"/>&nbsp;
115
- <?php
116
- }
117
- else if($link->param_forwarding == 'custom')
118
- {
119
- ?>
120
- <img src="<?php echo PRLI_IMAGES_URL . '/forward_params.png'; ?>" width="13px" height="13px" name="Custom Parameter Forwarding Enabled" alt="Custom Parameter Forwarding Enabled" title="Custom Parameter Forwarding Enabled"/>&nbsp;
121
- <?php
122
- }
123
- ?>
124
-
125
- <?php if( $link->redirect_type != 'pixel' )
126
- {
127
- ?>
128
- <a href="<?php echo $link->url; ?>" target="_blank" title="Visit Target URL: <?php echo $link->url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
129
- <a href="<?php echo $pretty_link_url; ?>" target="_blank" title="Visit Pretty Link: <?php echo $pretty_link_url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
130
- <?php
131
- }
132
- ?>
133
- <a class="slug_name" href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo stripslashes($link->name); ?>"><?php echo stripslashes($link->name); ?></a>
134
- <br/>
135
- <div class="link_actions">
136
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=edit&id=<?php echo $link->id; ?>" title="Edit <?php echo $link->slug; ?>">Edit</a>&nbsp;|
137
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=destroy&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo $link->name; ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo $link->slug; ?>">Delete</a>
138
- |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&action=reset&id=<?php echo $link->id; ?>" onclick="return confirm('Are you sure you want to reset your <?php echo $link->name; ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo $link->name; ?>">Reset</a>
139
- <?php if( $link->track_me and $prli_options->extended_tracking!='count' ) { ?>
140
- |&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $link->id; ?>" title="View clicks for <?php echo $link->slug; ?>">Hits</a>
141
- <?php do_action('prli-link-action',$link->id); ?>
142
- <?php } ?>
143
- <?php if( $link->redirect_type != 'pixel' )
144
- {
145
- ?>
146
- |&nbsp;<a href="http://twitter.com/home?status=<?php echo $pretty_link_url; ?>" target="_blank" title="Post <?php echo $pretty_link_url; ?> to Twitter">Tweet</a>&nbsp;|
147
- <a href="mailto:?subject=Pretty Link&body=<?php echo $pretty_link_url; ?>" target="_blank" title="Send <?php echo $pretty_link_url; ?> in an Email">Email</a>
148
- <?php
149
- }
150
- ?>
151
- </div>
152
- </td>
153
- <?php do_action('prli_link_column_row',$link->id); ?>
154
- <td>
155
- <?php if($prli_options->extended_tracking!='count')
156
- echo (($link->track_me)?"<a href=\"?page=".PRLI_PLUGIN_NAME."/prli-clicks.php&l=$link->id\" title=\"View clicks for $link->slug\">" . (empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques) . "</a>":"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
157
- else
158
- echo (($link->track_me)?(empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques):"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
159
- ?>
160
- </td>
161
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $link->group_id; ?>"><?php echo $link->group_name; ?></a></td>
162
- <td><?php echo $link->created_at; ?></td>
163
- </td>
164
- <td><input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' /><br/>
165
- <?php if( $link->redirect_type != 'pixel' )
166
- {
167
- ?>
168
- <span style="font-size: 8px;" title="<?php echo $link->url; ?>"><strong>Target URL:</strong> <?php echo htmlentities((substr($link->url,0,47) . ((strlen($link->url) >= 47)?'...':'')),ENT_COMPAT,'UTF-8'); ?></span></td>
169
- <?php
170
- }
171
- ?>
172
- </tr>
173
- <?php
174
- }
175
- }
176
- ?>
177
- <tfoot>
178
- <tr>
179
- <th class="manage-column"><?php do_action('prli-list-header-icon'); ?>Name</th>
180
- <?php do_action('prli_link_column_footer'); ?>
181
- <th class="manage-column">Hits / Uniq</th>
182
- <th class="manage-column">Group</th>
183
- <th class="manage-column">Created</th>
184
- <th class="manage-column">Links</th>
185
- </tr>
186
- </tfoot>
187
- </table>
188
- <?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
189
- </form>
190
-
191
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/new.php DELETED
@@ -1,22 +0,0 @@
1
- <div class="wrap">
2
- <h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/>&nbsp;Pretty Link: Add Link</h2>
3
-
4
- <?php
5
- require(PRLI_VIEWS_PATH.'/shared/errors.php');
6
- ?>
7
-
8
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
9
- <input type="hidden" name="action" value="create">
10
- <?php wp_nonce_field('update-options'); ?>
11
- <input type="hidden" name="id" value="<?php echo $id; ?>">
12
-
13
- <?php
14
- require(PRLI_VIEWS_PATH.'/prli-links/form.php');
15
- ?>
16
-
17
- <p class="submit">
18
- <input type="submit" name="Submit" value="Create" />&nbsp;or&nbsp;<a href="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">Cancel</a>
19
- </p>
20
-
21
- </form>
22
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-links/ultra-cloak.php DELETED
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html>
3
- <head>
4
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
6
- <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
7
- </head>
8
- <frameset rows="*" framespacing=0 frameborder=0>
9
- <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
10
- <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
11
- </frameset>
12
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-options/form.php DELETED
@@ -1,110 +0,0 @@
1
- <div class="wrap">
2
- <div id="icon-options-general" class="icon32"><br /></div>
3
- <h2 id="prli_title">Pretty Link: Options</h2>
4
- <br/>
5
- <?php
6
- $permalink_structure = get_option('permalink_structure');
7
- if(!$permalink_structure or empty($permalink_structure))
8
- {
9
- ?>
10
- <div class="error" style="padding-top: 5px; padding-bottom: 5px;"><strong>WordPress Must be Configured:</strong> Pretty Link won't work until you select a Permalink Structure other than "Default" ... <a href="<?php echo $prli_siteurl; ?>/wp-admin/options-permalink.php">Permalink Settings</a></div>
11
- <?php
12
- }
13
- ?>
14
- <?php do_action('prli-options-message'); ?>
15
- <a href="admin.php?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">&laquo Pretty Link Admin</a>
16
-
17
- <form name="form1" method="post" action="">
18
- <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
19
- <?php wp_nonce_field('update-options'); ?>
20
-
21
- <h3><a class="toggle link-toggle-button">Link Option Defaults <span class="link-expand" style="display: none;">[+]</span><span class="link-collapse">[-]</span></a></h3>
22
- <ul class="link-toggle-pane" style="list-style-type: none;">
23
- <li>
24
- <input type="checkbox" name="<?php echo $link_track_me; ?>" <?php echo (($prli_options->link_track_me != 0)?'checked="true"':''); ?>/>&nbsp; Track Link
25
- <br/><span class="description">Default all new links to be tracked.</span>
26
- </li>
27
- <li>
28
- <input type="checkbox" name="<?php echo $link_nofollow; ?>" <?php echo (($prli_options->link_nofollow != 0)?'checked="true"':''); ?>/>&nbsp; Add <code>nofollow</code> to Link
29
- <br/><span class="description">Add the <code>nofollow</code> attribute by default to new links.</span>
30
- </li>
31
- <li>
32
- <input type="checkbox" name="<?php echo $link_prefix; ?>" <?php echo (($prli_options->link_prefix != 0)?'checked="true"':''); ?>/>&nbsp; Use a prefix from your Permalink structure in your Pretty Links
33
- <br/><span class="description">This option should only be checked if you have elements in your permalink structure that must be present in any link on your site. For example, some WordPress installs don't have the benefit of full rewrite capabilities and in this case you'd need an index.php included in each link (http://example.com/index.php/mycoolslug instead of http://example.com/mycoolslug). If this is the case for you then check this option but the vast majority of users will want to keep this unchecked.</span>
34
- </li>
35
- <li>
36
- <h4>Default Link Redirection Type:</h4>
37
- <select name="<?php echo $link_redirect_type; ?>">
38
- <option value="307" <?php echo (($prli_options->link_redirect_type == '307')?' selected="selected"':''); ?>/>Temporary (307)</option>
39
- <option value="301" <?php echo (($prli_options->link_redirect_type == '301')?' selected="selected"':''); ?>/>Permanent (301)</option>
40
- <?php do_action('prli_default_redirection_types',$prli_options->link_redirect_type); ?>
41
- </select>
42
- <br/><span class="description">Select the type of redirection you want your newly created links to have.</span>
43
- </li>
44
- </ul>
45
- <?php do_action('prli_custom_option_pane'); ?>
46
- <h3><a class="toggle reporting-toggle-button">Reporting Options <span class="reporting-expand" style="display: none;">[+]</span><span class="reporting-collapse">[-]</span></a></h3>
47
- <table class="reporting-toggle-pane form-table">
48
- <tr class="form-field">
49
- <td valign="top">Excluded IP Addresses: </td>
50
- <td>
51
- <input type="text" name="<?php echo $prli_exclude_ips; ?>" value="<?php echo $prli_options->prli_exclude_ips; ?>">
52
- <br/><span class="description">Enter IP Addresses or IP Ranges you want to exclude from your Hit data and Stats. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code></span>
53
- <br/><span class="description" style="color: red;">Your Current IP Address is <?php echo $_SERVER['REMOTE_ADDR']; ?></span>
54
- </td>
55
- </tr>
56
- <tr>
57
- <td colspan="2">
58
- <input type="checkbox" class="filter-robots-checkbox" name="<?php echo $filter_robots; ?>" <?php echo (($prli_options->filter_robots != 0)?'checked="true"':''); ?>/>&nbsp; <?php _e('Filter Robots', 'pretty-link'); ?>
59
- <br/><span class="description"><?php _e('Filter known Robots and unidentifiable browser clients from your hit data, stats and reports. <code>IMPORTANT: Any robot hits recorded with any version of Pretty Link before 1.4.22 won\'t be filtered by this setting.</code>', 'pretty-link'); ?></span>
60
- <table class="option-pane whitelist-ips">
61
- <tr class="form-field">
62
- <td valign="top"><?php _e('Whitelist IP Addresses:', 'pretty-link'); ?>&nbsp;</td>
63
- <td>
64
- <input type="text" name="<?php echo $whitelist_ips; ?>" value="<?php echo $prli_options->whitelist_ips; ?>">
65
- <br/><span class="description"><?php _e('Enter IP Addresses or IP Ranges you want to always include in your Hit data and Stats even if they are flagged as robots. Each IP Address should be separated by commas. Example: <code>192.168.0.1, 192.168.2.1, 192.168.3.4 or 192.168.*.*</code>', 'pretty-link'); ?></span>
66
- </td>
67
- </tr>
68
- </table>
69
- </td>
70
- </tr>
71
- <tr>
72
- <td colspan="2">
73
- <h4><?php _e('Tracking Style:', 'pretty-link'); ?></h4><span class="description"><code><?php _e('Note: Changing your tracking style can affect the accuracy of your existing statistics.', 'pretty-link'); ?></code></span>
74
- <div id="option-pane">
75
- <ul style="list-style-type: none;" class="pane">
76
- <li>
77
- <input type="radio" name="<?php echo $extended_tracking; ?>" value="normal"<?php echo (($prli_options->extended_tracking == 'normal')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Normal Tracking', 'pretty-link'); ?>
78
- </li>
79
- <li>
80
- <input type="radio" name="<?php echo $extended_tracking; ?>" value="extended"<?php echo (($prli_options->extended_tracking == 'extended')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Extended Tracking (more stats / slower performance)', 'pretty-link'); ?>
81
- </li>
82
- <li>
83
- <input type="radio" name="<?php echo $extended_tracking; ?>" value="count"<?php echo (($prli_options->extended_tracking == 'count')?' checked="checked"':''); ?>/>&nbsp;<?php _e('Simple Click Count Tracking (less stats / faster performance)', 'pretty-link'); ?>
84
- </li>
85
- </ul>
86
- </div>
87
- </td>
88
- </tr>
89
- </table>
90
-
91
- <p class="submit">
92
- <input type="submit" name="Submit" value="<?php _e('Update Options', 'pretty-link') ?>" />
93
- </p>
94
-
95
-
96
- <h3>Trim Hit Database</h3>
97
-
98
- <?php if($prli_options->extended_tracking != 'count') { ?>
99
- <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_30day_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data that is older than 30 days. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete this data because there is no going back!');">Delete Hits older than 30 days</a>
100
- <br/><span class="description">This will clear all hits in your database that are older than 30 days.</span></p>
101
-
102
- <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_90day_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data that is older than 90 days. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete this data because there is no going back!');">Delete Hits older than 90 days</a>
103
- <br/><span class="description">This will clear all hits in your database that are older than 90 days.</span></p>
104
- <?php } ?>
105
-
106
- <p><a href="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>&action=clear_all_clicks" onclick="return confirm('***WARNING*** If you click OK you will delete ALL of the Hit data in your Database. Your data will be gone forever -- no way to retreive it. Do not click OK unless you are absolutely sure you want to delete all your data because there is no going back!');">Delete All Hits</a>
107
- <br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
108
-
109
- </form>
110
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-options/head.php DELETED
@@ -1,47 +0,0 @@
1
- <script type="text/javascript">
2
- jQuery(document).ready(function() {
3
- <?php do_action('prli_options_js'); ?>
4
-
5
- jQuery('.reporting-expand').show();
6
- jQuery('.reporting-collapse').hide();
7
- jQuery('.reporting-toggle-pane').hide();
8
- jQuery('.reporting-toggle-button').click(function() {
9
- jQuery('.reporting-toggle-pane').toggle();
10
- jQuery('.reporting-expand').toggle();
11
- jQuery('.reporting-collapse').toggle();
12
- });
13
-
14
- jQuery('.link-expand').show();
15
- jQuery('.link-collapse').hide();
16
- jQuery('.link-toggle-pane').hide();
17
- jQuery('.link-toggle-button').click(function() {
18
- jQuery('.link-toggle-pane').toggle();
19
- jQuery('.link-expand').toggle();
20
- jQuery('.link-collapse').toggle();
21
- });
22
-
23
- if (jQuery('.filter-robots-checkbox').is(':checked')) {
24
- jQuery('.whitelist-ips').show();
25
- }
26
- else {
27
- jQuery('.whitelist-ips').hide();
28
- }
29
-
30
- jQuery('.filter-robots-checkbox').change(function() {
31
- if (jQuery('.filter-robots-checkbox').is(':checked')) {
32
- jQuery('.whitelist-ips').show();
33
- }
34
- else {
35
- jQuery('.whitelist-ips').hide();
36
- }
37
- });
38
- });
39
- </script>
40
-
41
- <style type="text/css">
42
- .toggle {
43
- cursor: pointer;
44
- }
45
- </style>
46
-
47
- <?php do_action('prli-options-head'); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/prli-options/pro-settings.php DELETED
@@ -1,18 +0,0 @@
1
- <div class="wrap">
2
- <div id="icon-options-general" class="icon32"><br /></div>
3
- <h2 id="prli_title">Pretty Link: Pro Account Information</h2>
4
- <?php $this_uri = preg_replace('#&.*?$#', '', str_replace( '%7E', '~', $_SERVER['REQUEST_URI'])); ?>
5
- <h3>Pretty Link Pro Account Information</h3>
6
- <?php if($prli_update->pro_is_installed_and_authorized()) { ?>
7
- <p><a href="http://prettylinkpro.com/user-manual">User Manual</a></p>
8
- <?php } ?>
9
- <?php echo $prli_update->pro_cred_form(); ?>
10
- <?php if($prli_update->pro_is_installed_and_authorized()) { ?>
11
- <div><p><strong>Pretty Link Pro is Installed</strong></p><p><a href="<?php echo $this_uri; ?>&action=pro-uninstall" onclick="return confirm('Are you sure you want to Un-Install Pretty Link Pro? This will delete your pro username & password from your local database, remove all the pro software but will leave all your data intact incase you want to reinstall sometime :) ...');" title="Downgrade to Pretty Link Standard" >Downgrade to Pretty Link Standard</a></p><br/><p><strong>Edit/Update Your Profile:</strong><br/><span class="description">Use your account username and password to log in to your Account and Affiliate Control Panel</span></p><p><a href="http://prettylinkpro.com/amember/member.php">Account</a>&nbsp;|&nbsp;<a href="http://prettylinkpro.com/amember/aff_member.php">Affiliate Control Panel</a></div>
12
-
13
- <?php } else { ?>
14
- <p><strong>Ready to take your marketing efforts to the next level?</strong><br/>
15
- <a href="http://prettylinkpro.com">Pretty Link Pro</a> will help you automate, share, test and get more clicks &amp; conversions from your Pretty Links!<br/><br/><a href="http://prettylinkpro.com">Learn More &raquo;</a></p>
16
- <?php } ?>
17
-
18
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/shared/errors.php DELETED
@@ -1,19 +0,0 @@
1
- <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
- <?php
3
- if( isset($errors) and count($errors) > 0 )
4
- {
5
- ?>
6
- <div class="error">
7
- <ul>
8
- <?php
9
- foreach( $errors as $error )
10
- {
11
- ?>
12
- <li><strong>ERROR</strong>: <?php echo esc_html($error); ?></li>
13
- <?php
14
- }
15
- ?>
16
- </ul>
17
- </div>
18
- <?php
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/classes/views/shared/nav.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- global $prli_update;
3
-
4
- if($prli_update->pro_is_installed_and_authorized())
5
- $support_link = "&nbsp;|&nbsp;<a href=\"http://prettylinkpro.com/user-manual\">" . __('Pro Manual', 'pretty-link') . '</a>';
6
- else
7
- $support_link = "&nbsp;|&nbsp;<a href=\"http://prettylinkpro.com\">" . __('Upgrade to Pro', 'pretty-link') . '</a>';
8
- ?>
9
- <p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 0px; padding-right: 10px;"><?php _e('Connect', 'pretty-link'); ?>:&nbsp;&nbsp;<a href="http://twitter.com/blairwilli"><img src="<?php echo PRLI_IMAGES_URL; ?>/twitter_32.png" style="width: 24px; height: 24px;" /></a>&nbsp;<a href="http://www.facebook.com/pages/Pretty-Link/283252860401"><img src="<?php echo PRLI_IMAGES_URL; ?>/facebook_32.png" style="width: 24px; height: 24px;" /></a><br/><?php _e('Get Help', 'pretty-link'); ?>:&nbsp;&nbsp;<a href="http://blairwilliams.com/xba" target="_blank"><?php _e('Tutorials', 'pretty-link'); ?></a><?php echo $support_link; ?>&nbsp;|&nbsp;<a href="http://blairwilliams.com/work"><?php _e('One on One', 'pretty-link'); ?></a></p>
 
 
 
 
 
 
 
 
 
trunk/classes/views/shared/table-nav.php DELETED
@@ -1,93 +0,0 @@
1
- <?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); } ?>
2
- <?php
3
- // Only show the pager bar if there is more than 1 page
4
- if($page_count > 1)
5
- {
6
- ?>
7
- <div class="tablenav"<?php echo (isset($navstyle)?" style=\"" . esc_html($navstyle) . "\"":''); ?>>
8
- <div class='tablenav-pages'><span class="displaying-num">Displaying <?php echo esc_html("$page_first_record&#8211;$page_last_record of $record_count"); ?></span>
9
-
10
- <?php
11
- // Only show the prev page button if the current page is not the first page
12
- if($current_page > 1)
13
- {
14
- ?>
15
- <a class='prev page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php print($current_page-1); ?>'>&laquo;</a>
16
- <?php
17
- }
18
-
19
- // First page is always displayed
20
- if($current_page==1)
21
- {
22
- ?>
23
- <span class='page-numbers current'>1</span>
24
- <?php
25
- }
26
- else
27
- {
28
- ?>
29
- <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=1'>1</a>
30
- <?php
31
- }
32
-
33
- // If the current page is more than 2 spaces away from the first page then we put some dots in here
34
- if($current_page >= 5)
35
- {
36
- ?>
37
- <span class='page-numbers dots'>...</span>
38
- <?php
39
- }
40
-
41
- // display the current page icon and the 2 pages beneath and above it
42
- $low_page = (($current_page >= 5)?($current_page-2):2);
43
- $high_page = ((($current_page + 2) < ($page_count-1))?($current_page+2):($page_count-1));
44
- for($i = $low_page; $i <= $high_page; $i++)
45
- {
46
- if($current_page==$i)
47
- {
48
- ?>
49
- <span class='page-numbers current'><?php echo esc_html($i); ?></span>
50
- <?php
51
- }
52
- else
53
- {
54
- ?>
55
- <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php echo esc_html($i); ?>'><?php echo esc_html($i); ?></a>
56
- <?php
57
- }
58
- }
59
-
60
- // If the current page is more than 2 away from the last page then show ellipsis
61
- if($current_page < ($page_count - 3))
62
- {
63
- ?>
64
- <span class='page-numbers dots'>...</span>
65
- <?php
66
- }
67
-
68
- // Display the last page icon
69
- if($current_page == $page_count)
70
- {
71
- ?>
72
- <span class='page-numbers current'><?php echo esc_html($page_count); ?></span>
73
- <?php
74
- }
75
- else
76
- {
77
- ?>
78
- <a class='page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php echo esc_html($page_count); ?>'><?php echo esc_html($page_count); ?></a>
79
- <?php
80
- }
81
-
82
- // Display the next page icon if there is a next page
83
- if($current_page < $page_count)
84
- {
85
- ?>
86
- <a class='next page-numbers' href='?page=<?php echo esc_html(PRLI_PLUGIN_NAME); ?>/<?php echo esc_html($controller_file . $page_params); ?>&paged=<?php print($current_page + 1); ?>'>&raquo;</a>
87
- <?php
88
- }
89
- ?>
90
- </div>
91
- </div>
92
- <?php
93
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/images/arrow_down.png DELETED
Binary file
trunk/images/arrow_up.png DELETED
Binary file
trunk/images/bar_background.png DELETED
Binary file
trunk/images/bar_map.png DELETED
Binary file
trunk/images/bookmark.png DELETED
Binary file
trunk/images/forward_params.png DELETED
Binary file
trunk/images/nofollow.png DELETED
Binary file
trunk/images/not_tracking.png DELETED
Binary file
trunk/images/pixel_track.png DELETED
Binary file
trunk/images/pretty-link-48x48.png DELETED
Binary file
trunk/images/pretty-link-add.png DELETED
Binary file
trunk/images/pretty-link-med.png DELETED
Binary file
trunk/images/pretty-link-small.png DELETED
Binary file
trunk/images/tracking.png DELETED
Binary file
trunk/images/ultra-cloak.png DELETED
Binary file
trunk/images/url_icon.gif DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-icons_222222_256x240.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-icons_228ef1_256x240.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-icons_ef8c08_256x240.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-icons_ffd27a_256x240.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/images/ui-icons_ffffff_256x240.png DELETED
Binary file
trunk/includes/jquery/css/ui-lightness/jquery-ui-1.7.1.custom.css DELETED
@@ -1,404 +0,0 @@
1
- /*
2
- * jQuery UI CSS Framework
3
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
4
- * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5
- */
6
-
7
- /* Layout helpers
8
- ----------------------------------*/
9
- .ui-helper-hidden { display: none; }
10
- .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
11
- .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
12
- .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
13
- .ui-helper-clearfix { display: inline-block; }
14
- /* required comment for clearfix to work in Opera \*/
15
- * html .ui-helper-clearfix { height:1%; }
16
- .ui-helper-clearfix { display:block; }
17
- /* end clearfix */
18
- .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
19
-
20
-
21
- /* Interaction Cues
22
- ----------------------------------*/
23
- .ui-state-disabled { cursor: default !important; }
24
-
25
-
26
- /* Icons
27
- ----------------------------------*/
28
-
29
- /* states and images */
30
- .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
31
-
32
-
33
- /* Misc visuals
34
- ----------------------------------*/
35
-
36
- /* Overlays */
37
- .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
38
-
39
- /*
40
- * jQuery UI CSS Framework
41
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
42
- * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
43
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
44
- */
45
-
46
-
47
- /* Component containers
48
- ----------------------------------*/
49
- .ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
50
- .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
51
- .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
52
- .ui-widget-content a { color: #333333; }
53
- .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
54
- .ui-widget-header a { color: #ffffff; }
55
-
56
- /* Interaction states
57
- ----------------------------------*/
58
- .ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; }
59
- .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; outline: none; }
60
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; outline: none; }
61
- .ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; outline: none; }
62
- .ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; }
63
- .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; outline: none; text-decoration: none; }
64
-
65
- /* Interaction Cues
66
- ----------------------------------*/
67
- .ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
68
- .ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
69
- .ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
70
- .ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
71
- .ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
72
- .ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
73
- .ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
74
- .ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
75
-
76
- /* Icons
77
- ----------------------------------*/
78
-
79
- /* states and images */
80
- .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
81
- .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
82
- .ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
83
- .ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
84
- .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
85
- .ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
86
- .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
87
- .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
88
-
89
- /* positioning */
90
- .ui-icon-carat-1-n { background-position: 0 0; }
91
- .ui-icon-carat-1-ne { background-position: -16px 0; }
92
- .ui-icon-carat-1-e { background-position: -32px 0; }
93
- .ui-icon-carat-1-se { background-position: -48px 0; }
94
- .ui-icon-carat-1-s { background-position: -64px 0; }
95
- .ui-icon-carat-1-sw { background-position: -80px 0; }
96
- .ui-icon-carat-1-w { background-position: -96px 0; }
97
- .ui-icon-carat-1-nw { background-position: -112px 0; }
98
- .ui-icon-carat-2-n-s { background-position: -128px 0; }
99
- .ui-icon-carat-2-e-w { background-position: -144px 0; }
100
- .ui-icon-triangle-1-n { background-position: 0 -16px; }
101
- .ui-icon-triangle-1-ne { background-position: -16px -16px; }
102
- .ui-icon-triangle-1-e { background-position: -32px -16px; }
103
- .ui-icon-triangle-1-se { background-position: -48px -16px; }
104
- .ui-icon-triangle-1-s { background-position: -64px -16px; }
105
- .ui-icon-triangle-1-sw { background-position: -80px -16px; }
106
- .ui-icon-triangle-1-w { background-position: -96px -16px; }
107
- .ui-icon-triangle-1-nw { background-position: -112px -16px; }
108
- .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
109
- .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
110
- .ui-icon-arrow-1-n { background-position: 0 -32px; }
111
- .ui-icon-arrow-1-ne { background-position: -16px -32px; }
112
- .ui-icon-arrow-1-e { background-position: -32px -32px; }
113
- .ui-icon-arrow-1-se { background-position: -48px -32px; }
114
- .ui-icon-arrow-1-s { background-position: -64px -32px; }
115
- .ui-icon-arrow-1-sw { background-position: -80px -32px; }
116
- .ui-icon-arrow-1-w { background-position: -96px -32px; }
117
- .ui-icon-arrow-1-nw { background-position: -112px -32px; }
118
- .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
119
- .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
120
- .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
121
- .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
122
- .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
123
- .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
124
- .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
125
- .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
126
- .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
127
- .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
128
- .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
129
- .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
130
- .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
131
- .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
132
- .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
133
- .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
134
- .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
135
- .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
136
- .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
137
- .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
138
- .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
139
- .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
140
- .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
141
- .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
142
- .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
143
- .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
144
- .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
145
- .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
146
- .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
147
- .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
148
- .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
149
- .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
150
- .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
151
- .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
152
- .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
153
- .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
154
- .ui-icon-arrow-4 { background-position: 0 -80px; }
155
- .ui-icon-arrow-4-diag { background-position: -16px -80px; }
156
- .ui-icon-extlink { background-position: -32px -80px; }
157
- .ui-icon-newwin { background-position: -48px -80px; }
158
- .ui-icon-refresh { background-position: -64px -80px; }
159
- .ui-icon-shuffle { background-position: -80px -80px; }
160
- .ui-icon-transfer-e-w { background-position: -96px -80px; }
161
- .ui-icon-transferthick-e-w { background-position: -112px -80px; }
162
- .ui-icon-folder-collapsed { background-position: 0 -96px; }
163
- .ui-icon-folder-open { background-position: -16px -96px; }
164
- .ui-icon-document { background-position: -32px -96px; }
165
- .ui-icon-document-b { background-position: -48px -96px; }
166
- .ui-icon-note { background-position: -64px -96px; }
167
- .ui-icon-mail-closed { background-position: -80px -96px; }
168
- .ui-icon-mail-open { background-position: -96px -96px; }
169
- .ui-icon-suitcase { background-position: -112px -96px; }
170
- .ui-icon-comment { background-position: -128px -96px; }
171
- .ui-icon-person { background-position: -144px -96px; }
172
- .ui-icon-print { background-position: -160px -96px; }
173
- .ui-icon-trash { background-position: -176px -96px; }
174
- .ui-icon-locked { background-position: -192px -96px; }
175
- .ui-icon-unlocked { background-position: -208px -96px; }
176
- .ui-icon-bookmark { background-position: -224px -96px; }
177
- .ui-icon-tag { background-position: -240px -96px; }
178
- .ui-icon-home { background-position: 0 -112px; }
179
- .ui-icon-flag { background-position: -16px -112px; }
180
- .ui-icon-calendar { background-position: -32px -112px; }
181
- .ui-icon-cart { background-position: -48px -112px; }
182
- .ui-icon-pencil { background-position: -64px -112px; }
183
- .ui-icon-clock { background-position: -80px -112px; }
184
- .ui-icon-disk { background-position: -96px -112px; }
185
- .ui-icon-calculator { background-position: -112px -112px; }
186
- .ui-icon-zoomin { background-position: -128px -112px; }
187
- .ui-icon-zoomout { background-position: -144px -112px; }
188
- .ui-icon-search { background-position: -160px -112px; }
189
- .ui-icon-wrench { background-position: -176px -112px; }
190
- .ui-icon-gear { background-position: -192px -112px; }
191
- .ui-icon-heart { background-position: -208px -112px; }
192
- .ui-icon-star { background-position: -224px -112px; }
193
- .ui-icon-link { background-position: -240px -112px; }
194
- .ui-icon-cancel { background-position: 0 -128px; }
195
- .ui-icon-plus { background-position: -16px -128px; }
196
- .ui-icon-plusthick { background-position: -32px -128px; }
197
- .ui-icon-minus { background-position: -48px -128px; }
198
- .ui-icon-minusthick { background-position: -64px -128px; }
199
- .ui-icon-close { background-position: -80px -128px; }
200
- .ui-icon-closethick { background-position: -96px -128px; }
201
- .ui-icon-key { background-position: -112px -128px; }
202
- .ui-icon-lightbulb { background-position: -128px -128px; }
203
- .ui-icon-scissors { background-position: -144px -128px; }
204
- .ui-icon-clipboard { background-position: -160px -128px; }
205
- .ui-icon-copy { background-position: -176px -128px; }
206
- .ui-icon-contact { background-position: -192px -128px; }
207
- .ui-icon-image { background-position: -208px -128px; }
208
- .ui-icon-video { background-position: -224px -128px; }
209
- .ui-icon-script { background-position: -240px -128px; }
210
- .ui-icon-alert { background-position: 0 -144px; }
211
- .ui-icon-info { background-position: -16px -144px; }
212
- .ui-icon-notice { background-position: -32px -144px; }
213
- .ui-icon-help { background-position: -48px -144px; }
214
- .ui-icon-check { background-position: -64px -144px; }
215
- .ui-icon-bullet { background-position: -80px -144px; }
216
- .ui-icon-radio-off { background-position: -96px -144px; }
217
- .ui-icon-radio-on { background-position: -112px -144px; }
218
- .ui-icon-pin-w { background-position: -128px -144px; }
219
- .ui-icon-pin-s { background-position: -144px -144px; }
220
- .ui-icon-play { background-position: 0 -160px; }
221
- .ui-icon-pause { background-position: -16px -160px; }
222
- .ui-icon-seek-next { background-position: -32px -160px; }
223
- .ui-icon-seek-prev { background-position: -48px -160px; }
224
- .ui-icon-seek-end { background-position: -64px -160px; }
225
- .ui-icon-seek-first { background-position: -80px -160px; }
226
- .ui-icon-stop { background-position: -96px -160px; }
227
- .ui-icon-eject { background-position: -112px -160px; }
228
- .ui-icon-volume-off { background-position: -128px -160px; }
229
- .ui-icon-volume-on { background-position: -144px -160px; }
230
- .ui-icon-power { background-position: 0 -176px; }
231
- .ui-icon-signal-diag { background-position: -16px -176px; }
232
- .ui-icon-signal { background-position: -32px -176px; }
233
- .ui-icon-battery-0 { background-position: -48px -176px; }
234
- .ui-icon-battery-1 { background-position: -64px -176px; }
235
- .ui-icon-battery-2 { background-position: -80px -176px; }
236
- .ui-icon-battery-3 { background-position: -96px -176px; }
237
- .ui-icon-circle-plus { background-position: 0 -192px; }
238
- .ui-icon-circle-minus { background-position: -16px -192px; }
239
- .ui-icon-circle-close { background-position: -32px -192px; }
240
- .ui-icon-circle-triangle-e { background-position: -48px -192px; }
241
- .ui-icon-circle-triangle-s { background-position: -64px -192px; }
242
- .ui-icon-circle-triangle-w { background-position: -80px -192px; }
243
- .ui-icon-circle-triangle-n { background-position: -96px -192px; }
244
- .ui-icon-circle-arrow-e { background-position: -112px -192px; }
245
- .ui-icon-circle-arrow-s { background-position: -128px -192px; }
246
- .ui-icon-circle-arrow-w { background-position: -144px -192px; }
247
- .ui-icon-circle-arrow-n { background-position: -160px -192px; }
248
- .ui-icon-circle-zoomin { background-position: -176px -192px; }
249
- .ui-icon-circle-zoomout { background-position: -192px -192px; }
250
- .ui-icon-circle-check { background-position: -208px -192px; }
251
- .ui-icon-circlesmall-plus { background-position: 0 -208px; }
252
- .ui-icon-circlesmall-minus { background-position: -16px -208px; }
253
- .ui-icon-circlesmall-close { background-position: -32px -208px; }
254
- .ui-icon-squaresmall-plus { background-position: -48px -208px; }
255
- .ui-icon-squaresmall-minus { background-position: -64px -208px; }
256
- .ui-icon-squaresmall-close { background-position: -80px -208px; }
257
- .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
258
- .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
259
- .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
260
- .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
261
- .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
262
- .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
263
-
264
-
265
- /* Misc visuals
266
- ----------------------------------*/
267
-
268
- /* Corner radius */
269
- .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
270
- .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
271
- .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
272
- .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
273
- .ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
274
- .ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
275
- .ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
276
- .ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
277
- .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
278
-
279
- /* Overlays */
280
- .ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
281
- .ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; }/* Accordion
282
- ----------------------------------*/
283
- .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
284
- .ui-accordion .ui-accordion-li-fix { display: inline; }
285
- .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
286
- .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
287
- .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
288
- .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
289
- .ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
290
- ----------------------------------*/
291
- .ui-datepicker { width: 17em; padding: .2em .2em 0; }
292
- .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
293
- .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
294
- .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
295
- .ui-datepicker .ui-datepicker-prev { left:2px; }
296
- .ui-datepicker .ui-datepicker-next { right:2px; }
297
- .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
298
- .ui-datepicker .ui-datepicker-next-hover { right:1px; }
299
- .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
300
- .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
301
- .ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
302
- .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
303
- .ui-datepicker select.ui-datepicker-month,
304
- .ui-datepicker select.ui-datepicker-year { width: 49%;}
305
- .ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
306
- .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
307
- .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
308
- .ui-datepicker td { border: 0; padding: 1px; }
309
- .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
310
- .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
311
- .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
312
- .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
313
-
314
- /* with multiple calendars */
315
- .ui-datepicker.ui-datepicker-multi { width:auto; }
316
- .ui-datepicker-multi .ui-datepicker-group { float:left; }
317
- .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
318
- .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
319
- .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
320
- .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
321
- .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
322
- .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
323
- .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
324
- .ui-datepicker-row-break { clear:both; width:100%; }
325
-
326
- /* RTL support */
327
- .ui-datepicker-rtl { direction: rtl; }
328
- .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
329
- .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
330
- .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
331
- .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
332
- .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
333
- .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
334
- .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
335
- .ui-datepicker-rtl .ui-datepicker-group { float:right; }
336
- .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
337
- .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
338
-
339
- /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
340
- .ui-datepicker-cover {
341
- display: none; /*sorry for IE5*/
342
- display/**/: block; /*sorry for IE5*/
343
- position: absolute; /*must have*/
344
- z-index: -1; /*must have*/
345
- filter: mask(); /*must have*/
346
- top: -4px; /*must have*/
347
- left: -4px; /*must have*/
348
- width: 200px; /*must have*/
349
- height: 200px; /*must have*/
350
- }/* Dialog
351
- ----------------------------------*/
352
- .ui-dialog { position: relative; padding: .2em; width: 300px; }
353
- .ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
354
- .ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
355
- .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
356
- .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
357
- .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
358
- .ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
359
- .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
360
- .ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
361
- .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
362
- .ui-draggable .ui-dialog-titlebar { cursor: move; }
363
- /* Progressbar
364
- ----------------------------------*/
365
- .ui-progressbar { height:2em; text-align: left; }
366
- .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
367
- ----------------------------------*/
368
- .ui-resizable { position: relative;}
369
- .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
370
- .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
371
- .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
372
- .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
373
- .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
374
- .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
375
- .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
376
- .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
377
- .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
378
- .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
379
- ----------------------------------*/
380
- .ui-slider { position: relative; text-align: left; }
381
- .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
382
- .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
383
-
384
- .ui-slider-horizontal { height: .8em; }
385
- .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
386
- .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
387
- .ui-slider-horizontal .ui-slider-range-min { left: 0; }
388
- .ui-slider-horizontal .ui-slider-range-max { right: 0; }
389
-
390
- .ui-slider-vertical { width: .8em; height: 100px; }
391
- .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
392
- .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
393
- .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
394
- .ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
395
- ----------------------------------*/
396
- .ui-tabs { padding: .2em; zoom: 1; }
397
- .ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
398
- .ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
399
- .ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
400
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
401
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
402
- .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
403
- .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
404
- .ui-tabs .ui-tabs-hide { display: none !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/includes/jquery/js/jquery-1.3.2.min.js DELETED
@@ -1,19 +0,0 @@
1
- /*
2
- * jQuery JavaScript Library v1.3.2
3
- * http://jquery.com/
4
- *
5
- * Copyright (c) 2009 John Resig
6
- * Dual licensed under the MIT and GPL licenses.
7
- * http://docs.jquery.com/License
8
- *
9
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
10
- * Revision: 6246
11
- */
12
- (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
13
- /*
14
- * Sizzle CSS Selector Engine - v0.9.3
15
- * Copyright 2009, The Dojo Foundation
16
- * Released under the MIT, BSD, and GPL Licenses.
17
- * More information: http://sizzlejs.com/
18
- */
19
- (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/includes/jquery/js/jquery-ui-1.7.1.custom.min.js DELETED
@@ -1,273 +0,0 @@
1
- /*
2
- * jQuery UI 1.7.1
3
- *
4
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT (MIT-LICENSE.txt)
6
- * and GPL (GPL-LICENSE.txt) licenses.
7
- *
8
- * http://docs.jquery.com/UI
9
- */
10
- * jQuery UI Draggable 1.7.1
11
- *
12
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
13
- * Dual licensed under the MIT (MIT-LICENSE.txt)
14
- * and GPL (GPL-LICENSE.txt) licenses.
15
- *
16
- * http://docs.jquery.com/UI/Draggables
17
- *
18
- * Depends:
19
- * ui.core.js
20
- */
21
- * jQuery UI Droppable 1.7.1
22
- *
23
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
24
- * Dual licensed under the MIT (MIT-LICENSE.txt)
25
- * and GPL (GPL-LICENSE.txt) licenses.
26
- *
27
- * http://docs.jquery.com/UI/Droppables
28
- *
29
- * Depends:
30
- * ui.core.js
31
- * ui.draggable.js
32
- */
33
- * jQuery UI Resizable 1.7.1
34
- *
35
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
36
- * Dual licensed under the MIT (MIT-LICENSE.txt)
37
- * and GPL (GPL-LICENSE.txt) licenses.
38
- *
39
- * http://docs.jquery.com/UI/Resizables
40
- *
41
- * Depends:
42
- * ui.core.js
43
- */
44
- * jQuery UI Selectable 1.7.1
45
- *
46
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
47
- * Dual licensed under the MIT (MIT-LICENSE.txt)
48
- * and GPL (GPL-LICENSE.txt) licenses.
49
- *
50
- * http://docs.jquery.com/UI/Selectables
51
- *
52
- * Depends:
53
- * ui.core.js
54
- */
55
- * jQuery UI Sortable 1.7.1
56
- *
57
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
58
- * Dual licensed under the MIT (MIT-LICENSE.txt)
59
- * and GPL (GPL-LICENSE.txt) licenses.
60
- *
61
- * http://docs.jquery.com/UI/Sortables
62
- *
63
- * Depends:
64
- * ui.core.js
65
- */
66
- * jQuery UI Accordion 1.7.1
67
- *
68
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
69
- * Dual licensed under the MIT (MIT-LICENSE.txt)
70
- * and GPL (GPL-LICENSE.txt) licenses.
71
- *
72
- * http://docs.jquery.com/UI/Accordion
73
- *
74
- * Depends:
75
- * ui.core.js
76
- */
77
- * jQuery UI Dialog 1.7.1
78
- *
79
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
80
- * Dual licensed under the MIT (MIT-LICENSE.txt)
81
- * and GPL (GPL-LICENSE.txt) licenses.
82
- *
83
- * http://docs.jquery.com/UI/Dialog
84
- *
85
- * Depends:
86
- * ui.core.js
87
- * ui.draggable.js
88
- * ui.resizable.js
89
- */
90
- * jQuery UI Slider 1.7.1
91
- *
92
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
93
- * Dual licensed under the MIT (MIT-LICENSE.txt)
94
- * and GPL (GPL-LICENSE.txt) licenses.
95
- *
96
- * http://docs.jquery.com/UI/Slider
97
- *
98
- * Depends:
99
- * ui.core.js
100
- */
101
- * jQuery UI Tabs 1.7.1
102
- *
103
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
104
- * Dual licensed under the MIT (MIT-LICENSE.txt)
105
- * and GPL (GPL-LICENSE.txt) licenses.
106
- *
107
- * http://docs.jquery.com/UI/Tabs
108
- *
109
- * Depends:
110
- * ui.core.js
111
- */
112
- * jQuery UI Datepicker 1.7.1
113
- *
114
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
115
- * Dual licensed under the MIT (MIT-LICENSE.txt)
116
- * and GPL (GPL-LICENSE.txt) licenses.
117
- *
118
- * http://docs.jquery.com/UI/Datepicker
119
- *
120
- * Depends:
121
- * ui.core.js
122
- */
123
- * jQuery UI Progressbar 1.7.1
124
- *
125
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
126
- * Dual licensed under the MIT (MIT-LICENSE.txt)
127
- * and GPL (GPL-LICENSE.txt) licenses.
128
- *
129
- * http://docs.jquery.com/UI/Progressbar
130
- *
131
- * Depends:
132
- * ui.core.js
133
- */
134
- * jQuery UI Effects 1.7.1
135
- *
136
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
137
- * Dual licensed under the MIT (MIT-LICENSE.txt)
138
- * and GPL (GPL-LICENSE.txt) licenses.
139
- *
140
- * http://docs.jquery.com/UI/Effects/
141
- */
142
- * jQuery UI Effects Blind 1.7.1
143
- *
144
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
145
- * Dual licensed under the MIT (MIT-LICENSE.txt)
146
- * and GPL (GPL-LICENSE.txt) licenses.
147
- *
148
- * http://docs.jquery.com/UI/Effects/Blind
149
- *
150
- * Depends:
151
- * effects.core.js
152
- */
153
- * jQuery UI Effects Bounce 1.7.1
154
- *
155
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
156
- * Dual licensed under the MIT (MIT-LICENSE.txt)
157
- * and GPL (GPL-LICENSE.txt) licenses.
158
- *
159
- * http://docs.jquery.com/UI/Effects/Bounce
160
- *
161
- * Depends:
162
- * effects.core.js
163
- */
164
- * jQuery UI Effects Clip 1.7.1
165
- *
166
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
167
- * Dual licensed under the MIT (MIT-LICENSE.txt)
168
- * and GPL (GPL-LICENSE.txt) licenses.
169
- *
170
- * http://docs.jquery.com/UI/Effects/Clip
171
- *
172
- * Depends:
173
- * effects.core.js
174
- */
175
- * jQuery UI Effects Drop 1.7.1
176
- *
177
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
178
- * Dual licensed under the MIT (MIT-LICENSE.txt)
179
- * and GPL (GPL-LICENSE.txt) licenses.
180
- *
181
- * http://docs.jquery.com/UI/Effects/Drop
182
- *
183
- * Depends:
184
- * effects.core.js
185
- */
186
- * jQuery UI Effects Explode 1.7.1
187
- *
188
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
189
- * Dual licensed under the MIT (MIT-LICENSE.txt)
190
- * and GPL (GPL-LICENSE.txt) licenses.
191
- *
192
- * http://docs.jquery.com/UI/Effects/Explode
193
- *
194
- * Depends:
195
- * effects.core.js
196
- */
197
- * jQuery UI Effects Fold 1.7.1
198
- *
199
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
200
- * Dual licensed under the MIT (MIT-LICENSE.txt)
201
- * and GPL (GPL-LICENSE.txt) licenses.
202
- *
203
- * http://docs.jquery.com/UI/Effects/Fold
204
- *
205
- * Depends:
206
- * effects.core.js
207
- */
208
- * jQuery UI Effects Highlight 1.7.1
209
- *
210
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
211
- * Dual licensed under the MIT (MIT-LICENSE.txt)
212
- * and GPL (GPL-LICENSE.txt) licenses.
213
- *
214
- * http://docs.jquery.com/UI/Effects/Highlight
215
- *
216
- * Depends:
217
- * effects.core.js
218
- */
219
- * jQuery UI Effects Pulsate 1.7.1
220
- *
221
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
222
- * Dual licensed under the MIT (MIT-LICENSE.txt)
223
- * and GPL (GPL-LICENSE.txt) licenses.
224
- *
225
- * http://docs.jquery.com/UI/Effects/Pulsate
226
- *
227
- * Depends:
228
- * effects.core.js
229
- */
230
- * jQuery UI Effects Scale 1.7.1
231
- *
232
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
233
- * Dual licensed under the MIT (MIT-LICENSE.txt)
234
- * and GPL (GPL-LICENSE.txt) licenses.
235
- *
236
- * http://docs.jquery.com/UI/Effects/Scale
237
- *
238
- * Depends:
239
- * effects.core.js
240
- */
241
- * jQuery UI Effects Shake 1.7.1
242
- *
243
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
244
- * Dual licensed under the MIT (MIT-LICENSE.txt)
245
- * and GPL (GPL-LICENSE.txt) licenses.
246
- *
247
- * http://docs.jquery.com/UI/Effects/Shake
248
- *
249
- * Depends:
250
- * effects.core.js
251
- */
252
- * jQuery UI Effects Slide 1.7.1
253
- *
254
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
255
- * Dual licensed under the MIT (MIT-LICENSE.txt)
256
- * and GPL (GPL-LICENSE.txt) licenses.
257
- *
258
- * http://docs.jquery.com/UI/Effects/Slide
259
- *
260
- * Depends:
261
- * effects.core.js
262
- */
263
- * jQuery UI Effects Transfer 1.7.1
264
- *
265
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
266
- * Dual licensed under the MIT (MIT-LICENSE.txt)
267
- * and GPL (GPL-LICENSE.txt) licenses.
268
- *
269
- * http://docs.jquery.com/UI/Effects/Transfer
270
- *
271
- * Depends:
272
- * effects.core.js
273
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
trunk/includes/php/php_browsecap.ini DELETED
@@ -1,17350 +0,0 @@
1
- ;;; Provided courtesy of http://browsers.garykeith.com
2
- ;;; Created on Friday, December 11, 2009 at 3:27 PM GMT
3
-
4
- [GJK_Browscap_Version]
5
- Version=4523
6
- Released=Fri, 11 Dec 2009 15:27:01 -0000
7
-
8
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties
9
-
10
- [DefaultProperties]
11
- Browser="DefaultProperties"
12
- Version=0
13
- MajorVer=0
14
- MinorVer=0
15
- Platform=unknown
16
- Alpha=false
17
- Beta=false
18
- Win16=false
19
- Win32=false
20
- Win64=false
21
- Frames=false
22
- IFrames=false
23
- Tables=false
24
- Cookies=false
25
- BackgroundSounds=false
26
- CDF=false
27
- VBScript=false
28
- JavaApplets=false
29
- JavaScript=false
30
- ActiveXControls=false
31
- isBanned=false
32
- isMobileDevice=false
33
- isSyndicationReader=false
34
- Crawler=false
35
- CssVersion=0
36
- supportsCSS=false
37
- AOL=false
38
- aolVersion=0
39
-
40
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ask
41
-
42
- [Ask]
43
- Parent=DefaultProperties
44
- Browser="Ask"
45
- Frames=true
46
- Tables=true
47
- Crawler=true
48
-
49
- [Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)]
50
- Parent=Ask
51
- Browser="Teoma"
52
-
53
- [Mozilla/2.0 (compatible; Ask Jeeves)]
54
- Parent=Ask
55
- Browser="AskJeeves"
56
-
57
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Baidu
58
-
59
- [Baidu]
60
- Parent=DefaultProperties
61
- Browser="Baidu"
62
- Frames=true
63
- Tables=true
64
- Crawler=true
65
-
66
- [AC-BaiduBot/1.*]
67
- Parent=Baidu
68
- Browser="AC-BaiduBot"
69
-
70
- [BaiduImageSpider*]
71
- Parent=Baidu
72
- Browser="BaiduImageSpider"
73
-
74
- [Baiduspider*]
75
- Parent=Baidu
76
- Browser="BaiDu"
77
-
78
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google
79
-
80
- [Google]
81
- Parent=DefaultProperties
82
- Browser="Google"
83
- Frames=true
84
- IFrames=true
85
- Tables=true
86
- JavaScript=true
87
- Crawler=true
88
-
89
- [* (compatible; Googlebot-Mobile/2.1; *http://www.google.com/bot.html)]
90
- Parent=Google
91
- Browser="Googlebot-Mobile"
92
- Frames=false
93
- IFrames=false
94
- Tables=false
95
-
96
- [*Google Wireless Transcoder*]
97
- Parent=Google
98
- Browser="Google Wireless Transcoder"
99
-
100
- [AdsBot-Google (?http://www.google.com/adsbot.html)]
101
- Parent=Google
102
- Browser="AdsBot-Google"
103
-
104
- [Feedfetcher-Google-iGoogleGadgets;*]
105
- Parent=Google
106
- Browser="iGoogleGadgets"
107
- isBanned=true
108
- isSyndicationReader=true
109
-
110
- [Feedfetcher-Google;*]
111
- Parent=Google
112
- Browser="Feedfetcher-Google"
113
- isBanned=true
114
- isSyndicationReader=true
115
-
116
- [Google OpenSocial agent (http://www.google.com/feedfetcher.html)]
117
- Parent=Google
118
- Browser="Google OpenSocial"
119
-
120
- [Google-Site-Verification/1.0]
121
- Parent=Google
122
- Browser="Google-Site-Verification"
123
-
124
- [Google-Sitemaps/*]
125
- Parent=Google
126
- Browser="Google-Sitemaps"
127
-
128
- [Googlebot-Image/*]
129
- Parent=Google
130
- Browser="Googlebot-Image"
131
- CDF=true
132
-
133
- [Googlebot-News/*]
134
- Parent=Google
135
- Browser="Googlebot-News"
136
-
137
- [googlebot-urlconsole]
138
- Parent=Google
139
- Browser="googlebot-urlconsole"
140
-
141
- [Googlebot-Video/1.0]
142
- Parent=Google
143
- Browser="Google-Video"
144
-
145
- [Googlebot/2.1 (?http://www.google.com/bot.html)]
146
- Parent=Google
147
- Browser="Googlebot"
148
-
149
- [Googlebot/2.1 (?http://www.googlebot.com/bot.html)]
150
- Parent=Google
151
- Browser="Googlebot"
152
-
153
- [Googlebot/Test*]
154
- Parent=Google
155
- Browser="Googlebot/Test"
156
-
157
- [GoogleFriendConnect/1.*]
158
- Parent=Google
159
- Browser="Google Friend Connect"
160
-
161
- [gsa-crawler*]
162
- Parent=Google
163
- Browser="Google Search Appliance"
164
- isBanned=true
165
-
166
- [Mediapartners-Google*]
167
- Parent=Google
168
- Browser="Mediapartners-Google"
169
-
170
- [Mozilla/?.0 (compatible; Google Desktop*)]
171
- Parent=Google
172
- Browser="Google Desktop"
173
-
174
- [Mozilla/5.0 (compatible; Google Keyword Tool;*)]
175
- Parent=Google
176
- Browser="Google Keyword Tool"
177
-
178
- [Mozilla/5.0 (compatible; Googlebot/2.1; ?http://www.google.com/bot.html)]
179
- Parent=Google
180
- Browser="Google Webmaster Tools"
181
-
182
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Inktomi
183
-
184
- [Inktomi]
185
- Parent=DefaultProperties
186
- Browser="Inktomi"
187
- Frames=true
188
- Tables=true
189
- Crawler=true
190
-
191
- [* (compatible;YahooSeeker/M1A1-R2D2; *)]
192
- Parent=Inktomi
193
- Browser="YahooSeeker-Mobile"
194
- Frames=false
195
- Tables=false
196
-
197
- [Mozilla/4.0]
198
- Parent=Inktomi
199
-
200
- [Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)]
201
- Parent=Inktomi
202
- Win32=true
203
-
204
- [Mozilla/4.0 (compatible; Yahoo Japan; for robot study; kasugiya)]
205
- Parent=Inktomi
206
- Browser="Yahoo! RobotStudy"
207
- isBanned=true
208
-
209
- [Mozilla/5.0 (compatible; BMC/1.0 (Y!J-AGENT))]
210
- Parent=Inktomi
211
- Browser="Y!J-AGENT/BMC"
212
-
213
- [Mozilla/5.0 (compatible; BMF/1.0 (Y!J-AGENT))]
214
- Parent=Inktomi
215
- Browser="Y!J-AGENT/BMF"
216
-
217
- [Mozilla/5.0 (compatible; BMI/1.0 (Y!J-AGENT; 1.0))]
218
- Parent=Inktomi
219
- Browser="Y!J-AGENT/BMI"
220
-
221
- [Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
222
- Parent=Inktomi
223
- Browser="Yahoo! Directory Engine"
224
-
225
- [Mozilla/5.0 (compatible; Yahoo! SearchMonkey 1.0; *)]
226
- Parent=Inktomi
227
- Browser="Yahoo! Search Monkey"
228
-
229
- [Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)]
230
- Parent=Inktomi
231
- Browser="Yahoo! Slurp China"
232
-
233
- [Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)]
234
- Parent=Inktomi
235
- Browser="Yahoo! Slurp"
236
- Version=3.0
237
- MajorVer=3
238
- MinorVer=0
239
-
240
- [Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
241
- Parent=Inktomi
242
- Browser="Yahoo! Slurp"
243
-
244
- [Mozilla/5.0 (compatible; Yahoo! Verifier/1.1)]
245
- Parent=Inktomi
246
- Browser="Yahoo! Verifier"
247
- Version=1.1
248
- MajorVer=1
249
- MinorVer=1
250
-
251
- [Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
252
- Parent=Inktomi
253
- Browser="Slurp/cat"
254
-
255
- [Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
256
- Parent=Inktomi
257
-
258
- [Mozilla/5.0 (Yahoo-MMCrawler/4.0; mailto:vertical-crawl-support@yahoo-inc.com)]
259
- Parent=Inktomi
260
- Browser="Yahoo-MMCrawler"
261
- Version=4.0
262
- MajorVer=4
263
- MinorVer=0
264
-
265
- [Scooter/*]
266
- Parent=Inktomi
267
- Browser="Scooter"
268
-
269
- [Scooter/3.3Y!CrawlX]
270
- Parent=Inktomi
271
- Browser="Scooter/3.3Y!CrawlX"
272
- Version=3.3
273
- MajorVer=3
274
- MinorVer=3
275
-
276
- [slurp]
277
- Parent=Inktomi
278
- Browser="slurp"
279
-
280
- [Y!J SearchMonkey/1.0*]
281
- Parent=Inktomi
282
- Browser="YahooFeedSeeker"
283
- isSyndicationReader=true
284
-
285
- [Y!J-BRE*]
286
- Parent=Inktomi
287
- Browser="YahooFeedSeeker"
288
- isSyndicationReader=true
289
-
290
- [Y!J-BRG/GSC*]
291
- Parent=Inktomi
292
- Browser="YahooFeedSeeker"
293
- isSyndicationReader=true
294
-
295
- [Y!J-BRI*]
296
- Parent=Inktomi
297
- Browser="YahooFeedSeeker"
298
- isSyndicationReader=true
299
-
300
- [Y!J-BRO/YFSJ*]
301
- Parent=Inktomi
302
- Browser="YahooFeedSeeker"
303
- isSyndicationReader=true
304
-
305
- [Y!J-BRP/YFSBJ*]
306
- Parent=Inktomi
307
- Browser="YahooFeedSeeker"
308
- isSyndicationReader=true
309
-
310
- [Y!J-BRQ/DLCK*]
311
- Parent=Inktomi
312
- Browser="YahooFeedSeeker"
313
- isSyndicationReader=true
314
-
315
- [Y!J-BSC/1.0*]
316
- Parent=Inktomi
317
- Browser="YahooFeedSeeker"
318
- Version=1.0
319
- MajorVer=1
320
- MinorVer=0
321
- isSyndicationReader=true
322
-
323
- [Y!J-DSC*]
324
- Parent=Inktomi
325
- Browser="YahooFeedSeeker"
326
- isSyndicationReader=true
327
-
328
- [Y!J-NSC/1.0*]
329
- Parent=Inktomi
330
- Browser="YahooFeedSeeker"
331
- isSyndicationReader=true
332
-
333
- [Y!J-PSC*]
334
- Parent=Inktomi
335
- Browser="YahooFeedSeeker"
336
- isSyndicationReader=true
337
-
338
- [Y!J-SRD/1.0]
339
- Parent=Inktomi
340
- Browser="YahooFeedSeeker"
341
- Version=1.0
342
- MajorVer=1
343
- MinorVer=0
344
-
345
- [Y!J-VSC/ViSe*]
346
- Parent=Inktomi
347
- Browser="YahooFeedSeeker"
348
- isSyndicationReader=true
349
-
350
- [Yahoo Mindset]
351
- Parent=Inktomi
352
- Browser="Yahoo Mindset"
353
-
354
- [Yahoo Pipes*]
355
- Parent=Inktomi
356
- Browser="Yahoo Pipes"
357
-
358
- [Yahoo! Mindset]
359
- Parent=Inktomi
360
- Browser="Yahoo! Mindset"
361
-
362
- [Yahoo! Slurp/Site Explorer]
363
- Parent=Inktomi
364
- Browser="Yahoo! Site Explorer"
365
-
366
- [Yahoo-Blogs/*]
367
- Parent=Inktomi
368
- Browser="Yahoo-Blogs"
369
-
370
- [Yahoo-MMAudVid*]
371
- Parent=Inktomi
372
- Browser="Yahoo-MMAudVid"
373
-
374
- [Yahoo-MMCrawler*]
375
- Parent=Inktomi
376
- Browser="Yahoo-MMCrawler"
377
- isBanned=true
378
-
379
- [YahooFeedSeeker*]
380
- Parent=Inktomi
381
- Browser="YahooFeedSeeker"
382
- isSyndicationReader=true
383
- Crawler=false
384
-
385
- [YahooSeeker/*]
386
- Parent=Inktomi
387
- Browser="YahooSeeker"
388
- isMobileDevice=true
389
-
390
- [YahooSeeker/CafeKelsa (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
391
- Parent=Inktomi
392
- Browser="YahooSeeker/CafeKelsa"
393
-
394
- [YahooSeeker/CafeKelsa-dev (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
395
- Parent=Inktomi
396
-
397
- [YahooVideoSearch*]
398
- Parent=Inktomi
399
- Browser="YahooVideoSearch"
400
-
401
- [YahooYSMcm*]
402
- Parent=Inktomi
403
- Browser="YahooYSMcm"
404
-
405
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN
406
-
407
- [MSN]
408
- Parent=DefaultProperties
409
- Browser="MSN"
410
- Frames=true
411
- Tables=true
412
- Crawler=true
413
-
414
- [adidxbot/1.1 (?http://search.msn.com/msnbot.htm)]
415
- Parent=MSN
416
- Browser="adidxbot"
417
-
418
- [librabot/1.0 (*)]
419
- Parent=MSN
420
- Browser="librabot"
421
-
422
- [llssbot/1.0]
423
- Parent=MSN
424
- Browser="llssbot"
425
- Version=1.0
426
- MajorVer=1
427
- MinorVer=0
428
-
429
- [Mozilla/5.0 (Danger hiptop 3.*; U; rv:1.7.*) Gecko/*]
430
- Parent=MSN
431
- Browser="Danger"
432
-
433
- [MSMOBOT/1.1*]
434
- Parent=MSN
435
- Browser="msnbot-mobile"
436
- Version=1.1
437
- MajorVer=1
438
- MinorVer=1
439
-
440
- [MSNBot-Academic/1.0*]
441
- Parent=MSN
442
- Browser="MSNBot-Academic"
443
- Version=1.0
444
- MajorVer=1
445
- MinorVer=0
446
-
447
- [msnbot-media/1.0*]
448
- Parent=MSN
449
- Browser="msnbot-media"
450
- Version=1.0
451
- MajorVer=1
452
- MinorVer=0
453
-
454
- [msnbot-media/1.1*]
455
- Parent=MSN
456
- Browser="msnbot-media"
457
- Version=1.1
458
- MajorVer=1
459
- MinorVer=1
460
-
461
- [MSNBot-News/1.0*]
462
- Parent=MSN
463
- Browser="MSNBot-News"
464
- Version=1.0
465
- MajorVer=1
466
- MinorVer=0
467
-
468
- [MSNBot-NewsBlogs/1.0*]
469
- Parent=MSN
470
- Browser="MSNBot-NewsBlogs"
471
- Version=1
472
- MajorVer=1
473
- MinorVer=0
474
-
475
- [msnbot-products]
476
- Parent=MSN
477
- Browser="msnbot-products"
478
-
479
- [msnbot-webmaster/1.0 (*http://search.msn.com/msnbot.htm)]
480
- Parent=MSN
481
- Browser="msnbot-webmaster tools"
482
-
483
- [msnbot/1.0*]
484
- Parent=MSN
485
- Browser="msnbot"
486
- Version=1.0
487
- MajorVer=1
488
- MinorVer=0
489
-
490
- [msnbot/1.1*]
491
- Parent=MSN
492
- Browser="msnbot"
493
- Version=1.1
494
- MajorVer=1
495
- MinorVer=1
496
-
497
- [msnbot/2.0b*]
498
- Parent=MSN
499
- Version=2.0
500
- MajorVer=2
501
- MinorVer=0
502
- Beta=true
503
-
504
- [MSR-ISRCCrawler]
505
- Parent=MSN
506
- Browser="MSR-ISRCCrawler"
507
-
508
- [MSRBOT*]
509
- Parent=MSN
510
- Browser="MSRBOT"
511
-
512
- [renlifangbot/1.0 (?http://search.msn.com/msnbot.htm)]
513
- Parent=MSN
514
- Browser="renlifangbot"
515
-
516
- [T-Mobile Dash Mozilla/4.0 (*) MSNBOT-MOBILE/1.1 (*)]
517
- Parent=MSN
518
- Browser="msnbot-mobile"
519
-
520
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yahoo
521
-
522
- [Yahoo]
523
- Parent=DefaultProperties
524
- Browser="Yahoo"
525
- Frames=true
526
- Tables=true
527
- Crawler=true
528
-
529
- [Mozilla/4.0 (compatible; Y!J; for robot study*)]
530
- Parent=Yahoo
531
- Browser="Y!J"
532
-
533
- [Mozilla/5.0 (Yahoo-Test/4.0*)]
534
- Parent=Yahoo
535
- Browser="Yahoo-Test"
536
- Version=4.0
537
- MajorVer=4
538
- MinorVer=0
539
-
540
- [mp3Spider cn-search-devel at yahoo-inc dot com]
541
- Parent=Yahoo
542
- Browser="Yahoo! Media"
543
- isBanned=true
544
-
545
- [My Browser]
546
- Parent=Yahoo
547
- Browser="Yahoo! My Browser"
548
-
549
- [Y!OASIS/*]
550
- Parent=Yahoo
551
- Browser="Y!OASIS"
552
- isBanned=true
553
-
554
- [YahooYSMcm/2.0.0]
555
- Parent=Yahoo
556
- Browser="YahooYSMcm"
557
- Version=2.0
558
- MajorVer=2
559
- MinorVer=0
560
- isBanned=true
561
-
562
- [YRL_ODP_CRAWLER]
563
- Parent=Yahoo
564
- Browser="YRL_ODP_CRAWLER"
565
- isBanned=true
566
-
567
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yandex
568
-
569
- [Yandex]
570
- Parent=DefaultProperties
571
- Browser="Yandex"
572
- Frames=true
573
- IFrames=true
574
- Tables=true
575
- Cookies=true
576
- Crawler=true
577
-
578
- [Mozilla/4.0 (compatible; MSIE 5.0; YANDEX)]
579
- Parent=Yandex
580
-
581
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9) Gecko VisualParser/3.0]
582
- Parent=Yandex
583
- Browser="VisualParser"
584
- isBanned=true
585
-
586
- [YaDirectBot/*]
587
- Parent=Yandex
588
- Browser="YaDirectBot"
589
-
590
- [Yandex/*]
591
- Parent=Yandex
592
-
593
- [YandexBlog/*]
594
- Parent=Yandex
595
- Browser="YandexBlog"
596
- isSyndicationReader=true
597
-
598
- [YandexSomething/*]
599
- Parent=Yandex
600
- Browser="YandexSomething"
601
- isSyndicationReader=true
602
-
603
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Best of the Web
604
-
605
- [Best of the Web]
606
- Parent=DefaultProperties
607
- Browser="Best of the Web"
608
- Frames=true
609
- Tables=true
610
-
611
- [Mozilla/4.0 (compatible; BOTW Feed Grabber; *http://botw.org)]
612
- Parent=Best of the Web
613
- Browser="BOTW Feed Grabber"
614
- isSyndicationReader=true
615
- Crawler=false
616
-
617
- [Mozilla/4.0 (compatible; BOTW Spider; *http://botw.org)]
618
- Parent=Best of the Web
619
- Browser="BOTW Spider"
620
- isBanned=true
621
-
622
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Boitho
623
-
624
- [Boitho]
625
- Parent=DefaultProperties
626
- Browser="Boitho"
627
- Frames=true
628
- Tables=true
629
- Crawler=true
630
-
631
- [boitho.com-dc/*]
632
- Parent=Boitho
633
- Browser="boitho.com-dc"
634
-
635
- [boitho.com-robot/*]
636
- Parent=Boitho
637
- Browser="boitho.com-robot"
638
-
639
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Convera
640
-
641
- [Convera]
642
- Parent=DefaultProperties
643
- Browser="Convera"
644
- Frames=true
645
- Tables=true
646
- Crawler=true
647
-
648
- [ConveraCrawler/*]
649
- Parent=Convera
650
- Browser="ConveraCrawler"
651
-
652
- [ConveraMultiMediaCrawler/0.1*]
653
- Parent=Convera
654
- Browser="ConveraMultiMediaCrawler"
655
- Version=0.1
656
- MajorVer=0
657
- MinorVer=1
658
-
659
- [CrawlConvera*]
660
- Parent=Convera
661
- Browser="CrawlConvera"
662
-
663
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DotBot
664
-
665
- [DotBot]
666
- Parent=DefaultProperties
667
- Browser="DotBot"
668
- Frames=true
669
- Tables=true
670
- isBanned=true
671
- Crawler=true
672
-
673
- [DotBot/* (http://www.dotnetdotcom.org/*)]
674
- Parent=DotBot
675
-
676
- [Mozilla/5.0 (compatible; DotBot/*; http://www.dotnetdotcom.org/*)]
677
- Parent=DotBot
678
-
679
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Entireweb
680
-
681
- [Entireweb]
682
- Parent=DefaultProperties
683
- Browser="Entireweb"
684
- Frames=true
685
- IFrames=true
686
- Tables=true
687
- isBanned=true
688
- Crawler=true
689
-
690
- [Mozilla/4.0 (compatible; SpeedySpider; www.entireweb.com)]
691
- Parent=Entireweb
692
-
693
- [Speedy Spider (*Beta/*)]
694
- Parent=Entireweb
695
-
696
- [Speedy?Spider?(http://www.entireweb.com*)]
697
- Parent=Entireweb
698
-
699
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Envolk
700
-
701
- [Envolk]
702
- Parent=DefaultProperties
703
- Browser="Envolk"
704
- Frames=true
705
- IFrames=true
706
- Tables=true
707
- isBanned=true
708
- Crawler=true
709
-
710
- [envolk/* (?http://www.envolk.com/envolk*)]
711
- Parent=Envolk
712
-
713
- [envolk?ITS?spider/* (?http://www.envolk.com/envolk*)]
714
- Parent=Envolk
715
-
716
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Exalead
717
-
718
- [Exalead]
719
- Parent=DefaultProperties
720
- Browser="Exalead"
721
- Frames=true
722
- Tables=true
723
- isBanned=true
724
- Crawler=true
725
-
726
- [Exabot-Images/1.0]
727
- Parent=Exalead
728
- Browser="Exabot-Images"
729
- Version=1.0
730
- MajorVer=1
731
- MinorVer=0
732
-
733
- [Exabot-Test/*]
734
- Parent=Exalead
735
- Browser="Exabot-Test"
736
-
737
- [Exabot/2.0]
738
- Parent=Exalead
739
- Browser="Exabot"
740
-
741
- [Exabot/3.0]
742
- Parent=Exalead
743
- Browser="Exabot"
744
- Version=3.0
745
- MajorVer=3
746
- MinorVer=0
747
- Platform=Liberate
748
-
749
- [Exalead NG/*]
750
- Parent=Exalead
751
- Browser="Exalead NG"
752
- isBanned=true
753
-
754
- [Mozilla/5.0 (compatible; Exabot-Images/3.0;*)]
755
- Parent=Exalead
756
- Browser="Exabot-Images"
757
-
758
- [Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter); *)]
759
- Parent=Exalead
760
- Browser="Exabot/BiggerBetter"
761
-
762
- [Mozilla/5.0 (compatible; Exabot/3.0;*)]
763
- Parent=Exalead
764
- Browser="Exabot"
765
- isBanned=false
766
-
767
- [Mozilla/5.0 (compatible; NGBot/*)]
768
- Parent=Exalead
769
-
770
- [ng/*]
771
- Parent=Exalead
772
- Browser="Exalead Previewer"
773
- Version=1.0
774
- MajorVer=1
775
- MinorVer=0
776
- isBanned=true
777
-
778
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fast/AllTheWeb
779
-
780
- [Fast/AllTheWeb]
781
- Parent=DefaultProperties
782
- Browser="Fast/AllTheWeb"
783
- Alpha=true
784
- Beta=true
785
- Win16=true
786
- Win32=true
787
- Win64=true
788
- Frames=true
789
- IFrames=true
790
- Tables=true
791
- Cookies=true
792
- BackgroundSounds=true
793
- CDF=true
794
- VBScript=true
795
- JavaApplets=true
796
- JavaScript=true
797
- ActiveXControls=true
798
- isBanned=true
799
- isMobileDevice=true
800
- isSyndicationReader=true
801
- Crawler=true
802
-
803
- [*FAST Enterprise Crawler*]
804
- Parent=Fast/AllTheWeb
805
- Browser="FAST Enterprise Crawler"
806
-
807
- [FAST Data Search Document Retriever/4.0*]
808
- Parent=Fast/AllTheWeb
809
- Browser="FAST Data Search Document Retriever"
810
-
811
- [FAST MetaWeb Crawler (helpdesk at fastsearch dot com)]
812
- Parent=Fast/AllTheWeb
813
- Browser="FAST MetaWeb Crawler"
814
-
815
- [Fast PartnerSite Crawler*]
816
- Parent=Fast/AllTheWeb
817
- Browser="FAST PartnerSite"
818
-
819
- [FAST-WebCrawler/*]
820
- Parent=Fast/AllTheWeb
821
- Browser="FAST-WebCrawler"
822
-
823
- [FAST-WebCrawler/*/FirstPage*]
824
- Parent=Fast/AllTheWeb
825
- Browser="FAST-WebCrawler/FirstPage"
826
-
827
- [FAST-WebCrawler/*/Fresh*]
828
- Parent=Fast/AllTheWeb
829
- Browser="FAST-WebCrawler/Fresh"
830
-
831
- [FAST-WebCrawler/*/PartnerSite*]
832
- Parent=Fast/AllTheWeb
833
- Browser="FAST PartnerSite"
834
-
835
- [FAST-WebCrawler/*?Multimedia*]
836
- Parent=Fast/AllTheWeb
837
- Browser="FAST-WebCrawler/Multimedia"
838
-
839
- [FastSearch Web Crawler for*]
840
- Parent=Fast/AllTheWeb
841
- Browser="FastSearch Web Crawler"
842
-
843
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Gigabot
844
-
845
- [Gigabot]
846
- Parent=DefaultProperties
847
- Browser="Gigabot"
848
- Frames=true
849
- IFrames=true
850
- Tables=true
851
- Crawler=true
852
-
853
- [Gigabot*]
854
- Parent=Gigabot
855
-
856
- [GigabotSiteSearch/*]
857
- Parent=Gigabot
858
- Browser="GigabotSiteSearch"
859
-
860
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ilse
861
-
862
- [Ilse]
863
- Parent=DefaultProperties
864
- Browser="Ilse"
865
- Frames=true
866
- Tables=true
867
- Crawler=true
868
-
869
- [IlseBot/*]
870
- Parent=Ilse
871
-
872
- [INGRID/?.0*]
873
- Parent=Ilse
874
- Browser="Ilse"
875
-
876
- [Mozilla/3.0 (INGRID/*]
877
- Parent=Ilse
878
- Browser="Ilse"
879
-
880
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iVia Project
881
-
882
- [iVia Project]
883
- Parent=DefaultProperties
884
- Browser="iVia Project"
885
- Frames=true
886
- IFrames=true
887
- Tables=true
888
- Crawler=true
889
-
890
- [DataFountains/DMOZ Downloader*]
891
- Parent=iVia Project
892
- Browser="DataFountains/DMOZ Downloader"
893
- isBanned=true
894
-
895
- [DataFountains/DMOZ Feature Vector Corpus Creator*]
896
- Parent=iVia Project
897
- Browser="DataFountains/DMOZ Feature Vector Corpus"
898
-
899
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Jayde Online
900
-
901
- [Jayde Online]
902
- Parent=DefaultProperties
903
- Browser="Jayde Online"
904
- Frames=true
905
- Tables=true
906
- Crawler=true
907
-
908
- [ExactSeek Crawler/*]
909
- Parent=Jayde Online
910
- Browser="ExactSeek Crawler"
911
-
912
- [exactseek-pagereaper-* (crawler@exactseek.com)]
913
- Parent=Jayde Online
914
- Browser="exactseek-pagereaper"
915
- isBanned=true
916
-
917
- [exactseek.com]
918
- Parent=Jayde Online
919
- Browser="exactseek.com"
920
-
921
- [Jayde Crawler*]
922
- Parent=Jayde Online
923
- Browser="Jayde Crawler"
924
-
925
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycos
926
-
927
- [Lycos]
928
- Parent=DefaultProperties
929
- Browser="Lycos"
930
- Frames=true
931
- Tables=true
932
- Crawler=true
933
-
934
- [Lycos*]
935
- Parent=Lycos
936
- Browser="Lycos"
937
-
938
- [Lycos-Proxy]
939
- Parent=Lycos
940
- Browser="Lycos-Proxy"
941
-
942
- [Lycos-Spider_(modspider)]
943
- Parent=Lycos
944
- Browser="Lycos-Spider_(modspider)"
945
-
946
- [Lycos-Spider_(T-Rex)]
947
- Parent=Lycos
948
- Browser="Lycos-Spider_(T-Rex)"
949
-
950
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Naver
951
-
952
- [Naver]
953
- Parent=DefaultProperties
954
- Browser="Naver"
955
- isBanned=true
956
- Crawler=true
957
-
958
- [Cowbot-* (NHN Corp*naver.com)]
959
- Parent=Naver
960
- Browser="Naver Cowbot"
961
-
962
- [Mozilla/4.0 (compatible; NaverBot/*; *)]
963
- Parent=Naver
964
-
965
- [Mozilla/4.0 (compatible; NaverBot/*; nhnbot@naver.com)]
966
- Parent=Naver
967
- Browser="Naver NaverBot"
968
-
969
- [NaverBot-* (NHN Corp*naver.com)]
970
- Parent=Naver
971
- Browser="Naver NHN Corp"
972
-
973
- [Yeti/*]
974
- Parent=Naver
975
- Browser="Yeti"
976
-
977
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Snap
978
-
979
- [Snap]
980
- Parent=DefaultProperties
981
- Browser="Snap"
982
- isBanned=true
983
- Crawler=true
984
-
985
- [Mozilla/5.0 (SnapPreviewBot) Gecko/* Firefox/*]
986
- Parent=Snap
987
-
988
- [Snapbot/*]
989
- Parent=Snap
990
-
991
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Sogou
992
-
993
- [Sogou]
994
- Parent=DefaultProperties
995
- Browser="Sogou"
996
- Frames=true
997
- Tables=true
998
- isBanned=true
999
- Crawler=true
1000
-
1001
- [shaboyi spider]
1002
- Parent=Sogou
1003
- Browser="Sogou/Shaboyi Spider"
1004
-
1005
- [Sogou develop spider/*]
1006
- Parent=Sogou
1007
- Browser="Sogou Develop Spider"
1008
-
1009
- [Sogou head spider*]
1010
- Parent=Sogou
1011
- Browser="Sogou/HEAD Spider"
1012
-
1013
- [sogou js robot(*)]
1014
- Parent=Sogou
1015
-
1016
- [Sogou Orion spider/*]
1017
- Parent=Sogou
1018
- Browser="Sogou Orion spider"
1019
-
1020
- [Sogou Pic Agent]
1021
- Parent=Sogou
1022
- Browser="Sogou/Image Crawler"
1023
-
1024
- [Sogou Pic Spider]
1025
- Parent=Sogou
1026
- Browser="Sogou Pic Spider"
1027
-
1028
- [Sogou Push Spider/*]
1029
- Parent=Sogou
1030
- Browser="Sogou Push Spider"
1031
-
1032
- [sogou spider]
1033
- Parent=Sogou
1034
- Browser="Sogou/Spider"
1035
-
1036
- [sogou web spider*]
1037
- Parent=Sogou
1038
- Browser="sogou web spider"
1039
-
1040
- [Sogou-Test-Spider/*]
1041
- Parent=Sogou
1042
- Browser="Sogou-Test-Spider"
1043
-
1044
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; YodaoBot
1045
-
1046
- [YodaoBot]
1047
- Parent=DefaultProperties
1048
- Browser="YodaoBot"
1049
- Frames=true
1050
- IFrames=true
1051
- Tables=true
1052
- isBanned=true
1053
- Crawler=true
1054
-
1055
- [Mozilla/5.0 (compatible; YodaoBot/1.*)]
1056
- Parent=YodaoBot
1057
-
1058
- [Mozilla/5.0 (compatible;YodaoBot-Image/1.*)]
1059
- Parent=YodaoBot
1060
- Browser="YodaoBot-Image"
1061
-
1062
- [WAP_Browser/5.0 (compatible; YodaoBot/1.*)]
1063
- Parent=YodaoBot
1064
-
1065
- [YodaoBot/1.* (*)]
1066
- Parent=YodaoBot
1067
-
1068
- [Best Whois (http://www.bestwhois.net/)]
1069
- Parent=DNS Tools
1070
- Browser="Best Whois"
1071
-
1072
- [DNSGroup/*]
1073
- Parent=DNS Tools
1074
- Browser="DNS Group Crawler"
1075
-
1076
- [NG-Search/*]
1077
- Parent=Exalead
1078
- Browser="NG-SearchBot"
1079
-
1080
- [TouchStone]
1081
- Parent=Feeds Syndicators
1082
- Browser="TouchStone"
1083
- isSyndicationReader=true
1084
-
1085
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General Crawlers
1086
-
1087
- [General Crawlers]
1088
- Parent=DefaultProperties
1089
- Browser="General Crawlers"
1090
- Crawler=true
1091
-
1092
- [A .NET Web Crawler]
1093
- Parent=General Crawlers
1094
- isBanned=true
1095
-
1096
- [BabalooSpider/1.*]
1097
- Parent=General Crawlers
1098
- Browser="BabalooSpider"
1099
-
1100
- [BilgiBot/*]
1101
- Parent=General Crawlers
1102
- Browser="BilgiBot"
1103
- isBanned=true
1104
-
1105
- [bot/* (bot; *bot@bot.bot)]
1106
- Parent=General Crawlers
1107
- Browser="bot"
1108
- isBanned=true
1109
-
1110
- [CyberPatrol*]
1111
- Parent=General Crawlers
1112
- Browser="CyberPatrol"
1113
- isBanned=true
1114
-
1115
- [Cynthia 1.0]
1116
- Parent=General Crawlers
1117
- Browser="Cynthia"
1118
- Version=1.0
1119
- MajorVer=1
1120
- MinorVer=0
1121
-
1122
- [cz32ts]
1123
- Parent=General Crawlers
1124
- Browser="cz32ts"
1125
- isBanned=true
1126
-
1127
- [ddetailsbot (http://www.displaydetails.com)]
1128
- Parent=General Crawlers
1129
- Browser="ddetailsbot"
1130
-
1131
- [DomainCrawler/1.0 (info@domaincrawler.com; http://www.domaincrawler.com/domains/view/*)]
1132
- Parent=General Crawlers
1133
- Browser="DomainCrawler"
1134
-
1135
- [DomainsBotBot/1.*]
1136
- Parent=General Crawlers
1137
- Browser="DomainsBotBot"
1138
- isBanned=true
1139
-
1140
- [DomainsDB.net MetaCrawler*]
1141
- Parent=General Crawlers
1142
- Browser="DomainsDB"
1143
-
1144
- [Drupal (*)]
1145
- Parent=General Crawlers
1146
- Browser="Drupal"
1147
-
1148
- [Dumbot (version *)*]
1149
- Parent=General Crawlers
1150
- Browser="Dumbfind"
1151
-
1152
- [EuripBot/*]
1153
- Parent=General Crawlers
1154
- Browser="Europe Internet Portal"
1155
-
1156
- [eventax/*]
1157
- Parent=General Crawlers
1158
- Browser="eventax"
1159
-
1160
- [FANGCrawl/*]
1161
- Parent=General Crawlers
1162
- Browser="Safe-t.net Web Filtering Service"
1163
- isBanned=true
1164
-
1165
- [favorstarbot/*]
1166
- Parent=General Crawlers
1167
- Browser="favorstarbot"
1168
- isBanned=true
1169
-
1170
- [FollowSite.com (*)]
1171
- Parent=General Crawlers
1172
- Browser="FollowSite"
1173
- isBanned=true
1174
-
1175
- [Gaisbot*]
1176
- Parent=General Crawlers
1177
- Browser="Gaisbot"
1178
-
1179
- [Healthbot/Health_and_Longevity_Project_(HealthHaven.com) ]
1180
- Parent=General Crawlers
1181
- Browser="Healthbot"
1182
- isBanned=true
1183
-
1184
- [hitcrawler_0.*]
1185
- Parent=General Crawlers
1186
- Browser="hitcrawler"
1187
- isBanned=true
1188
-
1189
- [htdig/*]
1190
- Parent=General Crawlers
1191
- Browser="ht://Dig"
1192
-
1193
- [http://hilfe.acont.de/bot.html ACONTBOT]
1194
- Parent=General Crawlers
1195
- Browser="ACONTBOT"
1196
- isBanned=true
1197
-
1198
- [JetBrains*]
1199
- Parent=General Crawlers
1200
- Browser="Omea Pro"
1201
-
1202
- [KakleBot - www.kakle.com/0.1]
1203
- Parent=General Crawlers
1204
- Browser="KakleBot"
1205
-
1206
- [KBeeBot/0.*]
1207
- Parent=General Crawlers
1208
- Browser="KBeeBot"
1209
- isBanned=true
1210
-
1211
- [Keyword Density/*]
1212
- Parent=General Crawlers
1213
- Browser="Keyword Density"
1214
-
1215
- [LetsCrawl.com/1.0*]
1216
- Parent=General Crawlers
1217
- Browser="LetsCrawl.com"
1218
- isBanned=true
1219
-
1220
- [Lincoln State Web Browser]
1221
- Parent=General Crawlers
1222
- Browser="Lincoln State Web Browser"
1223
- isBanned=true
1224
-
1225
- [Links4US-Crawler,*]
1226
- Parent=General Crawlers
1227
- Browser="Links4US-Crawler"
1228
- isBanned=true
1229
-
1230
- [Lorkyll *.* -- lorkyll@444.net]
1231
- Parent=General Crawlers
1232
- Browser="Lorkyll"
1233
- isBanned=true
1234
-
1235
- [Lsearch/sondeur]
1236
- Parent=General Crawlers
1237
- Browser="Lsearch/sondeur"
1238
- isBanned=true
1239
-
1240
- [LucidMedia ClickSense/4.?]
1241
- Parent=General Crawlers
1242
- Browser="LucidMedia-ClickSense"
1243
- isBanned=true
1244
-
1245
- [Made by ZmEu @ WhiteHat v0.* (www.WhiteHat.ro)]
1246
- Parent=General Crawlers
1247
- Browser="ZmEu"
1248
- isBanned=true
1249
-
1250
- [Mahalobot/1.0 (?http://www.mahalo.com/)]
1251
- Parent=General Crawlers
1252
- Browser="Mahalobot"
1253
-
1254
- [MapoftheInternet.com?(?http://MapoftheInternet.com)]
1255
- Parent=General Crawlers
1256
- Browser="MapoftheInternet"
1257
- isBanned=true
1258
-
1259
- [Marvin v0.3]
1260
- Parent=General Crawlers
1261
- Browser="MedHunt"
1262
- Version=0.3
1263
- MajorVer=0
1264
- MinorVer=3
1265
-
1266
- [masidani_bot_v0.6*]
1267
- Parent=General Crawlers
1268
- Browser="masidani_bot"
1269
-
1270
- [Metaspinner/0.01 (Metaspinner; http://www.meta-spinner.de/; support@meta-spinner.de/)]
1271
- Parent=General Crawlers
1272
- Browser="Metaspinner/0.01"
1273
- Version=0.01
1274
- MajorVer=0
1275
- MinorVer=01
1276
-
1277
- [metatagsdir/*]
1278
- Parent=General Crawlers
1279
- Browser="metatagsdir"
1280
- isBanned=true
1281
-
1282
- [Microsoft Windows Network Diagnostics]
1283
- Parent=General Crawlers
1284
- Browser="Microsoft Windows Network Diagnostics"
1285
- isBanned=true
1286
-
1287
- [Miva (AlgoFeedback@miva.com)]
1288
- Parent=General Crawlers
1289
- Browser="Miva"
1290
-
1291
- [moget/*]
1292
- Parent=General Crawlers
1293
- Browser="Goo"
1294
-
1295
- [Mozdex/0.7.2*]
1296
- Parent=General Crawlers
1297
- Browser="Mozdex"
1298
-
1299
- [Mozilla Compatible (MS IE 3.01 WinNT)]
1300
- Parent=General Crawlers
1301
- isBanned=true
1302
-
1303
- [Mozilla/* (compatible; WebCapture*)]
1304
- Parent=General Crawlers
1305
- Browser="WebCapture"
1306
-
1307
- [Mozilla/4.0 (compatible; DepSpid/*)]
1308
- Parent=General Crawlers
1309
- Browser="DepSpid"
1310
-
1311
- [Mozilla/4.0 (compatible; MSIE 4.01; Vonna.com b o t)]
1312
- Parent=General Crawlers
1313
- Browser="Vonna.com"
1314
- isBanned=true
1315
-
1316
- [Mozilla/4.0 (compatible; MSIE 4.01; Windows95)]
1317
- Parent=General Crawlers
1318
- Win32=true
1319
-
1320
- [Mozilla/4.0 (compatible; MSIE 4.5; Windows 98; )]
1321
- Parent=General Crawlers
1322
- Win32=true
1323
-
1324
- [Mozilla/4.0 (compatible; MyFamilyBot/*)]
1325
- Parent=General Crawlers
1326
- Browser="MyFamilyBot"
1327
-
1328
- [Mozilla/4.0 (compatible; N-Stealth)]
1329
- Parent=General Crawlers
1330
- Browser="N-Stealth"
1331
-
1332
- [Mozilla/4.0 (compatible; Scumbot/*; Linux/*)]
1333
- Parent=General Crawlers
1334
- isBanned=true
1335
-
1336
- [Mozilla/4.0 (compatible; Spider; Linux)]
1337
- Parent=General Crawlers
1338
- isBanned=true
1339
-
1340
- [Mozilla/4.0 (compatible; Win32)]
1341
- Parent=General Crawlers
1342
- Browser="Unknown Crawler"
1343
- isBanned=true
1344
-
1345
- [Mozilla/4.1]
1346
- Parent=General Crawlers
1347
- isBanned=true
1348
-
1349
- [Mozilla/4.5]
1350
- Parent=General Crawlers
1351
- isBanned=true
1352
-
1353
- [Mozilla/5.0 (*http://gnomit.com/) Gecko/* Gnomit/1.0]
1354
- Parent=General Crawlers
1355
- Browser="Gnomit"
1356
- isBanned=true
1357
-
1358
- [Mozilla/5.0 (compatible; *; http://www.80legs.com/spider.html;) Gecko/*]
1359
- Parent=General Crawlers
1360
- Browser="80Legs"
1361
-
1362
- [Mozilla/5.0 (compatible; AboutUsBot/*)]
1363
- Parent=General Crawlers
1364
- Browser="AboutUsBot"
1365
- isBanned=true
1366
-
1367
- [Mozilla/5.0 (compatible; BuzzRankingBot/*)]
1368
- Parent=General Crawlers
1369
- Browser="BuzzRankingBot"
1370
- isBanned=true
1371
-
1372
- [Mozilla/5.0 (compatible; Diffbot/0.1; http://www.diffbot.com)]
1373
- Parent=General Crawlers
1374
- Browser="Diffbot"
1375
-
1376
- [Mozilla/5.0 (compatible; FirstSearchBot/1.0; *)]
1377
- Parent=General Crawlers
1378
- Browser="FirstSearchBot"
1379
-
1380
- [mozilla/5.0 (compatible; genevabot http://www.healthdash.com)]
1381
- Parent=General Crawlers
1382
- Browser="Healthdash"
1383
-
1384
- [Mozilla/5.0 (compatible; JadynAveBot; *http://www.jadynave.com/robot*]
1385
- Parent=General Crawlers
1386
- Browser="JadynAveBot"
1387
- isBanned=true
1388
-
1389
- [Mozilla/5.0 (compatible; Kyluka crawl; http://www.kyluka.com/crawl.html; crawl@kyluka.com)]
1390
- Parent=General Crawlers
1391
- Browser="Kyluka"
1392
-
1393
- [Mozilla/5.0 (compatible; MJ12bot/v1.*)]
1394
- Parent=General Crawlers
1395
- Browser="MJ12bot"
1396
- isBanned=true
1397
-
1398
- [Mozilla/5.0 (compatible; MSIE 7.0 ?http://www.europarchive.org)]
1399
- Parent=General Crawlers
1400
- Browser="Europe Web Archive"
1401
-
1402
- [Mozilla/5.0 (compatible; Plukkie/1.?; http://www.botje.com/plukkie.htm)]
1403
- Parent=General Crawlers
1404
- Browser="Plukkie"
1405
-
1406
- [Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0;*)]
1407
- Parent=General Crawlers
1408
- Browser="Seznam screenshot-generator"
1409
- isBanned=true
1410
-
1411
- [Mozilla/5.0 (compatible; Twingly Recon; http://www.twingly.com/)]
1412
- Parent=General Crawlers
1413
- Browser="Twingly Recon"
1414
-
1415
- [Mozilla/5.0 (compatible; unwrapbot/2.*; http://www.unwrap.jp*)]
1416
- Parent=General Crawlers
1417
- Browser="UnWrap"
1418
-
1419
- [Mozilla/5.0 (compatible; Vermut*)]
1420
- Parent=General Crawlers
1421
- Browser="Vermut"
1422
-
1423
- [Mozilla/5.0 (compatible; Viralheat Bot/*) ]
1424
- Parent=General Crawlers
1425
- Browser="Viralheat"
1426
- isBanned=true
1427
-
1428
- [Mozilla/5.0 (compatible; Webbot/*)]
1429
- Parent=General Crawlers
1430
- Browser="Webbot.ru"
1431
- isBanned=true
1432
-
1433
- [n4p_bot*]
1434
- Parent=General Crawlers
1435
- Browser="n4p_bot"
1436
-
1437
- [nabot*]
1438
- Parent=General Crawlers
1439
- Browser="Nabot"
1440
-
1441
- [NetCarta_WebMapper/*]
1442
- Parent=General Crawlers
1443
- Browser="NetCarta_WebMapper"
1444
- isBanned=true
1445
-
1446
- [Netchart Adv Crawler*]
1447
- Parent=General Crawlers
1448
- Browser="Netchart Adv Crawler"
1449
- isBanned=true
1450
-
1451
- [NetID.com Bot*]
1452
- Parent=General Crawlers
1453
- Browser="NetID.com Bot"
1454
- isBanned=true
1455
-
1456
- [neTVision AG andreas.heidoetting@thomson-webcast.net]
1457
- Parent=General Crawlers
1458
- Browser="neTVision"
1459
-
1460
- [NextopiaBOT*]
1461
- Parent=General Crawlers
1462
- Browser="NextopiaBOT"
1463
-
1464
- [nicebot]
1465
- Parent=General Crawlers
1466
- Browser="nicebot"
1467
- isBanned=true
1468
-
1469
- [niXXieBot?Foster*]
1470
- Parent=General Crawlers
1471
- Browser="niXXiebot-Foster"
1472
-
1473
- [Nozilla/P.N (Just for IDS woring)]
1474
- Parent=General Crawlers
1475
- Browser="Nozilla/P.N"
1476
- isBanned=true
1477
-
1478
- [Nudelsalat/*]
1479
- Parent=General Crawlers
1480
- Browser="Nudelsalat"
1481
- isBanned=true
1482
-
1483
- [NV32ts]
1484
- Parent=General Crawlers
1485
- Browser="NV32ts"
1486
- isBanned=true
1487
-
1488
- [Ocelli/*]
1489
- Parent=General Crawlers
1490
- Browser="Ocelli"
1491
-
1492
- [OpenTaggerBot (http://www.opentagger.com/opentaggerbot.htm)]
1493
- Parent=General Crawlers
1494
- Browser="OpenTaggerBot"
1495
-
1496
- [Oracle Enterprise Search]
1497
- Parent=General Crawlers
1498
- Browser="Oracle Enterprise Search"
1499
- isBanned=true
1500
-
1501
- [Oracle Ultra Search]
1502
- Parent=General Crawlers
1503
- Browser="Oracle Ultra Search"
1504
-
1505
- [Pajaczek/*]
1506
- Parent=General Crawlers
1507
- Browser="Pajaczek"
1508
- isBanned=true
1509
-
1510
- [panscient.com]
1511
- Parent=General Crawlers
1512
- Browser="panscient.com"
1513
- isBanned=true
1514
-
1515
- [Patwebbot (http://www.herz-power.de/technik.html)]
1516
- Parent=General Crawlers
1517
- Browser="Patwebbot"
1518
-
1519
- [PDFBot (crawler@pdfind.com)]
1520
- Parent=General Crawlers
1521
- Browser="PDFBot"
1522
-
1523
- [Pete-Spider/1.*]
1524
- Parent=General Crawlers
1525
- Browser="Pete-Spider"
1526
- isBanned=true
1527
-
1528
- [PhpDig/*]
1529
- Parent=General Crawlers
1530
- Browser="PhpDig"
1531
-
1532
- [PlantyNet_WebRobot*]
1533
- Parent=General Crawlers
1534
- Browser="PlantyNet"
1535
- isBanned=true
1536
-
1537
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PluckIt
1538
-
1539
- [PluckItCrawler/1.0 (*)]
1540
- Parent=General Crawlers
1541
- isMobileDevice=true
1542
-
1543
- [PMAFind]
1544
- Parent=General Crawlers
1545
- Browser="PMAFind"
1546
- isBanned=true
1547
-
1548
- [Poodle_predictor_1.0]
1549
- Parent=General Crawlers
1550
- Browser="Poodle Predictor"
1551
-
1552
- [QuickFinder Crawler]
1553
- Parent=General Crawlers
1554
- Browser="QuickFinder"
1555
- isBanned=true
1556
-
1557
- [Radiation Retriever*]
1558
- Parent=General Crawlers
1559
- Browser="Radiation Retriever"
1560
- isBanned=true
1561
-
1562
- [RedCarpet/*]
1563
- Parent=General Crawlers
1564
- Browser="RedCarpet"
1565
- isBanned=true
1566
-
1567
- [RixBot (http://babelserver.org/rix)]
1568
- Parent=General Crawlers
1569
- Browser="RixBot"
1570
-
1571
- [Rome Client (http://tinyurl.com/64t5n) Ver: 0.*]
1572
- Parent=General Crawlers
1573
- Browser="TinyURL"
1574
-
1575
- [SBIder/*]
1576
- Parent=General Crawlers
1577
- Browser="SiteSell"
1578
-
1579
- [ScollSpider/2.*]
1580
- Parent=General Crawlers
1581
- Browser="ScollSpider"
1582
- isBanned=true
1583
-
1584
- [Search Fst]
1585
- Parent=General Crawlers
1586
- Browser="Search Fst"
1587
-
1588
- [searchbot admin@google.com]
1589
- Parent=General Crawlers
1590
- Browser="searchbot"
1591
- isBanned=true
1592
-
1593
- [Seeker.lookseek.com]
1594
- Parent=General Crawlers
1595
- Browser="LookSeek"
1596
- isBanned=true
1597
-
1598
- [semanticdiscovery/*]
1599
- Parent=General Crawlers
1600
- Browser="Semantic Discovery"
1601
-
1602
- [SeznamBot/*]
1603
- Parent=General Crawlers
1604
- Browser="SeznamBot"
1605
- isBanned=true
1606
-
1607
- [Shelob (shelob@gmx.net)]
1608
- Parent=General Crawlers
1609
- Browser="Shelob"
1610
- isBanned=true
1611
-
1612
- [shelob v1.*]
1613
- Parent=General Crawlers
1614
- Browser="shelob"
1615
- isBanned=true
1616
-
1617
- [ShopWiki/1.0*]
1618
- Parent=General Crawlers
1619
- Browser="ShopWiki"
1620
- Version=1.0
1621
- MajorVer=1
1622
- MinorVer=0
1623
-
1624
- [ShowXML/1.0 libwww/5.4.0]
1625
- Parent=General Crawlers
1626
- Browser="ShowXML"
1627
- isBanned=true
1628
-
1629
- [sitecheck.internetseer.com*]
1630
- Parent=General Crawlers
1631
- Browser="Internetseer"
1632
-
1633
- [SMBot/*]
1634
- Parent=General Crawlers
1635
- Browser="SMBot"
1636
-
1637
- [sohu*]
1638
- Parent=General Crawlers
1639
- Browser="sohu-search"
1640
- isBanned=true
1641
-
1642
- [SpankBot*]
1643
- Parent=General Crawlers
1644
- Browser="SpankBot"
1645
- isBanned=true
1646
-
1647
- [spider (tspyyp@tom.com)]
1648
- Parent=General Crawlers
1649
- Browser="spider (tspyyp@tom.com)"
1650
- isBanned=true
1651
-
1652
- [Sunrise/0.*]
1653
- Parent=General Crawlers
1654
- Browser="Sunrise"
1655
- isBanned=true
1656
-
1657
- [Superpages URL Verification Engine]
1658
- Parent=General Crawlers
1659
- Browser="Superpages"
1660
-
1661
- [Surf Knight]
1662
- Parent=General Crawlers
1663
- Browser="Surf Knight"
1664
- isBanned=true
1665
-
1666
- [SurveyBot/*]
1667
- Parent=General Crawlers
1668
- Browser="SurveyBot"
1669
- isBanned=true
1670
-
1671
- [SynapticSearch/AI Crawler 1.?]
1672
- Parent=General Crawlers
1673
- Browser="SynapticSearch"
1674
- isBanned=true
1675
-
1676
- [SyncMgr]
1677
- Parent=General Crawlers
1678
- Browser="SyncMgr"
1679
-
1680
- [Tagyu Agent/1.0]
1681
- Parent=General Crawlers
1682
- Browser="Tagyu"
1683
-
1684
- [Talkro Web-Shot/*]
1685
- Parent=General Crawlers
1686
- Browser="Talkro Web-Shot"
1687
- isBanned=true
1688
-
1689
- [Tasap-image-robot/0.* (http://www.tasap.com)]
1690
- Parent=General Crawlers
1691
- Browser="Tasap-image-robot"
1692
- isBanned=true
1693
-
1694
- [Tecomi Bot (http://www.tecomi.com/bot.htm)]
1695
- Parent=General Crawlers
1696
- Browser="Tecomi"
1697
-
1698
- [TencentTraveler*]
1699
- Parent=General Crawlers
1700
- Browser="TencentTraveler"
1701
-
1702
- [TheInformant*]
1703
- Parent=General Crawlers
1704
- Browser="TheInformant"
1705
- isBanned=true
1706
-
1707
- [Toata dragostea*]
1708
- Parent=General Crawlers
1709
- Browser="Toata dragostea"
1710
- isBanned=true
1711
-
1712
- [Tutorial Crawler*]
1713
- Parent=General Crawlers
1714
- isBanned=true
1715
-
1716
- [UbiCrawler/*]
1717
- Parent=General Crawlers
1718
- Browser="UbiCrawler"
1719
-
1720
- [UCmore]
1721
- Parent=General Crawlers
1722
- Browser="UCmore"
1723
-
1724
- [User*Agent:*]
1725
- Parent=General Crawlers
1726
- isBanned=true
1727
-
1728
- [USER_AGENT]
1729
- Parent=General Crawlers
1730
- Browser="USER_AGENT"
1731
- isBanned=true
1732
-
1733
- [VadixBot]
1734
- Parent=General Crawlers
1735
- Browser="VadixBot"
1736
-
1737
- [VengaBot/*]
1738
- Parent=General Crawlers
1739
- Browser="VengaBot"
1740
- isBanned=true
1741
-
1742
- [Visicom Toolbar]
1743
- Parent=General Crawlers
1744
- Browser="Visicom Toolbar"
1745
-
1746
- [Visited by http://tools.geek-tools.org]
1747
- Parent=General Crawlers
1748
- Browser="geek-tools.org"
1749
-
1750
- [W3C-WebCon/*]
1751
- Parent=General Crawlers
1752
- Browser="W3C-WebCon"
1753
-
1754
- [Webclipping.com]
1755
- Parent=General Crawlers
1756
- Browser="Webclipping.com"
1757
- isBanned=true
1758
-
1759
- [webcollage/*]
1760
- Parent=General Crawlers
1761
- Browser="WebCollage"
1762
- isBanned=true
1763
-
1764
- [WebCrawler_1.*]
1765
- Parent=General Crawlers
1766
- Browser="WebCrawler"
1767
-
1768
- [WebFilter Robot*]
1769
- Parent=General Crawlers
1770
- Browser="WebFilter Robot"
1771
-
1772
- [WeBoX/*]
1773
- Parent=General Crawlers
1774
- Browser="WeBoX"
1775
-
1776
- [WebTrends/*]
1777
- Parent=General Crawlers
1778
- Browser="WebTrends"
1779
-
1780
- [West Wind Internet Protocols*]
1781
- Parent=General Crawlers
1782
- Browser="Versatel"
1783
- isBanned=true
1784
-
1785
- [WhizBang]
1786
- Parent=General Crawlers
1787
- Browser="WhizBang"
1788
-
1789
- [Willow Internet Crawler by Twotrees V*]
1790
- Parent=General Crawlers
1791
- Browser="Willow Internet Crawler"
1792
-
1793
- [WIRE/* (Linux*; i686; Bot,Robot,Spider,Crawler)]
1794
- Parent=General Crawlers
1795
- Browser="WIRE"
1796
- isBanned=true
1797
-
1798
- [www.fi crawler, contact crawler@www.fi]
1799
- Parent=General Crawlers
1800
- Browser="www.fi crawler"
1801
-
1802
- [Xerka WebBot v1.*]
1803
- Parent=General Crawlers
1804
- Browser="Xerka"
1805
- isBanned=true
1806
-
1807
- [XML Sitemaps Generator*]
1808
- Parent=General Crawlers
1809
- Browser="XML Sitemaps Generator"
1810
-
1811
- [XSpider*]
1812
- Parent=General Crawlers
1813
- Browser="XSpider"
1814
- isBanned=true
1815
-
1816
- [YooW!/* (?http://www.yoow.eu)]
1817
- Parent=General Crawlers
1818
- Browser="YooW!"
1819
- isBanned=true
1820
-
1821
- [HiddenMarket-*]
1822
- Parent=General RSS
1823
- Browser="HiddenMarket"
1824
- isBanned=true
1825
-
1826
- [FOTOCHECKER]
1827
- Parent=Image Crawlers
1828
- Browser="FOTOCHECKER"
1829
- isBanned=true
1830
-
1831
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Search Engines
1832
-
1833
- [Search Engines]
1834
- Parent=DefaultProperties
1835
- Browser="Search Engines"
1836
- Crawler=true
1837
-
1838
- [*FDSE robot*]
1839
- Parent=Search Engines
1840
- Browser="FDSE Robot"
1841
-
1842
- [*Fluffy the spider*]
1843
- Parent=Search Engines
1844
- Browser="SearchHippo"
1845
-
1846
- [Abacho*]
1847
- Parent=Search Engines
1848
- Browser="Abacho"
1849
-
1850
- [ah-ha.com crawler (crawler@ah-ha.com)]
1851
- Parent=Search Engines
1852
- Browser="Ah-Ha"
1853
-
1854
- [AIBOT/*]
1855
- Parent=Search Engines
1856
- Browser="21Seek.Com"
1857
-
1858
- [ALeadSoftbot/*]
1859
- Parent=Search Engines
1860
- Browser="ALeadSoftbot"
1861
-
1862
- [Amfibibot/*]
1863
- Parent=Search Engines
1864
- Browser="Amfibi"
1865
-
1866
- [AnswerBus (http://www.answerbus.com/)]
1867
- Parent=Search Engines
1868
-
1869
- [antibot-V*]
1870
- Parent=Search Engines
1871
- Browser="antibot"
1872
-
1873
- [appie*(www.walhello.com)]
1874
- Parent=Search Engines
1875
- Browser="Walhello"
1876
-
1877
- [ASPSeek/*]
1878
- Parent=Search Engines
1879
- Browser="ASPSeek"
1880
-
1881
- [BigCliqueBOT/*]
1882
- Parent=Search Engines
1883
- Browser="BigClique.com/BigClic.com"
1884
-
1885
- [Blaiz-Bee/*]
1886
- Parent=Search Engines
1887
- Browser="RawGrunt"
1888
-
1889
- [btbot/*]
1890
- Parent=Search Engines
1891
- Browser="Bit Torrent Search Engine"
1892
-
1893
- [Busiversebot/v1.0 (http://www.busiverse.com/bot.php)]
1894
- Parent=Search Engines
1895
- Browser="Busiversebot"
1896
- isBanned=true
1897
-
1898
- [CatchBot/*; http://www.catchbot.com]
1899
- Parent=Search Engines
1900
- Browser="CatchBot"
1901
- Version=1.0
1902
- MajorVer=1
1903
- MinorVer=0
1904
-
1905
- [CipinetBot (http://www.cipinet.com/bot.html)]
1906
- Parent=Search Engines
1907
- Browser="CipinetBot"
1908
-
1909
- [Cogentbot/1.?*]
1910
- Parent=Search Engines
1911
- Browser="Cogentbot"
1912
-
1913
- [compatible; Mozilla 4.0; MSIE 5.5; (SqwidgeBot v1.01 - http://www.sqwidge.com/bot/)]
1914
- Parent=Search Engines
1915
- Browser="SqwidgeBot"
1916
-
1917
- [cosmos*]
1918
- Parent=Search Engines
1919
- Browser="Xyleme"
1920
-
1921
- [Deepindex]
1922
- Parent=Search Engines
1923
- Browser="Deepindex"
1924
-
1925
- [DiamondBot]
1926
- Parent=Search Engines
1927
- Browser="DiamondBot"
1928
-
1929
- [DuckDuckBot/*; (?http://duckduckgo.com/duckduckbot.html)]
1930
- Parent=Search Engines
1931
- Browser="DuckDuckBot"
1932
-
1933
- [Dumbot*]
1934
- Parent=Search Engines
1935
- Browser="Dumbot"
1936
- Version=0.2
1937
- MajorVer=0
1938
- MinorVer=2
1939
- Beta=true
1940
-
1941
- [Eule?Robot*]
1942
- Parent=Search Engines
1943
- Browser="Eule-Robot"
1944
-
1945
- [Faxobot/*]
1946
- Parent=Search Engines
1947
- Browser="Faxo"
1948
-
1949
- [Filangy/*]
1950
- Parent=Search Engines
1951
- Browser="Filangy"
1952
-
1953
- [flatlandbot/*]
1954
- Parent=Search Engines
1955
- Browser="Flatland"
1956
-
1957
- [Fooky.com/ScorpionBot/ScoutOut;*]
1958
- Parent=Search Engines
1959
- Browser="ScorpionBot"
1960
- isBanned=true
1961
-
1962
- [FyberSpider*]
1963
- Parent=Search Engines
1964
- Browser="FyberSpider"
1965
- isBanned=true
1966
-
1967
- [Gaisbot/*]
1968
- Parent=Search Engines
1969
- Browser="Gaisbot"
1970
-
1971
- [gazz/*(gazz@nttr.co.jp)]
1972
- Parent=Search Engines
1973
- Browser="gazz"
1974
-
1975
- [geniebot*]
1976
- Parent=Search Engines
1977
- Browser="GenieKnows"
1978
-
1979
- [GOFORITBOT (?http://www.goforit.com/about/?)]
1980
- Parent=Search Engines
1981
- Browser="GoForIt"
1982
-
1983
- [GoGuidesBot/*]
1984
- Parent=Search Engines
1985
- Browser="GoGuidesBot"
1986
-
1987
- [GroschoBot/*]
1988
- Parent=Search Engines
1989
- Browser="GroschoBot"
1990
-
1991
- [GurujiBot/1.*]
1992
- Parent=Search Engines
1993
- Browser="GurujiBot"
1994
- isBanned=true
1995
-
1996
- [HenryTheMiragoRobot*]
1997
- Parent=Search Engines
1998
- Browser="Mirago"
1999
-
2000
- [HolmesBot (http://holmes.ge)]
2001
- Parent=Search Engines
2002
- Browser="HolmesBot"
2003
-
2004
- [Hotzonu/*]
2005
- Parent=Search Engines
2006
- Browser="Hotzonu"
2007
-
2008
- [HyperEstraier/*]
2009
- Parent=Search Engines
2010
- Browser="HyperEstraier"
2011
- isBanned=true
2012
-
2013
- [i1searchbot/*]
2014
- Parent=Search Engines
2015
- Browser="i1searchbot"
2016
-
2017
- [IIITBOT/1.*]
2018
- Parent=Search Engines
2019
- Browser="Indian Language Web Search Engine"
2020
-
2021
- [Iltrovatore-?etaccio/*]
2022
- Parent=Search Engines
2023
- Browser="Iltrovatore-Setaccio"
2024
-
2025
- [InfociousBot (?http://corp.infocious.com/tech_crawler.php)]
2026
- Parent=Search Engines
2027
- Browser="InfociousBot"
2028
- isBanned=true
2029
-
2030
- [Infoseek SideWinder/*]
2031
- Parent=Search Engines
2032
- Browser="Infoseek"
2033
-
2034
- [iSEEKbot/*]
2035
- Parent=Search Engines
2036
- Browser="iSEEKbot"
2037
-
2038
- [Knight/0.? (Zook Knight; http://knight.zook.in/; knight@zook.in)]
2039
- Parent=Search Engines
2040
- Browser="Knight"
2041
-
2042
- [Kolinka Forum Search (www.kolinka.com)]
2043
- Parent=Search Engines
2044
- Browser="Kolinka Forum Search"
2045
- isBanned=true
2046
-
2047
- [KRetrieve/]
2048
- Parent=Search Engines
2049
- Browser="KRetrieve"
2050
- isBanned=true
2051
-
2052
- [LapozzBot/*]
2053
- Parent=Search Engines
2054
- Browser="LapozzBot"
2055
-
2056
- [Linknzbot*]
2057
- Parent=Search Engines
2058
- Browser="Linknzbot"
2059
-
2060
- [LocalcomBot/*]
2061
- Parent=Search Engines
2062
- Browser="LocalcomBot"
2063
-
2064
- [Mail.Ru/1.0]
2065
- Parent=Search Engines
2066
- Browser="Mail.Ru"
2067
-
2068
- [MaSagool/*]
2069
- Parent=Search Engines
2070
- Browser="Sagoo"
2071
- Version=1.0
2072
- MajorVer=1
2073
- MinorVer=0
2074
-
2075
- [miniRank/*]
2076
- Parent=Search Engines
2077
- Browser="miniRank"
2078
-
2079
- [Mnogosearch*]
2080
- Parent=Search Engines
2081
- Browser="Mnogosearch"
2082
-
2083
- [Mozilla/0.9* no dos :) (Linux*)]
2084
- Parent=Search Engines
2085
- Browser="goliat"
2086
- isBanned=true
2087
-
2088
- [Mozilla/4.0 (compatible; *Vagabondo/*; webcrawler at wise-guys dot nl; *)]
2089
- Parent=Search Engines
2090
- Browser="Vagabondo"
2091
-
2092
- [Mozilla/4.0 (compatible; Arachmo)]
2093
- Parent=Search Engines
2094
- Browser="Arachmo"
2095
-
2096
- [Mozilla/4.0 (compatible; http://search.thunderstone.com/texis/websearch/about.html)]
2097
- Parent=Search Engines
2098
- Browser="ThunderStone"
2099
- isBanned=true
2100
-
2101
- [Mozilla/4.0 (compatible; MSIE *; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)]
2102
- Parent=Search Engines
2103
- Browser="Girafabot"
2104
- Win32=true
2105
-
2106
- [Mozilla/4.0(?compatible; MSIE 6.0; Qihoo *)]
2107
- Parent=Search Engines
2108
- Browser="Qihoo"
2109
-
2110
- [Mozilla/4.7 (compatible; WhizBang; http://www.whizbang.com/crawler)]
2111
- Parent=Search Engines
2112
- Browser="Inxight Software"
2113
-
2114
- [Mozilla/5.0 (*) VoilaBot*]
2115
- Parent=Search Engines
2116
- Browser="VoilaBot"
2117
- isBanned=true
2118
-
2119
- [Mozilla/5.0 (compatible; ActiveTouristBot*; http://www.activetourist.com)]
2120
- Parent=Search Engines
2121
- Browser="ActiveTouristBot"
2122
-
2123
- [Mozilla/5.0 (compatible; ayna-crawler http://www.ayna.com)]
2124
- Parent=Search Engines
2125
- Browser="ayna-crawler"
2126
-
2127
- [Mozilla/5.0 (compatible; Butterfly/1.0; *)*]
2128
- Parent=Search Engines
2129
- Browser="Butterfly"
2130
-
2131
- [Mozilla/5.0 (compatible; Charlotte/*; *)]
2132
- Parent=Search Engines
2133
- Browser="Charlotte"
2134
- Beta=true
2135
- isBanned=true
2136
-
2137
- [Mozilla/5.0 (compatible; CXL-FatAssANT*)]
2138
- Parent=Search Engines
2139
- Browser="FatAssANT"
2140
-
2141
- [Mozilla/5.0 (compatible; DBLBot/1.0; ?http://www.dontbuylists.com/)]
2142
- Parent=Search Engines
2143
- Browser="DBLBot"
2144
- Version=1.0
2145
- MajorVer=1
2146
- MinorVer=0
2147
-
2148
- [Mozilla/5.0 (compatible; EARTHCOM.info/*)]
2149
- Parent=Search Engines
2150
- Browser="EARTHCOM"
2151
-
2152
- [Mozilla/5.0 (compatible; Lipperhey Spider; http://www.lipperhey.com/)]
2153
- Parent=Search Engines
2154
- Browser="Lipperhey Spider"
2155
-
2156
- [Mozilla/5.0 (compatible; MojeekBot/*; http://www.mojeek.com/bot.html)]
2157
- Parent=Search Engines
2158
- Browser="MojeekBot"
2159
-
2160
- [Mozilla/5.0 (compatible; NLCrawler/*]
2161
- Parent=Search Engines
2162
- Browser="Northern Light Web Search"
2163
-
2164
- [Mozilla/5.0 (compatible; OsO;*]
2165
- Parent=Search Engines
2166
- Browser="Octopodus"
2167
- isBanned=true
2168
-
2169
- [Mozilla/5.0 (compatible; ParchBot/1.0;*)]
2170
- Parent=Search Engines
2171
- Browser="ParchBot"
2172
-
2173
- [Mozilla/5.0 (compatible; Pogodak.*)]
2174
- Parent=Search Engines
2175
- Browser="Pogodak"
2176
-
2177
- [Mozilla/5.0 (compatible; Quantcastbot/1.*)]
2178
- Parent=Search Engines
2179
- Browser="Quantcastbot"
2180
-
2181
- [Mozilla/5.0 (compatible; ScoutJet; *http://www.scoutjet.com/)]
2182
- Parent=Search Engines
2183
- Browser="ScoutJet"
2184
- isBanned=true
2185
-
2186
- [Mozilla/5.0 (compatible; Scrubby/*; http://www.scrubtheweb.com/abs/meta-check.html)]
2187
- Parent=Search Engines
2188
- Browser="Scrubby"
2189
- isBanned=true
2190
-
2191
- [Mozilla/5.0 (compatible; YoudaoBot/1.*; http://www.youdao.com/help/webmaster/spider/*)]
2192
- Parent=Search Engines
2193
- Browser="YoudaoBot"
2194
- Version=1.0
2195
- MajorVer=1
2196
- MinorVer=0
2197
-
2198
- [Mozilla/5.0 (Twiceler*)]
2199
- Parent=Search Engines
2200
- Browser="Twiceler"
2201
- isBanned=true
2202
-
2203
- [Mozilla/5.0 CostaCider Search*]
2204
- Parent=Search Engines
2205
- Browser="CostaCider Search"
2206
-
2207
- [Mozilla/5.0 GurujiBot/1.0 (*)]
2208
- Parent=Search Engines
2209
- Browser="GurujiBot"
2210
-
2211
- [NavissoBot]
2212
- Parent=Search Engines
2213
- Browser="NavissoBot"
2214
-
2215
- [NextGenSearchBot*(for information visit *)]
2216
- Parent=Search Engines
2217
- Browser="ZoomInfo"
2218
- isBanned=true
2219
-
2220
- [Norbert the Spider(Burf.com)]
2221
- Parent=Search Engines
2222
- Browser="Norbert the Spider"
2223
-
2224
- [NuSearch Spider*]
2225
- Parent=Search Engines
2226
- Browser="nuSearch"
2227
-
2228
- [ObjectsSearch/*]
2229
- Parent=Search Engines
2230
- Browser="ObjectsSearch"
2231
-
2232
- [OpenISearch/1.*]
2233
- Parent=Search Engines
2234
- Browser="OpenISearch (Amazon)"
2235
-
2236
- [Pagebull http://www.pagebull.com/]
2237
- Parent=Search Engines
2238
- Browser="Pagebull"
2239
-
2240
- [PEERbot*]
2241
- Parent=Search Engines
2242
- Browser="PEERbot"
2243
-
2244
- [Pompos/*]
2245
- Parent=Search Engines
2246
- Browser="Pompos"
2247
-
2248
- [Popdexter/*]
2249
- Parent=Search Engines
2250
- Browser="Popdex"
2251
-
2252
- [Qweery*]
2253
- Parent=Search Engines
2254
- Browser="QweeryBot"
2255
-
2256
- [RedCell/* (*)]
2257
- Parent=Search Engines
2258
- Browser="RedCell"
2259
-
2260
- [SaladSpoon/ShopSalad 1.* (Search Engine crawler for ShopSalad.com; *; crawler@shopsalad.com)]
2261
- Parent=Search Engines
2262
- Browser="ShopSalad"
2263
-
2264
- [Scrubby/*]
2265
- Parent=Search Engines
2266
- Browser="Scrub The Web"
2267
-
2268
- [Search-10/*]
2269
- Parent=Search Engines
2270
- Browser="Search-10"
2271
-
2272
- [search.ch*]
2273
- Parent=Search Engines
2274
- Browser="Swiss Search Engine"
2275
-
2276
- [Searchmee! Spider*]
2277
- Parent=Search Engines
2278
- Browser="Searchmee!"
2279
-
2280
- [Seekbot/*]
2281
- Parent=Search Engines
2282
- Browser="Seekbot"
2283
-
2284
- [SiteSpider (http://www.SiteSpider.com/)]
2285
- Parent=Search Engines
2286
- Browser="SiteSpider"
2287
-
2288
- [Spinne/*]
2289
- Parent=Search Engines
2290
- Browser="Spinne"
2291
-
2292
- [sproose/*]
2293
- Parent=Search Engines
2294
- Browser="Sproose"
2295
-
2296
- [Sqeobot/0.*]
2297
- Parent=Search Engines
2298
- Browser="Branzel"
2299
- isBanned=true
2300
-
2301
- [SquigglebotBot/*]
2302
- Parent=Search Engines
2303
- Browser="SquigglebotBot"
2304
- isBanned=true
2305
-
2306
- [StackRambler/*]
2307
- Parent=Search Engines
2308
- Browser="StackRambler"
2309
-
2310
- [SygolBot*]
2311
- Parent=Search Engines
2312
- Browser="SygolBot"
2313
-
2314
- [SynoBot]
2315
- Parent=Search Engines
2316
- Browser="SynoBot"
2317
-
2318
- [Szukacz/*]
2319
- Parent=Search Engines
2320
- Browser="Szukacz"
2321
-
2322
- [Tarantula/*]
2323
- Parent=Search Engines
2324
- Browser="Tarantula"
2325
- isBanned=true
2326
-
2327
- [TerrawizBot/*]
2328
- Parent=Search Engines
2329
- Browser="TerrawizBot"
2330
- isBanned=true
2331
-
2332
- [Tkensaku/*]
2333
- Parent=Search Engines
2334
- Browser="Tkensaku"
2335
-
2336
- [TMCrawler]
2337
- Parent=Search Engines
2338
- Browser="TMCrawler"
2339
- isBanned=true
2340
-
2341
- [Twingly Recon]
2342
- Parent=Search Engines
2343
- Browser="Twingly Recon"
2344
- isBanned=true
2345
-
2346
- [updated/*]
2347
- Parent=Search Engines
2348
- Browser="Updated!"
2349
-
2350
- [URL Spider Pro/*]
2351
- Parent=Search Engines
2352
- Browser="URL Spider Pro"
2353
-
2354
- [URL Spider SQL*]
2355
- Parent=Search Engines
2356
- Browser="Innerprise Enterprise Search"
2357
-
2358
- [VMBot/*]
2359
- Parent=Search Engines
2360
- Browser="VMBot"
2361
-
2362
- [voyager/2.0 (http://www.kosmix.com/html/crawler.html)]
2363
- Parent=Search Engines
2364
- Browser="Voyager"
2365
-
2366
- [wadaino.jp-crawler*]
2367
- Parent=Search Engines
2368
- Browser="wadaino.jp"
2369
- isBanned=true
2370
-
2371
- [WebAlta Crawler/*]
2372
- Parent=Search Engines
2373
- Browser="WebAlta Crawler"
2374
- isBanned=true
2375
-
2376
- [WebCorp/*]
2377
- Parent=Search Engines
2378
- Browser="WebCorp"
2379
- isBanned=true
2380
-
2381
- [webcrawl.net]
2382
- Parent=Search Engines
2383
- Browser="webcrawl.net"
2384
-
2385
- [WISEbot/*]
2386
- Parent=Search Engines
2387
- Browser="WISEbot"
2388
- isBanned=true
2389
-
2390
- [Wotbox/*]
2391
- Parent=Search Engines
2392
- Browser="Wotbox"
2393
-
2394
- [www.zatka.com]
2395
- Parent=Search Engines
2396
- Browser="Zatka"
2397
-
2398
- [WWWeasel Robot v*]
2399
- Parent=Search Engines
2400
- Browser="World Wide Weasel"
2401
-
2402
- [YadowsCrawler*]
2403
- Parent=Search Engines
2404
- Browser="YadowsCrawler"
2405
-
2406
- [YodaoBot/*]
2407
- Parent=Search Engines
2408
- Browser="YodaoBot"
2409
- isBanned=true
2410
-
2411
- [ZeBot_www.ze.bz*]
2412
- Parent=Search Engines
2413
- Browser="ZE.bz"
2414
-
2415
- [zibber-v*]
2416
- Parent=Search Engines
2417
- Browser="Zibb"
2418
-
2419
- [ZipppBot/*]
2420
- Parent=Search Engines
2421
- Browser="ZipppBot"
2422
-
2423
- [ATA-Translation-Service]
2424
- Parent=Translators
2425
- Browser="ATA-Translation-Service"
2426
-
2427
- [GJK_Browser_Check]
2428
- Parent=Version Checkers
2429
- Browser="GJK_Browser_Check"
2430
-
2431
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Hatena
2432
-
2433
- [Hatena]
2434
- Parent=DefaultProperties
2435
- Browser="Hatena"
2436
- isBanned=true
2437
- Crawler=true
2438
-
2439
- [Feed::Find/*]
2440
- Parent=Hatena
2441
- Browser="Feed Find"
2442
- isSyndicationReader=true
2443
-
2444
- [Hatena Antenna/*]
2445
- Parent=Hatena
2446
- Browser="Hatena Antenna"
2447
-
2448
- [Hatena Bookmark/*]
2449
- Parent=Hatena
2450
- Browser="Hatena Bookmark"
2451
-
2452
- [Hatena RSS/*]
2453
- Parent=Hatena
2454
- Browser="Hatena RSS"
2455
- isSyndicationReader=true
2456
-
2457
- [Hatena::Crawler/*]
2458
- Parent=Hatena
2459
- Browser="Hatena Crawler"
2460
-
2461
- [HatenaScreenshot*]
2462
- Parent=Hatena
2463
- Browser="HatenaScreenshot"
2464
-
2465
- [URI::Fetch/*]
2466
- Parent=Hatena
2467
- Browser="URI::Fetch"
2468
-
2469
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Internet Archive
2470
-
2471
- [Internet Archive]
2472
- Parent=DefaultProperties
2473
- Browser="Internet Archive"
2474
- Frames=true
2475
- IFrames=true
2476
- Tables=true
2477
- isBanned=true
2478
- Crawler=true
2479
-
2480
- [*heritrix*]
2481
- Parent=Internet Archive
2482
- Browser="Heritrix"
2483
- isBanned=true
2484
-
2485
- [ia_archiver*]
2486
- Parent=Internet Archive
2487
- Browser="Internet Archive"
2488
-
2489
- [InternetArchive/*]
2490
- Parent=Internet Archive
2491
- Browser="InternetArchive"
2492
-
2493
- [Mozilla/5.0 (compatible; archive.org_bot/1.*)]
2494
- Parent=Internet Archive
2495
-
2496
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nutch
2497
-
2498
- [Nutch]
2499
- Parent=DefaultProperties
2500
- Browser="Nutch"
2501
- isBanned=true
2502
- Crawler=true
2503
-
2504
- [*Nutch*]
2505
- Parent=Nutch
2506
- isBanned=true
2507
-
2508
- [CazoodleBot/*]
2509
- Parent=Nutch
2510
- Browser="CazoodleBot"
2511
-
2512
- [LOOQ/0.1*]
2513
- Parent=Nutch
2514
- Browser="LOOQ"
2515
-
2516
- [Nutch/0.? (OpenX Spider)]
2517
- Parent=Nutch
2518
-
2519
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Webaroo
2520
-
2521
- [Webaroo]
2522
- Parent=DefaultProperties
2523
- Browser="Webaroo"
2524
-
2525
- [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Webaroo/*)]
2526
- Parent=Webaroo
2527
- Browser="Webaroo"
2528
-
2529
- [Mozilla/5.0 (Windows; U; Windows *; *; rv:*) Gecko/* Firefox/* webaroo/*]
2530
- Parent=Webaroo
2531
- Browser="Webaroo"
2532
-
2533
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Word Press
2534
-
2535
- [Word Press]
2536
- Parent=DefaultProperties
2537
- Browser="Word Press"
2538
- Alpha=true
2539
- Beta=true
2540
- Win16=true
2541
- Win32=true
2542
- Win64=true
2543
- Frames=true
2544
- IFrames=true
2545
- Tables=true
2546
- Cookies=true
2547
- BackgroundSounds=true
2548
- CDF=true
2549
- VBScript=true
2550
- JavaApplets=true
2551
- JavaScript=true
2552
- ActiveXControls=true
2553
- isBanned=true
2554
- isMobileDevice=true
2555
- isSyndicationReader=true
2556
- Crawler=true
2557
-
2558
- [WordPress-B-/2.*]
2559
- Parent=Word Press
2560
- Browser="WordPress-B"
2561
-
2562
- [WordPress-Do-P-/2.*]
2563
- Parent=Word Press
2564
- Browser="WordPress-Do-P"
2565
-
2566
- [BlueCoat ProxySG]
2567
- Parent=Blue Coat Systems
2568
- Browser="BlueCoat ProxySG"
2569
-
2570
- [CerberianDrtrs/*]
2571
- Parent=Blue Coat Systems
2572
- Browser="Cerberian"
2573
-
2574
- [Inne: Mozilla/4.0 (compatible; Cerberian Drtrs*)]
2575
- Parent=Blue Coat Systems
2576
- Browser="Cerberian"
2577
-
2578
- [Mozilla/4.0 (compatible; Cerberian Drtrs*)]
2579
- Parent=Blue Coat Systems
2580
- Browser="Cerberian"
2581
-
2582
- [Mozilla/4.0 (compatible; MSIE 6.0; Bluecoat DRTR)]
2583
- Parent=Blue Coat Systems
2584
- Browser="Bluecoat"
2585
-
2586
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Copyright/Plagiarism
2587
-
2588
- [Copyright/Plagiarism]
2589
- Parent=DefaultProperties
2590
- Browser="Copyright/Plagiarism"
2591
- isBanned=true
2592
- Crawler=true
2593
-
2594
- [BDFetch]
2595
- Parent=Copyright/Plagiarism
2596
- Browser="BDFetch"
2597
-
2598
- [copyright sheriff (*)]
2599
- Parent=Copyright/Plagiarism
2600
- Browser="copyright sheriff"
2601
-
2602
- [CopyRightCheck*]
2603
- Parent=Copyright/Plagiarism
2604
- Browser="CopyRightCheck"
2605
-
2606
- [FairAd Client*]
2607
- Parent=Copyright/Plagiarism
2608
- Browser="FairAd Client"
2609
-
2610
- [iCopyright Conductor*]
2611
- Parent=Copyright/Plagiarism
2612
- Browser="iCopyright Conductor"
2613
-
2614
- [IPiumBot laurion(dot)com]
2615
- Parent=Copyright/Plagiarism
2616
- Browser="IPiumBot"
2617
-
2618
- [IWAgent/*]
2619
- Parent=Copyright/Plagiarism
2620
- Browser="Brand Protect"
2621
-
2622
- [Mozilla/5.0 (compatible; DKIMRepBot/*)]
2623
- Parent=Copyright/Plagiarism
2624
- Browser="DKIMRepBot"
2625
-
2626
- [oBot]
2627
- Parent=Copyright/Plagiarism
2628
- Browser="oBot"
2629
-
2630
- [SlySearch/*]
2631
- Parent=Copyright/Plagiarism
2632
- Browser="SlySearch"
2633
-
2634
- [TurnitinBot/*]
2635
- Parent=Copyright/Plagiarism
2636
- Browser="TurnitinBot"
2637
-
2638
- [TutorGigBot/*]
2639
- Parent=Copyright/Plagiarism
2640
- Browser="TutorGig"
2641
-
2642
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DNS Tools
2643
-
2644
- [DNS Tools]
2645
- Parent=DefaultProperties
2646
- Browser="DNS Tools"
2647
- Crawler=true
2648
-
2649
- [Domain Dossier utility*]
2650
- Parent=DNS Tools
2651
- Browser="Domain Dossier"
2652
-
2653
- [Mozilla/5.0 (compatible; DNS-Digger/*)]
2654
- Parent=DNS Tools
2655
- Browser="DNS-Digger"
2656
-
2657
- [OpenDNS Domain Crawler noc@opendns.com]
2658
- Parent=DNS Tools
2659
- Browser="OpenDNS Domain Crawler"
2660
-
2661
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Download Managers
2662
-
2663
- [Download Managers]
2664
- Parent=DefaultProperties
2665
- Browser="Download Managers"
2666
- Frames=true
2667
- IFrames=true
2668
- Tables=true
2669
- isBanned=true
2670
- Crawler=true
2671
-
2672
- [A1 Website Download/1.* (*) miggibot]
2673
- Parent=Download Managers
2674
- Browser="A1 Website Download"
2675
-
2676
- [AndroidDownloadManager]
2677
- Parent=Download Managers
2678
- Browser="Android Download Manager"
2679
-
2680
- [AutoMate5]
2681
- Parent=Download Managers
2682
- Browser="AutoMate5"
2683
-
2684
- [Beamer*]
2685
- Parent=Download Managers
2686
- Browser="Beamer"
2687
-
2688
- [BitBeamer/*]
2689
- Parent=Download Managers
2690
- Browser="BitBeamer"
2691
-
2692
- [BitTorrent/*]
2693
- Parent=Download Managers
2694
- Browser="BitTorrent"
2695
-
2696
- [DA *]
2697
- Parent=Download Managers
2698
- Browser="Download Accelerator"
2699
-
2700
- [Download Demon*]
2701
- Parent=Download Managers
2702
- Browser="Download Demon"
2703
-
2704
- [Download Express*]
2705
- Parent=Download Managers
2706
- Browser="Download Express"
2707
-
2708
- [Download Master*]
2709
- Parent=Download Managers
2710
- Browser="Download Master"
2711
-
2712
- [Download Ninja*]
2713
- Parent=Download Managers
2714
- Browser="Download Ninja"
2715
-
2716
- [Download Wonder*]
2717
- Parent=Download Managers
2718
- Browser="Download Wonder"
2719
-
2720
- [DownloadSession*]
2721
- Parent=Download Managers
2722
- Browser="DownloadSession"
2723
-
2724
- [EasyDL/*]
2725
- Parent=Download Managers
2726
- Browser="EasyDL"
2727
-
2728
- [FDM 1.x]
2729
- Parent=Download Managers
2730
- Browser="Free Download Manager"
2731
-
2732
- [FlashGet]
2733
- Parent=Download Managers
2734
- Browser="FlashGet"
2735
-
2736
- [FreshDownload/*]
2737
- Parent=Download Managers
2738
- Browser="FreshDownload"
2739
-
2740
- [GetRight/*]
2741
- Parent=Download Managers
2742
- Browser="GetRight"
2743
-
2744
- [GetRightPro/*]
2745
- Parent=Download Managers
2746
- Browser="GetRightPro"
2747
-
2748
- [GetSmart/*]
2749
- Parent=Download Managers
2750
- Browser="GetSmart"
2751
-
2752
- [Go!Zilla*]
2753
- Parent=Download Managers
2754
- Browser="GoZilla"
2755
-
2756
- [Gozilla/*]
2757
- Parent=Download Managers
2758
- Browser="Gozilla"
2759
-
2760
- [Internet Ninja*]
2761
- Parent=Download Managers
2762
- Browser="Internet Ninja"
2763
-
2764
- [Kontiki Client*]
2765
- Parent=Download Managers
2766
- Browser="Kontiki Client"
2767
-
2768
- [lftp/3.2.1]
2769
- Parent=Download Managers
2770
- Browser="lftp"
2771
-
2772
- [LightningDownload/*]
2773
- Parent=Download Managers
2774
- Browser="LightningDownload"
2775
-
2776
- [LMQueueBot/*]
2777
- Parent=Download Managers
2778
- Browser="LMQueueBot"
2779
-
2780
- [MetaProducts Download Express/*]
2781
- Parent=Download Managers
2782
- Browser="Download Express"
2783
-
2784
- [Mozilla/4.0 (compatible; Getleft*)]
2785
- Parent=Download Managers
2786
- Browser="Getleft"
2787
-
2788
- [Myzilla]
2789
- Parent=Download Managers
2790
- Browser="Myzilla"
2791
-
2792
- [Net Vampire/*]
2793
- Parent=Download Managers
2794
- Browser="Net Vampire"
2795
-
2796
- [Net_Vampire*]
2797
- Parent=Download Managers
2798
- Browser="Net_Vampire"
2799
-
2800
- [NetAnts*]
2801
- Parent=Download Managers
2802
- Browser="NetAnts"
2803
-
2804
- [NetPumper*]
2805
- Parent=Download Managers
2806
- Browser="NetPumper"
2807
-
2808
- [NetSucker*]
2809
- Parent=Download Managers
2810
- Browser="NetSucker"
2811
-
2812
- [NetZip Downloader*]
2813
- Parent=Download Managers
2814
- Browser="NetZip Downloader"
2815
-
2816
- [NexTools WebAgent*]
2817
- Parent=Download Managers
2818
- Browser="NexTools WebAgent"
2819
-
2820
- [Offline Downloader*]
2821
- Parent=Download Managers
2822
- Browser="Offline Downloader"
2823
-
2824
- [P3P Client]
2825
- Parent=Download Managers
2826
- Browser="P3P Client"
2827
-
2828
- [PageDown*]
2829
- Parent=Download Managers
2830
- Browser="PageDown"
2831
-
2832
- [PicaLoader*]
2833
- Parent=Download Managers
2834
- Browser="PicaLoader"
2835
-
2836
- [Prozilla*]
2837
- Parent=Download Managers
2838
- Browser="Prozilla"
2839
-
2840
- [RealDownload/*]
2841
- Parent=Download Managers
2842
- Browser="RealDownload"
2843
-
2844
- [sEasyDL/*]
2845
- Parent=Download Managers
2846
- Browser="EasyDL"
2847
-
2848
- [shareaza*]
2849
- Parent=Download Managers
2850
- Browser="shareaza"
2851
-
2852
- [SmartDownload/*]
2853
- Parent=Download Managers
2854
- Browser="SmartDownload"
2855
-
2856
- [SpeedDownload/*]
2857
- Parent=Download Managers
2858
- Browser="Speed Download"
2859
-
2860
- [Star*Downloader/*]
2861
- Parent=Download Managers
2862
- Browser="StarDownloader"
2863
-
2864
- [STEROID Download]
2865
- Parent=Download Managers
2866
- Browser="STEROID Download"
2867
-
2868
- [SuperBot/*]
2869
- Parent=Download Managers
2870
- Browser="SuperBot"
2871
-
2872
- [Vegas95/*]
2873
- Parent=Download Managers
2874
- Browser="Vegas95"
2875
-
2876
- [WebZIP*]
2877
- Parent=Download Managers
2878
- Browser="WebZIP"
2879
-
2880
- [Wget*]
2881
- Parent=Download Managers
2882
- Browser="Wget"
2883
-
2884
- [WinTools]
2885
- Parent=Download Managers
2886
- Browser="WinTools"
2887
-
2888
- [Xaldon WebSpider*]
2889
- Parent=Download Managers
2890
- Browser="Xaldon WebSpider"
2891
-
2892
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; E-Mail Harvesters
2893
-
2894
- [E-Mail Harvesters]
2895
- Parent=DefaultProperties
2896
- Browser="E-Mail Harvesters"
2897
- Frames=true
2898
- IFrames=true
2899
- Tables=true
2900
- isBanned=true
2901
- Crawler=true
2902
-
2903
- [*E-Mail Address Extractor*]
2904
- Parent=E-Mail Harvesters
2905
- Browser="E-Mail Address Extractor"
2906
-
2907
- [*Larbin*]
2908
- Parent=E-Mail Harvesters
2909
- Browser="Larbin"
2910
-
2911
- [*www4mail/*]
2912
- Parent=E-Mail Harvesters
2913
- Browser="www4mail"
2914
-
2915
- [8484 Boston Project*]
2916
- Parent=E-Mail Harvesters
2917
- Browser="8484 Boston Project"
2918
-
2919
- [Atomic_Email]
2920
- Parent=E-Mail Harvesters
2921
- Browser="Atomic_Email"
2922
-
2923
- [Atomic_Email_Hunter/*]
2924
- Parent=E-Mail Harvesters
2925
- Browser="Atomic Email Hunter"
2926
-
2927
- [CherryPicker*/*]
2928
- Parent=E-Mail Harvesters
2929
- Browser="CherryPickerElite"
2930
-
2931
- [Chilkat/*]
2932
- Parent=E-Mail Harvesters
2933
- Browser="Chilkat"
2934
-
2935
- [ContactBot/*]
2936
- Parent=E-Mail Harvesters
2937
- Browser="ContactBot"
2938
-
2939
- [eCatch*]
2940
- Parent=E-Mail Harvesters
2941
- Browser="eCatch"
2942
-
2943
- [EmailCollector*]
2944
- Parent=E-Mail Harvesters
2945
- Browser="E-Mail Collector"
2946
-
2947
- [EMAILsearcher]
2948
- Parent=E-Mail Harvesters
2949
- Browser="EMAILsearcher"
2950
-
2951
- [EmailSiphon*]
2952
- Parent=E-Mail Harvesters
2953
- Browser="E-Mail Siphon"
2954
-
2955
- [EmailWolf*]
2956
- Parent=E-Mail Harvesters
2957
- Browser="EMailWolf"
2958
-
2959
- [Epsilon SoftWorks' MailMunky]
2960
- Parent=E-Mail Harvesters
2961
- Browser="MailMunky"
2962
-
2963
- [ExtractorPro*]
2964
- Parent=E-Mail Harvesters
2965
- Browser="ExtractorPro"
2966
-
2967
- [Franklin Locator*]
2968
- Parent=E-Mail Harvesters
2969
- Browser="Franklin Locator"
2970
-
2971
- [Missigua Locator*]
2972
- Parent=E-Mail Harvesters
2973
- Browser="Missigua Locator"
2974
-
2975
- [Mozilla/4.0 (compatible; Advanced Email Extractor*)]
2976
- Parent=E-Mail Harvesters
2977
- Browser="Advanced Email Extractor"
2978
-
2979
- [Netprospector*]
2980
- Parent=E-Mail Harvesters
2981
- Browser="Netprospector"
2982
-
2983
- [ProWebWalker*]
2984
- Parent=E-Mail Harvesters
2985
- Browser="ProWebWalker"
2986
-
2987
- [sna-0.0.*]
2988
- Parent=E-Mail Harvesters
2989
- Browser="Mike Elliott's E-Mail Harvester"
2990
-
2991
- [WebEnhancer*]
2992
- Parent=E-Mail Harvesters
2993
- Browser="WebEnhancer"
2994
-
2995
- [WebMiner*]
2996
- Parent=E-Mail Harvesters
2997
- Browser="WebMiner"
2998
-
2999
- [ZIBB Crawler (email address / WWW address)]
3000
- Parent=E-Mail Harvesters
3001
- Browser="ZIBB Crawler"
3002
-
3003
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Blogs
3004
-
3005
- [Feeds Blogs]
3006
- Parent=DefaultProperties
3007
- Browser="Feeds Blogs"
3008
- isSyndicationReader=true
3009
- Crawler=true
3010
-
3011
- [Bloglines Title Fetch/*]
3012
- Parent=Feeds Blogs
3013
- Browser="Bloglines Title Fetch"
3014
-
3015
- [Bloglines/* (http://www.bloglines.com*)]
3016
- Parent=Feeds Blogs
3017
- Browser="BlogLines Web"
3018
-
3019
- [BlogPulse (ISSpider-3.*)]
3020
- Parent=Feeds Blogs
3021
- Browser="BlogPulse"
3022
-
3023
- [BlogPulseLive (support@blogpulse.com)]
3024
- Parent=Feeds Blogs
3025
- Browser="BlogPulseLive"
3026
-
3027
- [blogsearchbot-pumpkin-2]
3028
- Parent=Feeds Blogs
3029
- Browser="blogsearchbot-pumpkin"
3030
- isSyndicationReader=false
3031
-
3032
- [Irish Blogs Aggregator/*1.0*]
3033
- Parent=Feeds Blogs
3034
- Browser="Irish Blogs Aggregator"
3035
- Version=1.0
3036
- MajorVer=1
3037
- MinorVer=0
3038
-
3039
- [kinjabot (http://www.kinja.com; *)]
3040
- Parent=Feeds Blogs
3041
- Browser="kinjabot"
3042
-
3043
- [Net::Trackback/*]
3044
- Parent=Feeds Blogs
3045
- Browser="Net::Trackback"
3046
-
3047
- [Reblog*]
3048
- Parent=Feeds Blogs
3049
- Browser="Reblog"
3050
-
3051
- [WordPress/*]
3052
- Parent=Feeds Blogs
3053
- Browser="WordPress"
3054
-
3055
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Syndicators
3056
-
3057
- [Feeds Syndicators]
3058
- Parent=DefaultProperties
3059
- Browser="Feeds Syndicators"
3060
- isSyndicationReader=true
3061
-
3062
- [*LinkLint*]
3063
- Parent=Feeds Syndicators
3064
- Browser="LinkLint"
3065
-
3066
- [*NetNewsWire/*]
3067
- Parent=Feeds Syndicators
3068
-
3069
- [*NetVisualize*]
3070
- Parent=Feeds Syndicators
3071
- Browser="NetVisualize"
3072
-
3073
- [AideRSS 2.* (postrank.com)]
3074
- Parent=Feeds Syndicators
3075
- Browser="AideRSS"
3076
-
3077
- [AideRSS/2.0 (aiderss.com)]
3078
- Parent=Feeds Syndicators
3079
- Browser="AideRSS"
3080
- isBanned=true
3081
-
3082
- [Akregator/*]
3083
- Parent=Feeds Syndicators
3084
- Browser="Akregator"
3085
-
3086
- [AppleSyndication/*]
3087
- Parent=Feeds Syndicators
3088
- Browser="Safari RSS"
3089
- Platform=MacOSX
3090
-
3091
- [Cocoal.icio.us/* (*)*]
3092
- Parent=Feeds Syndicators
3093
- Browser="Cocoal.icio.us"
3094
- isBanned=true
3095
-
3096
- [Feed43 Proxy/* (*)]
3097
- Parent=Feeds Syndicators
3098
- Browser="Feed For Free"
3099
-
3100
- [FeedBurner/*]
3101
- Parent=Feeds Syndicators
3102
- Browser="FeedBurner"
3103
-
3104
- [FeedDemon/* (*)]
3105
- Parent=Feeds Syndicators
3106
- Browser="FeedDemon"
3107
- Platform=Win32
3108
-
3109
- [FeedDigest/* (*)]
3110
- Parent=Feeds Syndicators
3111
- Browser="FeedDigest"
3112
-
3113
- [FeedGhost/1.*]
3114
- Parent=Feeds Syndicators
3115
- Browser="FeedGhost"
3116
- Version=1.0
3117
- MajorVer=1
3118
- MinorVer=0
3119
-
3120
- [FeedOnFeeds/0.1.* ( http://minutillo.com/steve/feedonfeeds/)]
3121
- Parent=Feeds Syndicators
3122
- Browser="FeedOnFeeds"
3123
- Version=0.1
3124
- MajorVer=0
3125
- MinorVer=1
3126
-
3127
- [Feedreader * (Powered by Newsbrain)]
3128
- Parent=Feeds Syndicators
3129
- Browser="Newsbrain"
3130
-
3131
- [Feedshow/* (*)]
3132
- Parent=Feeds Syndicators
3133
- Browser="Feedshow"
3134
-
3135
- [Feedster Crawler/?.0; Feedster, Inc.]
3136
- Parent=Feeds Syndicators
3137
- Browser="Feedster"
3138
-
3139
- [GreatNews/1.0]
3140
- Parent=Feeds Syndicators
3141
- Browser="GreatNews"
3142
- Version=1.0
3143
- MajorVer=1
3144
- MinorVer=0
3145
-
3146
- [Gregarius/*]
3147
- Parent=Feeds Syndicators
3148
- Browser="Gregarius"
3149
-
3150
- [intraVnews/*]
3151
- Parent=Feeds Syndicators
3152
- Browser="intraVnews"
3153
-
3154
- [JetBrains Omea Reader*]
3155
- Parent=Feeds Syndicators
3156
- Browser="Omea Reader"
3157
- isBanned=true
3158
-
3159
- [Liferea/1.5* (Linux; *; http://liferea.sf.net/)]
3160
- Parent=Feeds Syndicators
3161
- Browser="Liferea"
3162
- isBanned=true
3163
-
3164
- [livedoor FeedFetcher/0.0* (http://reader.livedoor.com/;*)]
3165
- Parent=Feeds Syndicators
3166
- Browser="FeedFetcher"
3167
- Version=0.0
3168
- MajorVer=0
3169
- MinorVer=0
3170
-
3171
- [MagpieRSS/* (*)]
3172
- Parent=Feeds Syndicators
3173
- Browser="MagpieRSS"
3174
-
3175
- [Mobitype * (compatible; Mozilla/*; MSIE *.*; Windows *)]
3176
- Parent=Feeds Syndicators
3177
- Browser="Mobitype"
3178
- Platform=Win32
3179
-
3180
- [Mozilla/5.0 (*; Rojo *; http://www.rojo.com/corporate/help/agg; *)*]
3181
- Parent=Feeds Syndicators
3182
- Browser="Rojo"
3183
-
3184
- [Mozilla/5.0 (*aggregator:TailRank; http://tailrank.com/robot)*]
3185
- Parent=Feeds Syndicators
3186
- Browser="TailRank"
3187
-
3188
- [Mozilla/5.0 (compatible; MSIE 6.0; Podtech Network; crawler_admin@podtech.net)]
3189
- Parent=Feeds Syndicators
3190
- Browser="Podtech Network"
3191
-
3192
- [Mozilla/5.0 (compatible; Newz Crawler *; http://www.newzcrawler.com/?)]
3193
- Parent=Feeds Syndicators
3194
- Browser="Newz Crawler"
3195
-
3196
- [Mozilla/5.0 (compatible; RSSMicro.com RSS/Atom Feed Robot)]
3197
- Parent=Feeds Syndicators
3198
- Browser="RSSMicro"
3199
-
3200
- [Mozilla/5.0 (compatible;*newstin.com;*)]
3201
- Parent=Feeds Syndicators
3202
- Browser="NewsTin"
3203
-
3204
- [Mozilla/5.0 (RSS Reader Panel)]
3205
- Parent=Feeds Syndicators
3206
- Browser="RSS Reader Panel"
3207
-
3208
- [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:FeedParser; *) Gecko/*]
3209
- Parent=Feeds Syndicators
3210
- Browser="FeedParser"
3211
-
3212
- [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:NewsMonster; *) Gecko/*]
3213
- Parent=Feeds Syndicators
3214
- Browser="NewsMonster"
3215
-
3216
- [Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:Rojo; *) Gecko/*]
3217
- Parent=Feeds Syndicators
3218
- Browser="Rojo"
3219
-
3220
- [Mozilla/5.0 NewsFox/*]
3221
- Parent=Feeds Syndicators
3222
- Browser="NewsFox"
3223
-
3224
- [Netvibes (*)]
3225
- Parent=Feeds Syndicators
3226
- Browser="Netvibes"
3227
-
3228
- [NewsAlloy/* (*)]
3229
- Parent=Feeds Syndicators
3230
- Browser="NewsAlloy"
3231
-
3232
- [Omnipelagos*]
3233
- Parent=Feeds Syndicators
3234
- Browser="Omnipelagos"
3235
-
3236
- [Particls]
3237
- Parent=Feeds Syndicators
3238
- Browser="Particls"
3239
-
3240
- [Protopage/* (*)]
3241
- Parent=Feeds Syndicators
3242
- Browser="Protopage"
3243
-
3244
- [PubSub-RSS-Reader/* (*)]
3245
- Parent=Feeds Syndicators
3246
- Browser="PubSub-RSS-Reader"
3247
-
3248
- [RSS Menu/*]
3249
- Parent=Feeds Syndicators
3250
- Browser="RSS Menu"
3251
-
3252
- [RssBandit/*]
3253
- Parent=Feeds Syndicators
3254
- Browser="RssBandit"
3255
-
3256
- [RssBar/1.2*]
3257
- Parent=Feeds Syndicators
3258
- Browser="RssBar"
3259
- Version=1.2
3260
- MajorVer=1
3261
- MinorVer=2
3262
-
3263
- [SharpReader/*]
3264
- Parent=Feeds Syndicators
3265
- Browser="SharpReader"
3266
-
3267
- [SimplePie/*]
3268
- Parent=Feeds Syndicators
3269
- Browser="SimplePie"
3270
-
3271
- [Strategic Board Bot (?http://www.strategicboard.com)]
3272
- Parent=Feeds Syndicators
3273
- Browser="Strategic Board Bot"
3274
- isBanned=true
3275
-
3276
- [TargetYourNews.com bot]
3277
- Parent=Feeds Syndicators
3278
- Browser="TargetYourNews"
3279
-
3280
- [Technoratibot/*]
3281
- Parent=Feeds Syndicators
3282
- Browser="Technoratibot"
3283
-
3284
- [Tumblr/* RSS syndication ( http://www.tumblr.com/) (support@tumblr.com)]
3285
- Parent=Feeds Syndicators
3286
- Browser="Tumblr RSS syndication"
3287
-
3288
- [Windows-RSS-Platform/1.0*]
3289
- Parent=Feeds Syndicators
3290
- Browser="Windows-RSS-Platform"
3291
- Version=1.0
3292
- MajorVer=1
3293
- MinorVer=0
3294
- Win32=true
3295
-
3296
- [Wizz RSS News Reader]
3297
- Parent=Feeds Syndicators
3298
- Browser="Wizz"
3299
-
3300
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General RSS
3301
-
3302
- [General RSS]
3303
- Parent=DefaultProperties
3304
- Browser="General RSS"
3305
- isSyndicationReader=true
3306
-
3307
- [AideRSS/1.0 (aiderss.com); * subscribers]
3308
- Parent=General RSS
3309
- Browser="AideRSS"
3310
- Version=1.0
3311
- MajorVer=1
3312
- MinorVer=0
3313
-
3314
- [CC Metadata Scaper http://wiki.creativecommons.org/Metadata_Scraper]
3315
- Parent=General RSS
3316
- Browser="CC Metadata Scaper"
3317
-
3318
- [Mozilla/5.0 (compatible) GM RSS Panel]
3319
- Parent=General RSS
3320
- Browser="RSS Panel"
3321
-
3322
- [Mozilla/5.0 http://www.inclue.com; graeme@inclue.com]
3323
- Parent=General RSS
3324
- Browser="Inclue"
3325
-
3326
- [Runnk online rss reader : http://www.runnk.com/ : RSS favorites : RSS ranking : RSS aggregator*]
3327
- Parent=General RSS
3328
- Browser="Ruunk"
3329
-
3330
- [Windows-RSS-Platform/2.0 (MSIE 8.0; Windows NT 6.0)]
3331
- Parent=General RSS
3332
- Browser="Windows-RSS-Platform"
3333
- Platform=WinVista
3334
-
3335
- [Mozilla/5.0 (X11; ?; Linux; *) AppleWebKit/* (KHTML, like Gecko, Safari/*) Arora/0.4]
3336
- Parent=Google Code
3337
- Browser="Arora"
3338
- Version=0.4
3339
- MajorVer=0
3340
- MinorVer=4
3341
- Platform=Linux
3342
- CssVersion=2
3343
- supportsCSS=true
3344
-
3345
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Validation Checkers
3346
-
3347
- [HTML Validators]
3348
- Parent=DefaultProperties
3349
- Browser="HTML Validators"
3350
- Frames=true
3351
- IFrames=true
3352
- Tables=true
3353
- Crawler=true
3354
-
3355
- [(HTML Validator http://www.searchengineworld.com/validator/)]
3356
- Parent=HTML Validators
3357
- Browser="Search Engine World HTML Validator"
3358
-
3359
- [FeedValidator/1.3]
3360
- Parent=HTML Validators
3361
- Browser="FeedValidator"
3362
- Version=1.3
3363
- MajorVer=1
3364
- MinorVer=3
3365
-
3366
- [Jigsaw/* W3C_CSS_Validator_JFouffa/*]
3367
- Parent=HTML Validators
3368
- Browser="Jigsaw CSS Validator"
3369
-
3370
- [Search Engine World Robots.txt Validator*]
3371
- Parent=HTML Validators
3372
- Browser="Search Engine World Robots.txt Validator"
3373
-
3374
- [W3C_Validator/*]
3375
- Parent=HTML Validators
3376
- Browser="W3C Validator"
3377
-
3378
- [W3CLineMode/*]
3379
- Parent=HTML Validators
3380
- Browser="W3C Line Mode"
3381
-
3382
- [Weblide/2.? beta*]
3383
- Parent=HTML Validators
3384
- Browser="Weblide"
3385
- Version=2.0
3386
- MajorVer=2
3387
- MinorVer=0
3388
- Beta=true
3389
-
3390
- [WebmasterWorld StickyMail Server Header Checker*]
3391
- Parent=HTML Validators
3392
- Browser="WebmasterWorld Server Header Checker"
3393
-
3394
- [WWWC/*]
3395
- Parent=HTML Validators
3396
-
3397
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Image Crawlers
3398
-
3399
- [Image Crawlers]
3400
- Parent=DefaultProperties
3401
- Browser="Image Crawlers"
3402
- Frames=true
3403
- IFrames=true
3404
- Tables=true
3405
- isBanned=true
3406
- Crawler=true
3407
-
3408
- [*CFNetwork*]
3409
- Parent=Image Crawlers
3410
- Browser="CFNetwork"
3411
-
3412
- [*PhotoStickies/*]
3413
- Parent=Image Crawlers
3414
- Browser="PhotoStickies"
3415
-
3416
- [Camcrawler*]
3417
- Parent=Image Crawlers
3418
- Browser="Camcrawler"
3419
-
3420
- [CydralSpider/*]
3421
- Parent=Image Crawlers
3422
- Browser="Cydral Web Image Search"
3423
- isBanned=true
3424
-
3425
- [Der gro\xdfe BilderSauger*]
3426
- Parent=Image Crawlers
3427
- Browser="Gallery Grabber"
3428
-
3429
- [Extreme Picture Finder]
3430
- Parent=Image Crawlers
3431
- Browser="Extreme Picture Finder"
3432
-
3433
- [FLATARTS_FAVICO]
3434
- Parent=Image Crawlers
3435
- Browser="FlatArts Favorites Icon Tool"
3436
-
3437
- [HTML2JPG Blackbox, http://www.html2jpg.com]
3438
- Parent=Image Crawlers
3439
- Browser="HTML2JPG"
3440
-
3441
- [IconSurf/2.*]
3442
- Parent=Image Crawlers
3443
- Browser="IconSurf"
3444
-
3445
- [kalooga/KaloogaBot*]
3446
- Parent=Image Crawlers
3447
- Browser="KaloogaBot"
3448
-
3449
- [Mister PIX*]
3450
- Parent=Image Crawlers
3451
- Browser="Mister PIX"
3452
-
3453
- [Mozilla/5.0 (Macintosh; U; *Mac OS X; *) AppleWebKit/* (*) Pandora/2.*]
3454
- Parent=Image Crawlers
3455
- Browser="Pandora"
3456
-
3457
- [naoFavicon4IE*]
3458
- Parent=Image Crawlers
3459
- Browser="naoFavicon4IE"
3460
-
3461
- [pixfinder/*]
3462
- Parent=Image Crawlers
3463
- Browser="pixfinder"
3464
-
3465
- [rssImagesBot/0.1 (*http://herbert.groot.jebbink.nl/?app=rssImages)]
3466
- Parent=Image Crawlers
3467
- Browser="rssImagesBot"
3468
-
3469
- [Web Image Collector*]
3470
- Parent=Image Crawlers
3471
- Browser="Web Image Collector"
3472
-
3473
- [WebImages * (?http://herbert.groot.jebbink.nl/?app=WebImages?)]
3474
- Parent=Image Crawlers
3475
- Browser="WebImages"
3476
-
3477
- [WebPix*]
3478
- Parent=Image Crawlers
3479
- Browser="Custo"
3480
-
3481
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Link Checkers
3482
-
3483
- [Link Checkers]
3484
- Parent=DefaultProperties
3485
- Browser="Link Checkers"
3486
- Frames=true
3487
- IFrames=true
3488
- Tables=true
3489
- Crawler=true
3490
-
3491
- [!Susie (http://www.sync2it.com/susie)]
3492
- Parent=Link Checkers
3493
- Browser="!Susie"
3494
-
3495
- [*AgentName/*]
3496
- Parent=Link Checkers
3497
- Browser="AgentName"
3498
-
3499
- [*Linkman*]
3500
- Parent=Link Checkers
3501
- Browser="Linkman"
3502
-
3503
- [*LinksManager.com*]
3504
- Parent=Link Checkers
3505
- Browser="LinksManager"
3506
-
3507
- [*Powermarks/*]
3508
- Parent=Link Checkers
3509
- Browser="Powermarks"
3510
-
3511
- [*W3C-checklink/*]
3512
- Parent=Link Checkers
3513
- Browser="W3C Link Checker"
3514
-
3515
- [*Web Link Validator*]
3516
- Parent=Link Checkers
3517
- Browser="Web Link Validator"
3518
-
3519
- [*Zeus*]
3520
- Parent=Link Checkers
3521
- Browser="Zeus"
3522
- isBanned=true
3523
-
3524
- [ActiveBookmark *]
3525
- Parent=Link Checkers
3526
- Browser="ActiveBookmark"
3527
-
3528
- [Bookdog/*]
3529
- Parent=Link Checkers
3530
- Browser="Bookdog"
3531
-
3532
- [Bookmark Buddy*]
3533
- Parent=Link Checkers
3534
- Browser="Bookmark Buddy"
3535
-
3536
- [Bookmark Renewal Check Agent*]
3537
- Parent=Link Checkers
3538
- Browser="Bookmark Renewal Check Agent"
3539
-
3540
- [Bookmark search tool*]
3541
- Parent=Link Checkers
3542
- Browser="Bookmark search tool"
3543
-
3544
- [Bookmark-Manager]
3545
- Parent=Link Checkers
3546
- Browser="Bookmark-Manager"
3547
-
3548
- [Checkbot*]
3549
- Parent=Link Checkers
3550
- Browser="Checkbot"
3551
-
3552
- [CheckLinks/*]
3553
- Parent=Link Checkers
3554
- Browser="CheckLinks"
3555
-
3556
- [CyberSpyder Link Test/*]
3557
- Parent=Link Checkers
3558
- Browser="CyberSpyder Link Test"
3559
-
3560
- [DLC/*]
3561
- Parent=Link Checkers
3562
- Browser="DLC"
3563
-
3564
- [DocWeb Link Crawler (http://doc.php.net)]
3565
- Parent=Link Checkers
3566
- Browser="DocWeb Link Crawler"
3567
-
3568
- [FavOrg]
3569
- Parent=Link Checkers
3570
- Browser="FavOrg"
3571
-
3572
- [Favorites Sweeper v.3.*]
3573
- Parent=Link Checkers
3574
- Browser="Favorites Sweeper"
3575
-
3576
- [FindLinks/*]
3577
- Parent=Link Checkers
3578
- Browser="FindLinks"
3579
-
3580
- [Funnel Web Profiler*]
3581
- Parent=Link Checkers
3582
- Browser="Funnel Web Profiler"
3583
-
3584
- [Html Link Validator (www.lithopssoft.com)]
3585
- Parent=Link Checkers
3586
- Browser="HTML Link Validator"
3587
-
3588
- [IECheck]
3589
- Parent=Link Checkers
3590
- Browser="IECheck"
3591
-
3592
- [JCheckLinks/*]
3593
- Parent=Link Checkers
3594
- Browser="JCheckLinks"
3595
-
3596
- [JRTwine Software Check Favorites Utility]
3597
- Parent=Link Checkers
3598
- Browser="JRTwine"
3599
-
3600
- [Link Valet Online*]
3601
- Parent=Link Checkers
3602
- Browser="Link Valet"
3603
- isBanned=true
3604
-
3605
- [LinkAlarm/*]
3606
- Parent=Link Checkers
3607
- Browser="LinkAlarm"
3608
-
3609
- [Linkbot*]
3610
- Parent=Link Checkers
3611
- Browser="Linkbot"
3612
-
3613
- [LinkChecker/*]
3614
- Parent=Link Checkers
3615
- Browser="LinkChecker"
3616
-
3617
- [LinkextractorPro*]
3618
- Parent=Link Checkers
3619
- Browser="LinkextractorPro"
3620
- isBanned=true
3621
-
3622
- [LinkLint-checkonly/*]
3623
- Parent=Link Checkers
3624
- Browser="LinkLint"
3625
-
3626
- [LinkScan/*]
3627
- Parent=Link Checkers
3628
- Browser="LinkScan"
3629
-
3630
- [LinkSweeper/*]
3631
- Parent=Link Checkers
3632
- Browser="LinkSweeper"
3633
-
3634
- [LinkWalker*]
3635
- Parent=Link Checkers
3636
- Browser="LinkWalker"
3637
-
3638
- [MetaGer-LinkChecker]
3639
- Parent=Link Checkers
3640
- Browser="MetaGer-LinkChecker"
3641
-
3642
- [Mozilla/* (compatible; linktiger/*; *http://www.linktiger.com*)]
3643
- Parent=Link Checkers
3644
- Browser="LinkTiger"
3645
- isBanned=true
3646
-
3647
- [Mozilla/4.0 (Compatible); URLBase*]
3648
- Parent=Link Checkers
3649
- Browser="URLBase"
3650
-
3651
- [Mozilla/4.0 (compatible; Link Utility; http://net-promoter.com)]
3652
- Parent=Link Checkers
3653
- Browser="NetPromoter Link Utility"
3654
-
3655
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Web Link Validator*]
3656
- Parent=Link Checkers
3657
- Browser="Web Link Validator"
3658
- Win32=true
3659
-
3660
- [Mozilla/4.0 (compatible; MSIE 7.0; Win32) Link Commander 3.0]
3661
- Parent=Link Checkers
3662
- Browser="Link Commander"
3663
- Version=3.0
3664
- MajorVer=3
3665
- MinorVer=0
3666
- Platform=Win32
3667
-
3668
- [Mozilla/4.0 (compatible; smartBot/1.*; checking links; *)]
3669
- Parent=Link Checkers
3670
- Browser="smartBot"
3671
-
3672
- [Mozilla/4.0 (compatible; SuperCleaner*;*)]
3673
- Parent=Link Checkers
3674
- Browser="SuperCleaner"
3675
-
3676
- [Mozilla/5.0 gURLChecker/*]
3677
- Parent=Link Checkers
3678
- Browser="gURLChecker"
3679
- isBanned=true
3680
-
3681
- [Newsgroupreporter LinkCheck]
3682
- Parent=Link Checkers
3683
- Browser="Newsgroupreporter LinkCheck"
3684
-
3685
- [onCHECK Linkchecker von www.scientec.de fuer www.onsinn.de]
3686
- Parent=Link Checkers
3687
- Browser="onCHECK Linkchecker"
3688
-
3689
- [online link validator (http://www.dead-links.com/)]
3690
- Parent=Link Checkers
3691
- Browser="Dead-Links.com"
3692
- isBanned=true
3693
-
3694
- [REL Link Checker*]
3695
- Parent=Link Checkers
3696
- Browser="REL Link Checker"
3697
-
3698
- [RLinkCheker*]
3699
- Parent=Link Checkers
3700
- Browser="RLinkCheker"
3701
-
3702
- [Robozilla/*]
3703
- Parent=Link Checkers
3704
- Browser="Robozilla"
3705
-
3706
- [RPT-HTTPClient/*]
3707
- Parent=Link Checkers
3708
- Browser="RPT-HTTPClient"
3709
- isBanned=true
3710
-
3711
- [SafariBookmarkChecker*(?http://www.coriolis.ch/)]
3712
- Parent=Link Checkers
3713
- Browser="SafariBookmarkChecker"
3714
- Platform=MacOSX
3715
- CssVersion=2
3716
- supportsCSS=true
3717
-
3718
- [Simpy/* (Simpy; http://www.simpy.com/?ref=bot; feedback at simpy dot com)]
3719
- Parent=Link Checkers
3720
- Browser="Simpy"
3721
-
3722
- [SiteBar/*]
3723
- Parent=Link Checkers
3724
- Browser="SiteBar"
3725
-
3726
- [Susie (http://www.sync2it.com/bms/susie.php]
3727
- Parent=Link Checkers
3728
- Browser="Susie"
3729
-
3730
- [URLBase/6.*]
3731
- Parent=Link Checkers
3732
-
3733
- [VSE/*]
3734
- Parent=Link Checkers
3735
- Browser="VSE Link Tester"
3736
-
3737
- [WebTrends Link Analyzer]
3738
- Parent=Link Checkers
3739
- Browser="WebTrends Link Analyzer"
3740
-
3741
- [WorQmada/*]
3742
- Parent=Link Checkers
3743
- Browser="WorQmada"
3744
-
3745
- [Xenu* Link Sleuth*]
3746
- Parent=Link Checkers
3747
- Browser="Xenu's Link Sleuth"
3748
- isBanned=true
3749
-
3750
- [Z-Add Link Checker*]
3751
- Parent=Link Checkers
3752
- Browser="Z-Add Link Checker"
3753
-
3754
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Microsoft
3755
-
3756
- [Microsoft]
3757
- Parent=DefaultProperties
3758
- Browser="Microsoft"
3759
- isBanned=true
3760
-
3761
- [Live (http://www.live.com/)]
3762
- Parent=Microsoft
3763
- Browser="Microsoft Live"
3764
- isBanned=false
3765
- isSyndicationReader=true
3766
-
3767
- [MFC Foundation Class Library*]
3768
- Parent=Microsoft
3769
- Browser="MFC Foundation Class Library"
3770
-
3771
- [MFHttpScan]
3772
- Parent=Microsoft
3773
- Browser="MFHttpScan"
3774
-
3775
- [Microsoft BITS/*]
3776
- Parent=Microsoft
3777
- Browser="BITS"
3778
-
3779
- [Microsoft Data Access Internet Publishing Provider Cache Manager]
3780
- Parent=Microsoft
3781
- Browser="MS IPP"
3782
-
3783
- [Microsoft Data Access Internet Publishing Provider DAV*]
3784
- Parent=Microsoft
3785
- Browser="MS IPP DAV"
3786
-
3787
- [Microsoft Data Access Internet Publishing Provider Protocol Discovery]
3788
- Parent=Microsoft
3789
- Browser="MS IPPPD"
3790
-
3791
- [Microsoft Internet Explorer]
3792
- Parent=Microsoft
3793
- Browser="Fake IE"
3794
-
3795
- [Microsoft Office Existence Discovery]
3796
- Parent=Microsoft
3797
- Browser="Microsoft Office Existence Discovery"
3798
-
3799
- [Microsoft Office Protocol Discovery]
3800
- Parent=Microsoft
3801
- Browser="MS OPD"
3802
-
3803
- [Microsoft Office/* (*Picture Manager*)]
3804
- Parent=Microsoft
3805
- Browser="Microsoft Office Picture Manager"
3806
-
3807
- [Microsoft URL Control*]
3808
- Parent=Microsoft
3809
- Browser="Microsoft URL Control"
3810
-
3811
- [Microsoft Visio MSIE]
3812
- Parent=Microsoft
3813
- Browser="Microsoft Visio"
3814
-
3815
- [Microsoft-WebDAV-MiniRedir/*]
3816
- Parent=Microsoft
3817
- Browser="Microsoft-WebDAV"
3818
-
3819
- [Mozilla/5.0 (Macintosh; Intel Mac OS X) Excel/12.*]
3820
- Parent=Microsoft
3821
- Browser="Microsoft Excel"
3822
- Version=12.0
3823
- MajorVer=12
3824
- MinorVer=0
3825
- Platform=MacOSX
3826
-
3827
- [MSN Feed Manager]
3828
- Parent=Microsoft
3829
- Browser="MSN Feed Manager"
3830
- isBanned=false
3831
- isSyndicationReader=true
3832
-
3833
- [MSProxy/*]
3834
- Parent=Microsoft
3835
- Browser="MS Proxy"
3836
-
3837
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Browsers
3838
-
3839
- [Miscellaneous Browsers]
3840
- Parent=DefaultProperties
3841
- Browser="Miscellaneous Browsers"
3842
- Frames=true
3843
- Tables=true
3844
- Cookies=true
3845
-
3846
- [*Amiga*]
3847
- Parent=Miscellaneous Browsers
3848
- Browser="Amiga"
3849
- Platform=Amiga
3850
-
3851
- [*avantbrowser*]
3852
- Parent=Miscellaneous Browsers
3853
- Browser="Avant Browser"
3854
-
3855
- [12345]
3856
- Parent=Miscellaneous Browsers
3857
- Browser="12345"
3858
- isBanned=true
3859
-
3860
- [1st ZipCommander (Net) - http://www.zipcommander.com/]
3861
- Parent=Miscellaneous Browsers
3862
- Browser="1st ZipCommander"
3863
-
3864
- [Ace Explorer]
3865
- Parent=Miscellaneous Browsers
3866
- Browser="Ace Explorer"
3867
-
3868
- [Enigma Browser*]
3869
- Parent=Miscellaneous Browsers
3870
- Browser="Enigma Browser"
3871
-
3872
- [EVE-minibrowser/*]
3873
- Parent=Miscellaneous Browsers
3874
- Browser="EVE-minibrowser"
3875
- IFrames=false
3876
- Tables=false
3877
- BackgroundSounds=false
3878
- VBScript=false
3879
- JavaApplets=false
3880
- JavaScript=false
3881
- ActiveXControls=false
3882
- isBanned=false
3883
- Crawler=false
3884
-
3885
- [Godzilla/* (Basic*; *; Commodore C=64; *; rv:1.*)*]
3886
- Parent=Miscellaneous Browsers
3887
- Browser="Godzilla"
3888
-
3889
- [GreenBrowser]
3890
- Parent=Miscellaneous Browsers
3891
- Browser="GreenBrowser"
3892
- Frames=true
3893
- IFrames=true
3894
- Tables=true
3895
- Cookies=true
3896
- BackgroundSounds=true
3897
- VBScript=true
3898
- JavaApplets=true
3899
- JavaScript=true
3900
- ActiveXControls=true
3901
- CssVersion=2
3902
- supportsCSS=true
3903
-
3904
- [Kopiczek/* (WyderOS*; *)]
3905
- Parent=Miscellaneous Browsers
3906
- Browser="Kopiczek"
3907
- Platform=WyderOS
3908
- IFrames=true
3909
- JavaApplets=true
3910
- JavaScript=true
3911
- CssVersion=2
3912
- supportsCSS=true
3913
-
3914
- [Mozilla/* (*) - BrowseX (*)]
3915
- Parent=Miscellaneous Browsers
3916
- Browser="BrowseX"
3917
-
3918
- [Mozilla/* (Win32;*Escape?*; ?)]
3919
- Parent=Miscellaneous Browsers
3920
- Browser="Escape"
3921
- Platform=Win32
3922
-
3923
- [Mozilla/4.0 (compatible; ibisBrowser)]
3924
- Parent=Miscellaneous Browsers
3925
- Browser="ibisBrowser"
3926
-
3927
- [Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) AppleWebKit/* (*) HistoryHound/*]
3928
- Parent=Miscellaneous Browsers
3929
- Browser="HistoryHound"
3930
-
3931
- [NetRecorder*]
3932
- Parent=Miscellaneous Browsers
3933
- Browser="NetRecorder"
3934
-
3935
- [NetSurf*]
3936
- Parent=Miscellaneous Browsers
3937
- Browser="NetSurf"
3938
-
3939
- [ogeb browser , Version 1.1.0]
3940
- Parent=Miscellaneous Browsers
3941
- Browser="ogeb browser"
3942
- Version=1.1
3943
- MajorVer=1
3944
- MinorVer=1
3945
-
3946
- [SCEJ PSP BROWSER 0102pspNavigator]
3947
- Parent=Miscellaneous Browsers
3948
- Browser="Wipeout Pure"
3949
-
3950
- [SlimBrowser]
3951
- Parent=Miscellaneous Browsers
3952
- Browser="SlimBrowser"
3953
-
3954
- [WWW_Browser/*]
3955
- Parent=Miscellaneous Browsers
3956
- Browser="WWW Browser"
3957
- Version=1.69
3958
- MajorVer=1
3959
- MinorVer=69
3960
- Platform=Win16
3961
- CssVersion=3
3962
- supportsCSS=true
3963
-
3964
- [*Netcraft Webserver Survey*]
3965
- Parent=Netcraft
3966
- Browser="Netcraft Webserver Survey"
3967
- isBanned=true
3968
-
3969
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Offline Browsers
3970
-
3971
- [Offline Browsers]
3972
- Parent=DefaultProperties
3973
- Browser="Offline Browsers"
3974
- Frames=true
3975
- Tables=true
3976
- Cookies=true
3977
- isBanned=true
3978
- Crawler=true
3979
-
3980
- [*Check&Get*]
3981
- Parent=Offline Browsers
3982
- Browser="Check&Get"
3983
-
3984
- [*HTTrack*]
3985
- Parent=Offline Browsers
3986
- Browser="HTTrack"
3987
-
3988
- [*MSIECrawler*]
3989
- Parent=Offline Browsers
3990
- Browser="IE Offline Browser"
3991
-
3992
- [*TweakMASTER*]
3993
- Parent=Offline Browsers
3994
- Browser="TweakMASTER"
3995
-
3996
- [BackStreet Browser *]
3997
- Parent=Offline Browsers
3998
- Browser="BackStreet Browser"
3999
-
4000
- [Go-Ahead-Got-It*]
4001
- Parent=Offline Browsers
4002
- Browser="Go Ahead Got-It"
4003
-
4004
- [iGetter/*]
4005
- Parent=Offline Browsers
4006
- Browser="iGetter"
4007
-
4008
- [Teleport*]
4009
- Parent=Offline Browsers
4010
- Browser="Teleport"
4011
-
4012
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Online Scanners
4013
-
4014
- [Online Scanners]
4015
- Parent=DefaultProperties
4016
- Browser="Online Scanners"
4017
- isBanned=true
4018
-
4019
- [JoeDog/* (X11; I; Siege *)]
4020
- Parent=Online Scanners
4021
- Browser="JoeDog"
4022
- isBanned=false
4023
-
4024
- [Morfeus Fucking Scanner]
4025
- Parent=Online Scanners
4026
- Browser="Morfeus Fucking Scanner"
4027
-
4028
- [Mozilla/4.0 (compatible; Trend Micro tmdr 1.*]
4029
- Parent=Online Scanners
4030
- Browser="Trend Micro"
4031
-
4032
- [Titanium 2005 (4.02.01)]
4033
- Parent=Online Scanners
4034
- Browser="Panda Antivirus Titanium"
4035
-
4036
- [virus_detector*]
4037
- Parent=Online Scanners
4038
- Browser="Secure Computing Corporation"
4039
-
4040
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Proxy Servers
4041
-
4042
- [Proxy Servers]
4043
- Parent=DefaultProperties
4044
- Browser="Proxy Servers"
4045
- isBanned=true
4046
-
4047
- [*squid*]
4048
- Parent=Proxy Servers
4049
- Browser="Squid"
4050
-
4051
- [Anonymisiert*]
4052
- Parent=Proxy Servers
4053
- Browser="Anonymizied"
4054
-
4055
- [Anonymizer/*]
4056
- Parent=Proxy Servers
4057
- Browser="Anonymizer"
4058
-
4059
- [Anonymizied*]
4060
- Parent=Proxy Servers
4061
- Browser="Anonymizied"
4062
-
4063
- [Anonymous*]
4064
- Parent=Proxy Servers
4065
- Browser="Anonymous"
4066
-
4067
- [Anonymous/*]
4068
- Parent=Proxy Servers
4069
- Browser="Anonymous"
4070
-
4071
- [CE-Preload]
4072
- Parent=Proxy Servers
4073
- Browser="CE-Preload"
4074
-
4075
- [http://Anonymouse.org/*]
4076
- Parent=Proxy Servers
4077
- Browser="Anonymouse"
4078
-
4079
- [IE/6.01 (CP/M; 8-bit*)]
4080
- Parent=Proxy Servers
4081
- Browser="Squid"
4082
-
4083
- [Mozilla/* (TuringOS; Turing Machine; 0.0)]
4084
- Parent=Proxy Servers
4085
- Browser="Anonymizer"
4086
-
4087
- [Mozilla/4.0 (compatible; MSIE ?.0; SaferSurf*)]
4088
- Parent=Proxy Servers
4089
- Browser="SaferSurf"
4090
-
4091
- [Mozilla/5.0 (compatible; del.icio.us-thumbnails/*; *) KHTML/* (like Gecko)]
4092
- Parent=Proxy Servers
4093
- Browser="Yahoo!"
4094
- isBanned=true
4095
- Crawler=true
4096
-
4097
- [Nutscrape]
4098
- Parent=Proxy Servers
4099
- Browser="Squid"
4100
-
4101
- [Nutscrape/* (CP/M; 8-bit*)]
4102
- Parent=Proxy Servers
4103
- Browser="Squid"
4104
-
4105
- [Privoxy/*]
4106
- Parent=Proxy Servers
4107
- Browser="Privoxy"
4108
-
4109
- [ProxyTester*]
4110
- Parent=Proxy Servers
4111
- Browser="ProxyTester"
4112
- isBanned=true
4113
- Crawler=true
4114
-
4115
- [SilentSurf*]
4116
- Parent=Proxy Servers
4117
- Browser="SilentSurf"
4118
-
4119
- [SmallProxy*]
4120
- Parent=Proxy Servers
4121
- Browser="SmallProxy"
4122
-
4123
- [Space*Bison/*]
4124
- Parent=Proxy Servers
4125
- Browser="Proxomitron"
4126
-
4127
- [Sqworm/*]
4128
- Parent=Proxy Servers
4129
- Browser="Websense"
4130
-
4131
- [SurfControl]
4132
- Parent=Proxy Servers
4133
- Browser="SurfControl"
4134
-
4135
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Research Projects
4136
-
4137
- [Research Projects]
4138
- Parent=DefaultProperties
4139
- Browser="Research Projects"
4140
- isBanned=true
4141
- Crawler=true
4142
-
4143
- [*research*]
4144
- Parent=Research Projects
4145
-
4146
- [AcadiaUniversityWebCensusClient]
4147
- Parent=Research Projects
4148
- Browser="AcadiaUniversityWebCensusClient"
4149
-
4150
- [Amico Alpha * (*) Gecko/* AmicoAlpha/*]
4151
- Parent=Research Projects
4152
- Browser="Amico Alpha"
4153
-
4154
- [annotate_google; http://ponderer.org/*]
4155
- Parent=Research Projects
4156
- Browser="Annotate Google"
4157
-
4158
- [CMS crawler (?http://buytaert.net/crawler/)]
4159
- Parent=Research Projects
4160
-
4161
- [e-SocietyRobot(http://www.yama.info.waseda.ac.jp/~yamana/es/)]
4162
- Parent=Research Projects
4163
- Browser="e-SocietyRobot"
4164
-
4165
- [Forschungsportal/*]
4166
- Parent=Research Projects
4167
- Browser="Forschungsportal"
4168
-
4169
- [Gulper Web *]
4170
- Parent=Research Projects
4171
- Browser="Gulper Web Bot"
4172
-
4173
- [HooWWWer/*]
4174
- Parent=Research Projects
4175
- Browser="HooWWWer"
4176
-
4177
- [http://buytaert.net/crawler]
4178
- Parent=Research Projects
4179
-
4180
- [inetbot/* (?http://www.inetbot.com/bot.html)]
4181
- Parent=Research Projects
4182
- Browser="inetbot"
4183
-
4184
- [IRLbot/*]
4185
- Parent=Research Projects
4186
- Browser="IRLbot"
4187
-
4188
- [JUST-CRAWLER(*)]
4189
- Parent=Research Projects
4190
- Browser="JUST-CRAWLER"
4191
-
4192
- [Lachesis]
4193
- Parent=Research Projects
4194
- Browser="Lachesis"
4195
-
4196
- [Mozilla/5.0 (compatible; nextthing.org/*)]
4197
- Parent=Research Projects
4198
- Browser="nextthing.org"
4199
- Version=1.0
4200
- MajorVer=1
4201
- MinorVer=0
4202
-
4203
- [Mozilla/5.0 (compatible; Theophrastus/*)]
4204
- Parent=Research Projects
4205
- Browser="Theophrastus"
4206
-
4207
- [Mozilla/5.0 (compatible; Webscan v0.*; http://otc.dyndns.org/webscan/)]
4208
- Parent=Research Projects
4209
- Browser="Webscan"
4210
-
4211
- [MQbot*]
4212
- Parent=Research Projects
4213
- Browser="MQbot"
4214
-
4215
- [OutfoxBot/*]
4216
- Parent=Research Projects
4217
- Browser="OutfoxBot"
4218
-
4219
- [polybot?*]
4220
- Parent=Research Projects
4221
- Browser="Polybot"
4222
-
4223
- [Shim?Crawler*]
4224
- Parent=Research Projects
4225
- Browser="Shim Crawler"
4226
-
4227
- [Steeler/*]
4228
- Parent=Research Projects
4229
- Browser="Steeler"
4230
-
4231
- [Taiga web spider]
4232
- Parent=Research Projects
4233
- Browser="Taiga"
4234
-
4235
- [Theme Spider*]
4236
- Parent=Research Projects
4237
- Browser="Theme Spider"
4238
-
4239
- [UofTDB_experiment* (leehyun@cs.toronto.edu)]
4240
- Parent=Research Projects
4241
- Browser="UofTDB Experiment"
4242
-
4243
- [USyd-NLP-Spider*]
4244
- Parent=Research Projects
4245
- Browser="USyd-NLP-Spider"
4246
-
4247
- [woriobot*]
4248
- Parent=Research Projects
4249
- Browser="woriobot"
4250
-
4251
- [wwwster/* (Beta, mailto:gue@cis.uni-muenchen.de)]
4252
- Parent=Research Projects
4253
- Browser="wwwster"
4254
- Beta=true
4255
-
4256
- [Zao-Crawler]
4257
- Parent=Research Projects
4258
- Browser="Zao-Crawler"
4259
-
4260
- [Zao/*]
4261
- Parent=Research Projects
4262
- Browser="Zao"
4263
-
4264
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Rippers
4265
-
4266
- [Rippers]
4267
- Parent=DefaultProperties
4268
- Browser="Rippers"
4269
- Frames=true
4270
- IFrames=true
4271
- Tables=true
4272
- isBanned=true
4273
- Crawler=true
4274
-
4275
- [*grub*]
4276
- Parent=Rippers
4277
- Browser="grub"
4278
-
4279
- [*ickHTTP*]
4280
- Parent=Rippers
4281
- Browser="IP*Works"
4282
-
4283
- [*java*]
4284
- Parent=Rippers
4285
-
4286
- [*libwww-perl*]
4287
- Parent=Rippers
4288
- Browser="libwww-perl"
4289
-
4290
- [*WebGrabber*]
4291
- Parent=Rippers
4292
-
4293
- [*WinHttpRequest*]
4294
- Parent=Rippers
4295
- Browser="WinHttp"
4296
-
4297
- [3D-FTP/*]
4298
- Parent=Rippers
4299
- Browser="3D-FTP"
4300
-
4301
- [3wGet/*]
4302
- Parent=Rippers
4303
- Browser="3wGet"
4304
-
4305
- [ActiveRefresh*]
4306
- Parent=Rippers
4307
- Browser="ActiveRefresh"
4308
-
4309
- [Ad Muncher*]
4310
- Parent=Rippers
4311
- Browser="Ad Muncher"
4312
-
4313
- [Artera (Version *)]
4314
- Parent=Rippers
4315
- Browser="Artera"
4316
-
4317
- [AutoHotkey]
4318
- Parent=Rippers
4319
- Browser="AutoHotkey"
4320
-
4321
- [b2w/*]
4322
- Parent=Rippers
4323
- Browser="b2w"
4324
-
4325
- [BasicHTTP/*]
4326
- Parent=Rippers
4327
- Browser="BasicHTTP"
4328
-
4329
- [BlockNote.Net]
4330
- Parent=Rippers
4331
- Browser="BlockNote.Net"
4332
-
4333
- [CAST]
4334
- Parent=Rippers
4335
- Browser="CAST"
4336
-
4337
- [CFNetwork/*]
4338
- Parent=Rippers
4339
- Browser="CFNetwork"
4340
-
4341
- [CFSCHEDULE*]
4342
- Parent=Rippers
4343
- Browser="ColdFusion Task Scheduler"
4344
-
4345
- [CobWeb/*]
4346
- Parent=Rippers
4347
- Browser="CobWeb"
4348
-
4349
- [ColdFusion*]
4350
- Parent=Rippers
4351
- Browser="ColdFusion"
4352
-
4353
- [Crawl_Application]
4354
- Parent=Rippers
4355
- Browser="Crawl_Application"
4356
-
4357
- [CTerm/*]
4358
- Parent=Rippers
4359
- Browser="CTerm"
4360
-
4361
- [curl*]
4362
- Parent=Rippers
4363
- Browser="cURL"
4364
-
4365
- [Custo*]
4366
- Parent=Rippers
4367
- Browser="Custo"
4368
-
4369
- [DataCha0s/*]
4370
- Parent=Rippers
4371
- Browser="DataCha0s"
4372
-
4373
- [DeepIndexer*]
4374
- Parent=Rippers
4375
- Browser="DeepIndexer"
4376
-
4377
- [DISCo Pump *]
4378
- Parent=Rippers
4379
- Browser="DISCo Pump"
4380
-
4381
- [eStyleSearch * (compatible; MSIE 6.0; Windows NT 5.0)]
4382
- Parent=Rippers
4383
- Browser="eStyleSearch"
4384
- Win32=true
4385
-
4386
- [ezic.com http agent *]
4387
- Parent=Rippers
4388
- Browser="Ezic.com"
4389
-
4390
- [fetch libfetch/*]
4391
- Parent=Rippers
4392
-
4393
- [FGet*]
4394
- Parent=Rippers
4395
- Browser="FGet"
4396
-
4397
- [Flaming AttackBot*]
4398
- Parent=Rippers
4399
- Browser="Flaming AttackBot"
4400
-
4401
- [Foobot*]
4402
- Parent=Rippers
4403
- Browser="Foobot"
4404
-
4405
- [GameSpyHTTP/*]
4406
- Parent=Rippers
4407
- Browser="GameSpyHTTP"
4408
-
4409
- [gnome-vfs/*]
4410
- Parent=Rippers
4411
- Browser="gnome-vfs"
4412
-
4413
- [Harvest/*]
4414
- Parent=Rippers
4415
- Browser="Harvest"
4416
-
4417
- [hcat/*]
4418
- Parent=Rippers
4419
- Browser="hcat"
4420
-
4421
- [HLoader]
4422
- Parent=Rippers
4423
- Browser="HLoader"
4424
-
4425
- [Holmes/*]
4426
- Parent=Rippers
4427
- Browser="Holmes"
4428
-
4429
- [HTMLParser/*]
4430
- Parent=Rippers
4431
- Browser="HTMLParser"
4432
-
4433
- [http generic]
4434
- Parent=Rippers
4435
- Browser="http generic"
4436
-
4437
- [http://arachnode.net*]
4438
- Parent=Rippers
4439
- Browser="arachnode"
4440
-
4441
- [httpclient*]
4442
- Parent=Rippers
4443
-
4444
- [httperf/*]
4445
- Parent=Rippers
4446
- Browser="httperf"
4447
-
4448
- [HTTPFetch/*]
4449
- Parent=Rippers
4450
- Browser="HTTPFetch"
4451
-
4452
- [HTTPGrab]
4453
- Parent=Rippers
4454
- Browser="HTTPGrab"
4455
-
4456
- [HttpSession]
4457
- Parent=Rippers
4458
- Browser="HttpSession"
4459
-
4460
- [httpunit/*]
4461
- Parent=Rippers
4462
- Browser="HttpUnit"
4463
-
4464
- [ICE_GetFile]
4465
- Parent=Rippers
4466
- Browser="ICE_GetFile"
4467
-
4468
- [iexplore.exe]
4469
- Parent=Rippers
4470
-
4471
- [Inet - Eureka App]
4472
- Parent=Rippers
4473
- Browser="Inet - Eureka App"
4474
-
4475
- [INetURL/*]
4476
- Parent=Rippers
4477
- Browser="INetURL"
4478
-
4479
- [InetURL:/*]
4480
- Parent=Rippers
4481
- Browser="InetURL"
4482
-
4483
- [Internet Exploiter/*]
4484
- Parent=Rippers
4485
-
4486
- [Internet Explore *]
4487
- Parent=Rippers
4488
- Browser="Fake IE"
4489
-
4490
- [Internet Explorer *]
4491
- Parent=Rippers
4492
- Browser="Fake IE"
4493
-
4494
- [IP*Works!*/*]
4495
- Parent=Rippers
4496
- Browser="IP*Works!"
4497
-
4498
- [IrssiUrlLog/*]
4499
- Parent=Rippers
4500
- Browser="IrssiUrlLog"
4501
-
4502
- [JPluck/*]
4503
- Parent=Rippers
4504
- Browser="JPluck"
4505
-
4506
- [Kapere (http://www.kapere.com)]
4507
- Parent=Rippers
4508
- Browser="Kapere"
4509
-
4510
- [LeechFTP]
4511
- Parent=Rippers
4512
- Browser="LeechFTP"
4513
-
4514
- [LeechGet*]
4515
- Parent=Rippers
4516
- Browser="LeechGet"
4517
-
4518
- [libcurl-agent/*]
4519
- Parent=Rippers
4520
- Browser="libcurl"
4521
-
4522
- [libWeb/clsHTTP*]
4523
- Parent=Rippers
4524
- Browser="libWeb/clsHTTP"
4525
-
4526
- [lwp*]
4527
- Parent=Rippers
4528
-
4529
- [MFC_Tear_Sample]
4530
- Parent=Rippers
4531
- Browser="MFC_Tear_Sample"
4532
-
4533
- [Moozilla]
4534
- Parent=Rippers
4535
- Browser="Moozilla"
4536
-
4537
- [MovableType/*]
4538
- Parent=Rippers
4539
- Browser="MovableType Web Log"
4540
-
4541
- [Mozilla/2.0 (compatible; NEWT ActiveX; Win32)]
4542
- Parent=Rippers
4543
- Browser="NEWT ActiveX"
4544
- Platform=Win32
4545
-
4546
- [Mozilla/3.0 (compatible)]
4547
- Parent=Rippers
4548
-
4549
- [Mozilla/3.0 (compatible; Indy Library)]
4550
- Parent=Rippers
4551
- Cookies=true
4552
-
4553
- [Mozilla/3.01 (compatible;)]
4554
- Parent=Rippers
4555
-
4556
- [Mozilla/4.0 (compatible; BorderManager*)]
4557
- Parent=Rippers
4558
- Browser="Novell BorderManager"
4559
-
4560
- [Mozilla/4.0 (compatible;)]
4561
- Parent=Rippers
4562
-
4563
- [Mozilla/5.0 (compatible; IPCheck Server Monitor*)]
4564
- Parent=Rippers
4565
- Browser="IPCheck Server Monitor"
4566
-
4567
- [OCN-SOC/*]
4568
- Parent=Rippers
4569
- Browser="OCN-SOC"
4570
-
4571
- [Offline Explorer*]
4572
- Parent=Rippers
4573
- Browser="Offline Explorer"
4574
-
4575
- [Open Web Analytics Bot*]
4576
- Parent=Rippers
4577
- Browser="Open Web Analytics Bot"
4578
-
4579
- [OSSProxy*]
4580
- Parent=Rippers
4581
- Browser="OSSProxy"
4582
-
4583
- [Pageload*]
4584
- Parent=Rippers
4585
- Browser="PageLoad"
4586
-
4587
- [PageNest/*]
4588
- Parent=Rippers
4589
- Browser="PageNest"
4590
-
4591
- [pavuk/*]
4592
- Parent=Rippers
4593
- Browser="Pavuk"
4594
-
4595
- [PEAR HTTP_Request*]
4596
- Parent=Rippers
4597
- Browser="PEAR-PHP"
4598
-
4599
- [PHP*]
4600
- Parent=Rippers
4601
- Browser="PHP"
4602
-
4603
- [PigBlock (Windows NT 5.1; U)*]
4604
- Parent=Rippers
4605
- Browser="PigBlock"
4606
- Win32=true
4607
-
4608
- [Pockey*]
4609
- Parent=Rippers
4610
- Browser="Pockey-GetHTML"
4611
-
4612
- [POE-Component-Client-HTTP/*]
4613
- Parent=Rippers
4614
- Browser="POE-Component-Client-HTTP"
4615
-
4616
- [PycURL/*]
4617
- Parent=Rippers
4618
- Browser="PycURL"
4619
-
4620
- [Python*]
4621
- Parent=Rippers
4622
- Browser="Python"
4623
-
4624
- [RepoMonkey*]
4625
- Parent=Rippers
4626
- Browser="RepoMonkey"
4627
-
4628
- [SBL-BOT*]
4629
- Parent=Rippers
4630
- Browser="BlackWidow"
4631
-
4632
- [ScoutAbout*]
4633
- Parent=Rippers
4634
- Browser="ScoutAbout"
4635
-
4636
- [sherlock/*]
4637
- Parent=Rippers
4638
- Browser="Sherlock"
4639
-
4640
- [SiteParser/*]
4641
- Parent=Rippers
4642
- Browser="SiteParser"
4643
-
4644
- [SiteSnagger*]
4645
- Parent=Rippers
4646
- Browser="SiteSnagger"
4647
-
4648
- [SiteSucker/*]
4649
- Parent=Rippers
4650
- Browser="SiteSucker"
4651
-
4652
- [SiteWinder*]
4653
- Parent=Rippers
4654
- Browser="SiteWinder"
4655
-
4656
- [Snoopy*]
4657
- Parent=Rippers
4658
- Browser="Snoopy"
4659
-
4660
- [SOFTWING_TEAR_AGENT*]
4661
- Parent=Rippers
4662
- Browser="AspTear"
4663
-
4664
- [SuperHTTP/*]
4665
- Parent=Rippers
4666
- Browser="SuperHTTP"
4667
-
4668
- [Tcl http client package*]
4669
- Parent=Rippers
4670
- Browser="Tcl http client package"
4671
-
4672
- [Twisted PageGetter]
4673
- Parent=Rippers
4674
- Browser="Twisted PageGetter"
4675
-
4676
- [URL2File/*]
4677
- Parent=Rippers
4678
- Browser="URL2File"
4679
-
4680
- [UtilMind HTTPGet]
4681
- Parent=Rippers
4682
- Browser="UtilMind HTTPGet"
4683
-
4684
- [VCI WebViewer*]
4685
- Parent=Rippers
4686
- Browser="VCI WebViewer"
4687
-
4688
- [W3CRobot/*]
4689
- Parent=Rippers
4690
- Browser="W3CRobot"
4691
-
4692
- [Web Downloader*]
4693
- Parent=Rippers
4694
- Browser="Web Downloader"
4695
-
4696
- [Web Downloader/*]
4697
- Parent=Rippers
4698
- Browser="Web Downloader"
4699
-
4700
- [Web Magnet*]
4701
- Parent=Rippers
4702
- Browser="Web Magnet"
4703
-
4704
- [WebAuto/*]
4705
- Parent=Rippers
4706
-
4707
- [webbandit/*]
4708
- Parent=Rippers
4709
- Browser="webbandit"
4710
-
4711
- [WebCopier*]
4712
- Parent=Rippers
4713
- Browser="WebCopier"
4714
-
4715
- [WebDownloader*]
4716
- Parent=Rippers
4717
- Browser="WebDownloader"
4718
-
4719
- [WebFetch]
4720
- Parent=Rippers
4721
- Browser="WebFetch"
4722
-
4723
- [webfetch/*]
4724
- Parent=Rippers
4725
- Browser="WebFetch"
4726
-
4727
- [WebGatherer*]
4728
- Parent=Rippers
4729
- Browser="WebGatherer"
4730
-
4731
- [WebGet]
4732
- Parent=Rippers
4733
- Browser="WebGet"
4734
-
4735
- [WebReaper*]
4736
- Parent=Rippers
4737
- Browser="WebReaper"
4738
-
4739
- [WebRipper]
4740
- Parent=Rippers
4741
- Browser="WebRipper"
4742
-
4743
- [WebSauger*]
4744
- Parent=Rippers
4745
- Browser="WebSauger"
4746
-
4747
- [Website Downloader*]
4748
- Parent=Rippers
4749
- Browser="Website Downloader"
4750
-
4751
- [Website eXtractor*]
4752
- Parent=Rippers
4753
- Browser="Website eXtractor"
4754
-
4755
- [Website Quester]
4756
- Parent=Rippers
4757
- Browser="Website Quester"
4758
-
4759
- [WebsiteExtractor*]
4760
- Parent=Rippers
4761
- Browser="Website eXtractor"
4762
-
4763
- [WebSnatcher*]
4764
- Parent=Rippers
4765
- Browser="WebSnatcher"
4766
-
4767
- [Webster Pro*]
4768
- Parent=Rippers
4769
- Browser="Webster Pro"
4770
-
4771
- [WebStripper*]
4772
- Parent=Rippers
4773
- Browser="WebStripper"
4774
-
4775
- [WebWhacker*]
4776
- Parent=Rippers
4777
- Browser="WebWhacker"
4778
-
4779
- [WinHttp*]
4780
- Parent=Rippers
4781
-
4782
- [WinScripter iNet Tools]
4783
- Parent=Rippers
4784
- Browser="WinScripter iNet Tools"
4785
-
4786
- [WWW-Mechanize/*]
4787
- Parent=Rippers
4788
- Browser="WWW-Mechanize"
4789
-
4790
- [Zend_Http_Client]
4791
- Parent=Rippers
4792
- Browser="Zend_Http_Client"
4793
-
4794
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Site Monitors
4795
-
4796
- [Site Monitors]
4797
- Parent=DefaultProperties
4798
- Browser="Site Monitors"
4799
- Cookies=true
4800
- isBanned=true
4801
- Crawler=true
4802
-
4803
- [*EasyRider*]
4804
- Parent=Site Monitors
4805
- Browser="EasyRider"
4806
-
4807
- [*maxamine.com--robot*]
4808
- Parent=Site Monitors
4809
- Browser="maxamine.com--robot"
4810
- isBanned=true
4811
-
4812
- [*WebMon ?.*]
4813
- Parent=Site Monitors
4814
- Browser="WebMon"
4815
-
4816
- [Kenjin Spider*]
4817
- Parent=Site Monitors
4818
- Browser="Kenjin Spider"
4819
-
4820
- [Kevin http://*]
4821
- Parent=Site Monitors
4822
- Browser="Kevin"
4823
- isBanned=true
4824
-
4825
- [Mozilla/4.0 (compatible; ChangeDetection/*]
4826
- Parent=Site Monitors
4827
- Browser="ChangeDetection"
4828
-
4829
- [Myst Monitor Service v*]
4830
- Parent=Site Monitors
4831
- Browser="Myst Monitor Service"
4832
-
4833
- [Net Probe]
4834
- Parent=Site Monitors
4835
- Browser="Net Probe"
4836
-
4837
- [NetMechanic*]
4838
- Parent=Site Monitors
4839
- Browser="NetMechanic"
4840
-
4841
- [NetReality*]
4842
- Parent=Site Monitors
4843
- Browser="NetReality"
4844
-
4845
- [Pingdom GIGRIB*]
4846
- Parent=Site Monitors
4847
- Browser="Pingdom"
4848
-
4849
- [Site Valet Online*]
4850
- Parent=Site Monitors
4851
- Browser="Site Valet"
4852
- isBanned=true
4853
-
4854
- [SITECHECKER]
4855
- Parent=Site Monitors
4856
- Browser="SITECHECKER"
4857
-
4858
- [sitemonitor@dnsvr.com/*]
4859
- Parent=Site Monitors
4860
- Browser="ZoneEdit Failover Monitor"
4861
- isBanned=false
4862
-
4863
- [UpTime Checker*]
4864
- Parent=Site Monitors
4865
- Browser="UpTime Checker"
4866
-
4867
- [URL Control*]
4868
- Parent=Site Monitors
4869
- Browser="URL Control"
4870
-
4871
- [URL_Access/*]
4872
- Parent=Site Monitors
4873
-
4874
- [URLCHECK]
4875
- Parent=Site Monitors
4876
- Browser="URLCHECK"
4877
-
4878
- [URLy Warning*]
4879
- Parent=Site Monitors
4880
- Browser="URLy Warning"
4881
-
4882
- [Webcheck *]
4883
- Parent=Site Monitors
4884
- Browser="Webcheck"
4885
- Version=1.0
4886
- MajorVer=1
4887
- MinorVer=0
4888
-
4889
- [WebPatrol/*]
4890
- Parent=Site Monitors
4891
- Browser="WebPatrol"
4892
-
4893
- [websitepulse checker/*]
4894
- Parent=Site Monitors
4895
- Browser="websitepulse checker"
4896
-
4897
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Social Bookmarkers
4898
-
4899
- [Social Networking]
4900
- Parent=DefaultProperties
4901
- Browser="Social Bookmarkers"
4902
- Frames=true
4903
- Tables=true
4904
- Cookies=true
4905
- JavaScript=true
4906
-
4907
- [BookmarkBase(2/;http://bookmarkbase.com)]
4908
- Parent=Social Networking
4909
- Browser="BookmarkBase"
4910
-
4911
- [Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)]
4912
- Parent=Social Networking
4913
- Browser="Cocoalicious"
4914
-
4915
- [Mozilla/5.0 (*) Gecko/* Firefox/2.0 OneRiot/1.0 (http://www.oneriot.com) ]
4916
- Parent=Social Networking
4917
- Browser="OneRiot"
4918
- isBanned=true
4919
-
4920
- [Mozilla/5.0 (compatible; FriendFeedBot/0.*; Http://friendfeed.com/about/bot)]
4921
- Parent=Social Networking
4922
- Browser="FriendFeedBot"
4923
-
4924
- [Mozilla/5.0 (compatible; Twitturls; http://twitturls.com)]
4925
- Parent=Social Networking
4926
- Browser="Twitturls"
4927
- isBanned=true
4928
-
4929
- [SocialSpider-Finder/0.*]
4930
- Parent=Social Networking
4931
- Browser="SocialSpider-Finder"
4932
-
4933
- [Twitturly*]
4934
- Parent=Social Networking
4935
- Browser="Twitturly"
4936
- isBanned=true
4937
-
4938
- [WinkBot/*]
4939
- Parent=Social Networking
4940
- Browser="WinkBot"
4941
-
4942
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Translators
4943
-
4944
- [Translators]
4945
- Parent=DefaultProperties
4946
- Browser="Translators"
4947
- Frames=true
4948
- Tables=true
4949
- Cookies=true
4950
-
4951
- [Seram Server]
4952
- Parent=Translators
4953
- Browser="Seram Server"
4954
-
4955
- [TeragramWebcrawler/*]
4956
- Parent=Translators
4957
- Browser="TeragramWebcrawler"
4958
- Version=1.0
4959
- MajorVer=1
4960
- MinorVer=0
4961
-
4962
- [WebIndexer/* (Web Indexer; *)]
4963
- Parent=Translators
4964
- Browser="WorldLingo"
4965
-
4966
- [WebTrans]
4967
- Parent=Translators
4968
- Browser="WebTrans"
4969
-
4970
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Version Checkers
4971
-
4972
- [Version Checkers]
4973
- Parent=DefaultProperties
4974
- Browser="Version Checkers"
4975
- Crawler=true
4976
-
4977
- [Automated Browscap.ini Updater. To report issues contact us at http://www.skycomp.ca]
4978
- Parent=Version Checkers
4979
- Browser="Automated Browscap.ini Updater"
4980
-
4981
- [BMC Link Validator (http://www.briansmodelcars.com/links/)]
4982
- Parent=Version Checkers
4983
- Browser="BMC Link Validator"
4984
- MajorVer=1
4985
- MinorVer=0
4986
- Platform=Win2000
4987
-
4988
- [Browscap Mirror System/1.* (browscap.giantrealm.com)]
4989
- Parent=Version Checkers
4990
- Browser="Browscap Mirror"
4991
-
4992
- [Browscap Mirror v1.30]
4993
- Parent=Version Checkers
4994
- Browser="Browscap Mirror"
4995
-
4996
- [Browscap updater]
4997
- Parent=Version Checkers
4998
- Browser="Browscap updater"
4999
-
5000
- [BrowscapUpdater1.0]
5001
- Parent=Version Checkers
5002
-
5003
- [Browser Capabilities Project (http://browsers.garykeith.com; http://browsers.garykeith.com/sitemail/contact-me.asp)]
5004
- Parent=Version Checkers
5005
- Browser="Gary Keith's Version Checker"
5006
-
5007
- [Browser Capabilities Project AutoDownloader; created by Tom Kelleher Consulting, Inc. (tkelleher.com); used with special permission from Gary Joel Keith; uses Microsoft's WinHTTP component]
5008
- Parent=Version Checkers
5009
- Browser="TKC AutoDownloader"
5010
-
5011
- [browsers.garykeith.com browscap.ini bot BETA]
5012
- Parent=Version Checkers
5013
-
5014
- [Code Sample Web Client]
5015
- Parent=Version Checkers
5016
- Browser="Code Sample Web Client"
5017
-
5018
- [Desktop Sidebar*]
5019
- Parent=Version Checkers
5020
- Browser="Desktop Sidebar"
5021
- isBanned=true
5022
-
5023
- [Mono Browser Capabilities Updater*]
5024
- Parent=Version Checkers
5025
- Browser="Mono Browser Capabilities Updater"
5026
- isBanned=true
5027
-
5028
- [PHP Browser Capabilities Project/0.7 socket]
5029
- Parent=Version Checkers
5030
- Browser="PHP Browser Capabilities Project"
5031
-
5032
- [Rewmi/*]
5033
- Parent=Version Checkers
5034
- isBanned=true
5035
-
5036
- [Subtext Version 1.9* - http://subtextproject.com/ (Microsoft Windows NT 5.2.*)]
5037
- Parent=Version Checkers
5038
- Browser="Subtext"
5039
-
5040
- [TherapeuticResearch]
5041
- Parent=Version Checkers
5042
- Browser="TherapeuticResearch"
5043
-
5044
- [UpdateBrowscap*]
5045
- Parent=Version Checkers
5046
- Browser="UpdateBrowscap"
5047
-
5048
- [www.garykeith.com browscap.ini bot*]
5049
- Parent=Version Checkers
5050
- Browser="clarkson.edu "
5051
-
5052
- [www.substancia.com AutoHTTPAgent (ver *)]
5053
- Parent=Version Checkers
5054
- Browser="Subst�ncia"
5055
-
5056
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; W3C
5057
-
5058
- [W3C]
5059
- Parent=DefaultProperties
5060
- Browser="W3C"
5061
- Crawler=true
5062
-
5063
- [Jigsaw/* W3C_CSS_Validator*/*]
5064
- Parent=W3C
5065
- Browser="W3C CSS Validator"
5066
-
5067
- [W3C-checklink/*]
5068
- Parent=W3C
5069
- Browser="W3C Link Checker"
5070
-
5071
- [W3C-mobileOK/DDC-*]
5072
- Parent=W3C
5073
- Browser="W3C Mobile Validator"
5074
- isMobileDevice=true
5075
-
5076
- [W3C-WebCon/*]
5077
- Parent=W3C
5078
- Browser="W3C WebCon"
5079
-
5080
- [W3C_Validator/*]
5081
- Parent=W3C
5082
- Browser="W3C Validator"
5083
-
5084
- [W3CLineMode/*]
5085
- Parent=W3C
5086
- Browser="W3C LineMode"
5087
-
5088
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Become
5089
-
5090
- [Become]
5091
- Parent=DefaultProperties
5092
- Browser="Become"
5093
- Frames=true
5094
- Tables=true
5095
- isSyndicationReader=true
5096
- Crawler=true
5097
-
5098
- [*BecomeBot/*]
5099
- Parent=Become
5100
- Browser="BecomeBot"
5101
-
5102
- [*BecomeBot@exava.com*]
5103
- Parent=Become
5104
- Browser="BecomeBot"
5105
-
5106
- [*Exabot@exava.com*]
5107
- Parent=Become
5108
- Browser="Exabot"
5109
-
5110
- [MonkeyCrawl/*]
5111
- Parent=Become
5112
- Browser="MonkeyCrawl"
5113
-
5114
- [Mozilla/5.0 (compatible; BecomeJPBot/2.3; *)]
5115
- Parent=Become
5116
- Browser="BecomeJPBot"
5117
-
5118
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Blue Coat Systems
5119
-
5120
- [Blue Coat Systems]
5121
- Parent=DefaultProperties
5122
- Browser="Blue Coat Systems"
5123
- isBanned=true
5124
- Crawler=true
5125
-
5126
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Abusers
5127
-
5128
- [Browscap Abusers]
5129
- Parent=DefaultProperties
5130
- Browser="Browscap Abusers"
5131
- isBanned=true
5132
-
5133
- [Apple-PubSub/*]
5134
- Parent=Browscap Abusers
5135
- Browser="Apple-PubSub"
5136
-
5137
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FeedHub
5138
-
5139
- [FeedHub]
5140
- Parent=DefaultProperties
5141
- Browser="FeedHub"
5142
- isSyndicationReader=true
5143
-
5144
- [FeedHub FeedDiscovery/1.0 (http://www.feedhub.com)]
5145
- Parent=FeedHub
5146
- Browser="FeedHub FeedDiscovery"
5147
- Version=1.0
5148
- MajorVer=1
5149
- MinorVer=0
5150
-
5151
- [FeedHub FeedFetcher/1.0 (http://www.feedhub.com)]
5152
- Parent=FeedHub
5153
- Browser="FeedHub FeedFetcher"
5154
- Version=1.0
5155
- MajorVer=1
5156
- MinorVer=0
5157
-
5158
- [FeedHub MetaDataFetcher/1.0 (http://www.feedhub.com)]
5159
- Parent=FeedHub
5160
- Browser="FeedHub MetaDataFetcher"
5161
- Version=1.0
5162
- MajorVer=1
5163
- MinorVer=0
5164
-
5165
- [Internet Content Rating Association]
5166
- Parent=DefaultProperties
5167
- Browser=""
5168
- Frames=true
5169
- IFrames=true
5170
- Tables=true
5171
- Cookies=true
5172
- Crawler=true
5173
-
5174
- [ICRA_label_generator/1.?]
5175
- Parent=Internet Content Rating Association
5176
- Browser="ICRA_label_generator"
5177
-
5178
- [ICRA_Semantic_spider/0.?]
5179
- Parent=Internet Content Rating Association
5180
- Browser="ICRA_Semantic_spider"
5181
-
5182
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NameProtect
5183
-
5184
- [NameProtect]
5185
- Parent=DefaultProperties
5186
- Browser="NameProtect"
5187
- isBanned=true
5188
- Crawler=true
5189
-
5190
- [abot/*]
5191
- Parent=NameProtect
5192
- Browser="NameProtect"
5193
-
5194
- [NP/*]
5195
- Parent=NameProtect
5196
- Browser="NameProtect"
5197
-
5198
- [NPBot*]
5199
- Parent=NameProtect
5200
- Browser="NameProtect"
5201
-
5202
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netcraft
5203
-
5204
- [Netcraft]
5205
- Parent=DefaultProperties
5206
- Browser="Netcraft"
5207
- isBanned=true
5208
- Crawler=true
5209
-
5210
- [*Netcraft Web Server Survey*]
5211
- Parent=Netcraft
5212
- Browser="Netcraft Webserver Survey"
5213
- isBanned=true
5214
-
5215
- [Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; *info@netcraft.com)]
5216
- Parent=Netcraft
5217
- Browser="NetcraftSurveyAgent"
5218
-
5219
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NewsGator
5220
-
5221
- [NewsGator]
5222
- Parent=DefaultProperties
5223
- Browser="NewsGator"
5224
- isSyndicationReader=true
5225
-
5226
- [MarsEdit*]
5227
- Parent=NewsGator
5228
- Browser="MarsEdit"
5229
-
5230
- [NetNewsWire*/*]
5231
- Parent=NewsGator
5232
- Browser="NetNewsWire"
5233
- Platform=MacOSX
5234
-
5235
- [NewsFire/*]
5236
- Parent=NewsGator
5237
- Browser="NewsFire"
5238
-
5239
- [NewsGator FetchLinks extension/*]
5240
- Parent=NewsGator
5241
- Browser="NewsGator FetchLinks"
5242
-
5243
- [NewsGator/*]
5244
- Parent=NewsGator
5245
- Browser="NewsGator"
5246
- isBanned=true
5247
-
5248
- [NewsGatorOnline/*]
5249
- Parent=NewsGator
5250
- Browser="NewsGatorOnline"
5251
-
5252
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.2
5253
-
5254
- [Chrome 0.2]
5255
- Parent=DefaultProperties
5256
- Browser="Chrome"
5257
- Version=0.2
5258
- MinorVer=2
5259
- Beta=true
5260
- Win32=true
5261
- Frames=true
5262
- IFrames=true
5263
- Tables=true
5264
- Cookies=true
5265
- JavaApplets=true
5266
- JavaScript=true
5267
- CssVersion=3
5268
- supportsCSS=true
5269
-
5270
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5271
- Parent=Chrome 0.2
5272
- Platform=WinXP
5273
-
5274
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5275
- Parent=Chrome 0.2
5276
- Platform=Win2003
5277
-
5278
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
5279
- Parent=Chrome 0.2
5280
- Platform=WinVista
5281
-
5282
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.3
5283
-
5284
- [Chrome 0.3]
5285
- Parent=DefaultProperties
5286
- Browser="Chrome"
5287
- Version=0.3
5288
- MinorVer=3
5289
- Beta=true
5290
- Win32=true
5291
- Frames=true
5292
- IFrames=true
5293
- Tables=true
5294
- Cookies=true
5295
- JavaApplets=true
5296
- JavaScript=true
5297
- CssVersion=3
5298
- supportsCSS=true
5299
-
5300
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5301
- Parent=Chrome 0.3
5302
- Platform=WinXP
5303
-
5304
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5305
- Parent=Chrome 0.3
5306
- Platform=Win2003
5307
-
5308
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
5309
- Parent=Chrome 0.3
5310
- Platform=WinVista
5311
-
5312
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.4
5313
-
5314
- [Chrome 0.4]
5315
- Parent=DefaultProperties
5316
- Browser="Chrome"
5317
- Version=0.4
5318
- MinorVer=4
5319
- Win32=true
5320
- Frames=true
5321
- IFrames=true
5322
- Tables=true
5323
- Cookies=true
5324
- JavaApplets=true
5325
- JavaScript=true
5326
- CssVersion=3
5327
- supportsCSS=true
5328
-
5329
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5330
- Parent=Chrome 0.4
5331
- Platform=WinXP
5332
-
5333
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5334
- Parent=Chrome 0.4
5335
- Platform=Win2003
5336
-
5337
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
5338
- Parent=Chrome 0.4
5339
- Platform=WinVista
5340
-
5341
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.5
5342
-
5343
- [Chrome 0.5]
5344
- Parent=DefaultProperties
5345
- Browser="Chrome"
5346
- Version=0.5
5347
- MinorVer=5
5348
- Beta=true
5349
- Win32=true
5350
- Frames=true
5351
- IFrames=true
5352
- Tables=true
5353
- Cookies=true
5354
- JavaApplets=true
5355
- JavaScript=true
5356
- CssVersion=3
5357
- supportsCSS=true
5358
-
5359
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5360
- Parent=Chrome 0.5
5361
- Platform=WinXP
5362
-
5363
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5364
- Parent=Chrome 0.5
5365
- Platform=Win2003
5366
-
5367
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
5368
- Parent=Chrome 0.5
5369
- Platform=WinVista
5370
-
5371
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 1.0
5372
-
5373
- [Chrome 1.0]
5374
- Parent=DefaultProperties
5375
- Browser="Chrome"
5376
- Version=1.0
5377
- MajorVer=1
5378
- Win32=true
5379
- Frames=true
5380
- IFrames=true
5381
- Tables=true
5382
- Cookies=true
5383
- JavaApplets=true
5384
- JavaScript=true
5385
- CssVersion=3
5386
- supportsCSS=true
5387
-
5388
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5389
- Parent=Chrome 1.0
5390
- Platform=WinXP
5391
-
5392
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5393
- Parent=Chrome 1.0
5394
- Platform=Win2003
5395
-
5396
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5397
- Parent=Chrome 1.0
5398
- Platform=WinVista
5399
-
5400
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5401
- Parent=Chrome 1.0
5402
- Platform=Win7
5403
-
5404
- [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
5405
- Parent=Chrome 1.0
5406
- Platform=Win7
5407
-
5408
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 2.0
5409
-
5410
- [Chrome 2.0]
5411
- Parent=DefaultProperties
5412
- Browser="Chrome"
5413
- Version=2.0
5414
- MajorVer=2
5415
- Win32=true
5416
- Frames=true
5417
- IFrames=true
5418
- Tables=true
5419
- Cookies=true
5420
- JavaApplets=true
5421
- JavaScript=true
5422
- CssVersion=3
5423
- supportsCSS=true
5424
-
5425
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5426
- Parent=Chrome 2.0
5427
- Platform=WinXP
5428
-
5429
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5430
- Parent=Chrome 2.0
5431
- Platform=Win2003
5432
-
5433
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5434
- Parent=Chrome 2.0
5435
- Platform=WinVista
5436
-
5437
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5438
- Parent=Chrome 2.0
5439
- Platform=Win7
5440
-
5441
- [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5442
- Parent=Chrome 2.0
5443
- Platform=Win7
5444
-
5445
- [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
5446
- Parent=Chrome 2.0
5447
- Platform=Linux
5448
-
5449
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 3.0
5450
-
5451
- [Chrome 3.0]
5452
- Parent=DefaultProperties
5453
- Browser="Chrome"
5454
- Version=3.0
5455
- MajorVer=3
5456
- Win32=true
5457
- Frames=true
5458
- IFrames=true
5459
- Tables=true
5460
- Cookies=true
5461
- JavaApplets=true
5462
- JavaScript=true
5463
- CssVersion=3
5464
- supportsCSS=true
5465
-
5466
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5467
- Parent=Chrome 3.0
5468
- Platform=WinXP
5469
-
5470
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5471
- Parent=Chrome 3.0
5472
- Platform=Win2003
5473
-
5474
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5475
- Parent=Chrome 3.0
5476
- Platform=WinVista
5477
-
5478
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5479
- Parent=Chrome 3.0
5480
- Platform=Win7
5481
-
5482
- [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5483
- Parent=Chrome 3.0
5484
- Platform=Win7
5485
-
5486
- [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
5487
- Parent=Chrome 3.0
5488
- Platform=Linux
5489
-
5490
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 4.0
5491
-
5492
- [Chrome 4.0]
5493
- Parent=DefaultProperties
5494
- Browser="Chrome"
5495
- Version=4.0
5496
- MajorVer=4
5497
- Beta=true
5498
- Win32=true
5499
- Frames=true
5500
- IFrames=true
5501
- Tables=true
5502
- Cookies=true
5503
- JavaApplets=true
5504
- JavaScript=true
5505
- CssVersion=3
5506
- supportsCSS=true
5507
-
5508
- [Mozilla/5.0 (Macintosh; U; Intel Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5509
- Parent=Chrome 4.0
5510
- Platform=MacOSX
5511
-
5512
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5513
- Parent=Chrome 4.0
5514
- Platform=WinXP
5515
-
5516
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5517
- Parent=Chrome 4.0
5518
- Platform=Win2003
5519
-
5520
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5521
- Parent=Chrome 4.0
5522
- Platform=WinVista
5523
-
5524
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5525
- Parent=Chrome 4.0
5526
- Platform=Win7
5527
-
5528
- [Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5529
- Parent=Chrome 4.0
5530
- Platform=Win7
5531
-
5532
- [Mozilla/5.0 (X11; U; Linux i686*; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5533
- Parent=Chrome 4.0
5534
- Platform=Linux
5535
-
5536
- [Mozilla/5.0 (X11; U; Linux x86_64; *) AppleWebKit/* (KHTML, like Gecko) Chrome/4.0.* Safari/*]
5537
- Parent=Chrome 4.0
5538
- Win32=false
5539
- Win64=true
5540
-
5541
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Code
5542
-
5543
- [Google Code]
5544
- Parent=DefaultProperties
5545
- Browser="Google Code"
5546
- Tables=true
5547
- Cookies=true
5548
- JavaApplets=true
5549
-
5550
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.2
5551
-
5552
- [Iron 0.2]
5553
- Parent=DefaultProperties
5554
- Browser="Iron"
5555
- Version=0.2
5556
- MinorVer=2
5557
- Win32=true
5558
- Frames=true
5559
- IFrames=true
5560
- Tables=true
5561
- Cookies=true
5562
- JavaApplets=true
5563
- JavaScript=true
5564
- CssVersion=3
5565
- supportsCSS=true
5566
-
5567
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5568
- Parent=Iron 0.2
5569
- Platform=WinXP
5570
-
5571
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5572
- Parent=Iron 0.2
5573
- Platform=Win2003
5574
-
5575
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5576
- Parent=Iron 0.2
5577
- Platform=WinVista
5578
-
5579
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
5580
- Parent=Iron 0.2
5581
- Platform=Win7
5582
-
5583
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.3
5584
-
5585
- [Iron 0.3]
5586
- Parent=DefaultProperties
5587
- Browser="Iron"
5588
- Version=0.3
5589
- MinorVer=3
5590
- Win32=true
5591
- Frames=true
5592
- IFrames=true
5593
- Tables=true
5594
- Cookies=true
5595
- JavaApplets=true
5596
- JavaScript=true
5597
- CssVersion=3
5598
- supportsCSS=true
5599
-
5600
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5601
- Parent=Iron 0.3
5602
- Platform=WinXP
5603
-
5604
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5605
- Parent=Iron 0.3
5606
- Platform=Win2003
5607
-
5608
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5609
- Parent=Iron 0.3
5610
- Platform=WinVista
5611
-
5612
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
5613
- Parent=Iron 0.3
5614
- Platform=Win7
5615
-
5616
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.4
5617
-
5618
- [Iron 0.4]
5619
- Parent=DefaultProperties
5620
- Browser="Iron"
5621
- Version=0.4
5622
- MinorVer=4
5623
- Win32=true
5624
- Frames=true
5625
- IFrames=true
5626
- Tables=true
5627
- Cookies=true
5628
- JavaApplets=true
5629
- JavaScript=true
5630
- CssVersion=3
5631
- supportsCSS=true
5632
-
5633
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5634
- Parent=Iron 0.4
5635
- Platform=WinXP
5636
-
5637
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5638
- Parent=Iron 0.4
5639
- Platform=Win2003
5640
-
5641
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5642
- Parent=Iron 0.4
5643
- Platform=WinVista
5644
-
5645
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
5646
- Parent=Iron 0.4
5647
- Platform=Win7
5648
-
5649
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 1.0
5650
-
5651
- [Iron 1.0]
5652
- Parent=DefaultProperties
5653
- Browser="Iron"
5654
- Version=1.0
5655
- MajorVer=1
5656
- Win32=true
5657
- Frames=true
5658
- IFrames=true
5659
- Tables=true
5660
- Cookies=true
5661
- JavaApplets=true
5662
- JavaScript=true
5663
- CssVersion=3
5664
- supportsCSS=true
5665
-
5666
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5667
- Parent=Iron 1.0
5668
- Platform=WinXP
5669
-
5670
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5671
- Parent=Iron 1.0
5672
- Platform=Win2003
5673
-
5674
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5675
- Parent=Iron 1.0
5676
- Platform=WinVista
5677
-
5678
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/1.0.* Safari/*]
5679
- Parent=Iron 1.0
5680
- Platform=Win7
5681
-
5682
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 2.0
5683
-
5684
- [Iron 2.0]
5685
- Parent=DefaultProperties
5686
- Browser="Iron"
5687
- Version=2.0
5688
- MajorVer=2
5689
- Win32=true
5690
- Frames=true
5691
- IFrames=true
5692
- Tables=true
5693
- Cookies=true
5694
- JavaApplets=true
5695
- JavaScript=true
5696
- CssVersion=3
5697
- supportsCSS=true
5698
-
5699
- [Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5700
- Parent=Iron 2.0
5701
- Platform=WinXP
5702
-
5703
- [Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5704
- Parent=Iron 2.0
5705
- Platform=Win2003
5706
-
5707
- [Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5708
- Parent=Iron 2.0
5709
- Platform=WinVista
5710
-
5711
- [Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/2.0.* Safari/*]
5712
- Parent=Iron 2.0
5713
- Platform=Win7
5714
-
5715
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Media Players
5716
-
5717
- [Media Players]
5718
- Parent=DefaultProperties
5719
- Browser="Media Players"
5720
- Cookies=true
5721
-
5722
- [Microsoft NetShow(TM) Player with RealVideo(R)]
5723
- Parent=Media Players
5724
- Browser="Microsoft NetShow"
5725
-
5726
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; *) AppleWebKit/* RealPlayer]
5727
- Parent=Media Players
5728
- Browser="RealPlayer"
5729
- Platform=MacOSX
5730
-
5731
- [MPlayer 0.9*]
5732
- Parent=Media Players
5733
- Browser="MPlayer"
5734
- Version=0.9
5735
- MajorVer=0
5736
- MinorVer=9
5737
-
5738
- [MPlayer 1.*]
5739
- Parent=Media Players
5740
- Browser="MPlayer"
5741
- Version=1.0
5742
- MajorVer=1
5743
- MinorVer=0
5744
-
5745
- [MPlayer HEAD CVS]
5746
- Parent=Media Players
5747
- Browser="MPlayer"
5748
-
5749
- [RealPlayer*]
5750
- Parent=Media Players
5751
- Browser="RealPlayer"
5752
-
5753
- [RMA/*]
5754
- Parent=Media Players
5755
- Browser="RMA"
5756
-
5757
- [VLC media player*]
5758
- Parent=Media Players
5759
- Browser="VLC"
5760
-
5761
- [vobsub]
5762
- Parent=Media Players
5763
- Browser="vobsub"
5764
- isBanned=true
5765
-
5766
- [WinampMPEG/*]
5767
- Parent=Media Players
5768
- Browser="WinAmp"
5769
-
5770
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Microsoft Zune
5771
-
5772
- [Microsoft Zune]
5773
- Parent=DefaultProperties
5774
- Browser=""
5775
- Cookies=true
5776
-
5777
- [Mozilla/4.0 (compatible; MSIE ?.0; Microsoft ZuneHD 4.*)]
5778
- Parent=Microsoft Zune
5779
- Version=4.0
5780
- MajorVer=4
5781
- MinorVer=0
5782
-
5783
- [Mozilla/4.0 (compatible; ZuneHD 4.*)]
5784
- Parent=Microsoft Zune
5785
- Browser="ZuneHD"
5786
- Version=4
5787
- MajorVer=4
5788
-
5789
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nintendo
5790
-
5791
- [Nintendo Wii]
5792
- Parent=DefaultProperties
5793
- Browser=""
5794
- isMobileDevice=true
5795
-
5796
- [Opera/* (Nintendo DSi; Opera/*; *; *)]
5797
- Parent=Nintendo Wii
5798
- Browser="DSi"
5799
-
5800
- [Opera/* (Nintendo Wii; U; *)]
5801
- Parent=Nintendo Wii
5802
- Browser="Wii"
5803
-
5804
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Windows Media Player
5805
-
5806
- [Windows Media Player]
5807
- Parent=DefaultProperties
5808
- Browser="Windows Media Player"
5809
- Cookies=true
5810
-
5811
- [NSPlayer/10.*]
5812
- Parent=Windows Media Player
5813
- Version=10.0
5814
- MajorVer=10
5815
- MinorVer=0
5816
-
5817
- [NSPlayer/11.*]
5818
- Parent=Windows Media Player
5819
- Browser="Windows Media Player"
5820
- Version=11.0
5821
- MajorVer=11
5822
- MinorVer=0
5823
-
5824
- [NSPlayer/4.*]
5825
- Parent=Windows Media Player
5826
- Browser="Windows Media Player"
5827
- Version=4.0
5828
- MajorVer=4
5829
- MinorVer=0
5830
-
5831
- [NSPlayer/7.*]
5832
- Parent=Windows Media Player
5833
- Browser="Windows Media Player"
5834
- Version=7.0
5835
- MajorVer=7
5836
- MinorVer=0
5837
-
5838
- [NSPlayer/8.*]
5839
- Parent=Windows Media Player
5840
- Browser="Windows Media Player"
5841
- Version=8.0
5842
- MajorVer=8
5843
- MinorVer=0
5844
-
5845
- [NSPlayer/9.*]
5846
- Parent=Windows Media Player
5847
- Browser="Windows Media Player"
5848
- Version=9.0
5849
- MajorVer=9
5850
- MinorVer=0
5851
-
5852
- [Windows-Media-Player/10.*]
5853
- Parent=Windows Media Player
5854
- Browser="Windows-Media-Player"
5855
- Version=10.0
5856
- MajorVer=10
5857
- MinorVer=0
5858
- Win32=true
5859
-
5860
- [Windows-Media-Player/11.*]
5861
- Parent=Windows Media Player
5862
- Version=11.0
5863
- MajorVer=11
5864
- MinorVer=0
5865
- Win32=true
5866
-
5867
- [Windows-Media-Player/7.*]
5868
- Parent=Windows Media Player
5869
- Browser="Windows Media Player"
5870
- Version=7.0
5871
- MajorVer=7
5872
- MinorVer=0
5873
- Win32=true
5874
-
5875
- [Windows-Media-Player/8.*]
5876
- Parent=Windows Media Player
5877
- Browser="Windows Media Player"
5878
- Version=8.0
5879
- MajorVer=8
5880
- MinorVer=0
5881
- Win32=true
5882
-
5883
- [Windows-Media-Player/9.*]
5884
- Parent=Windows Media Player
5885
- Version=9.0
5886
- MajorVer=9
5887
- MinorVer=0
5888
- Win32=true
5889
-
5890
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.0
5891
-
5892
- [QuickTime 7.0]
5893
- Parent=DefaultProperties
5894
- Browser="QuickTime"
5895
- Version=7.0
5896
- MajorVer=7
5897
- Cookies=true
5898
-
5899
- [QuickTime (qtver=7.0*;cpu=PPC;os=Mac 10.*)]
5900
- Parent=QuickTime 7.0
5901
- Platform=MacOSX
5902
-
5903
- [QuickTime (qtver=7.0*;cpu=PPC;os=Mac 9.*)]
5904
- Parent=QuickTime 7.0
5905
- Platform=MacPPC
5906
-
5907
- [QuickTime (qtver=7.0*;os=Windows 95*)]
5908
- Parent=QuickTime 7.0
5909
- Platform=Win95
5910
- Win32=true
5911
-
5912
- [QuickTime (qtver=7.0*;os=Windows 98*)]
5913
- Parent=QuickTime 7.0
5914
- Platform=Win98
5915
- Win32=true
5916
-
5917
- [QuickTime (qtver=7.0*;os=Windows Me*)]
5918
- Parent=QuickTime 7.0
5919
- Platform=WinME
5920
- Win32=true
5921
-
5922
- [QuickTime (qtver=7.0*;os=Windows NT 4.0*)]
5923
- Parent=QuickTime 7.0
5924
- Platform=WinNT
5925
- Win32=true
5926
-
5927
- [QuickTime (qtver=7.0*;os=Windows NT 5.0*)]
5928
- Parent=QuickTime 7.0
5929
- Platform=Win2000
5930
- Win32=true
5931
-
5932
- [QuickTime (qtver=7.0*;os=Windows NT 5.1*)]
5933
- Parent=QuickTime 7.0
5934
- Platform=WinXP
5935
- Win32=true
5936
-
5937
- [QuickTime (qtver=7.0*;os=Windows NT 5.2*)]
5938
- Parent=QuickTime 7.0
5939
- Platform=Win2003
5940
- Win32=true
5941
-
5942
- [QuickTime/7.0.* (qtver=7.0.*;*;os=Mac 10.*)*]
5943
- Parent=QuickTime 7.0
5944
- Platform=MacOSX
5945
-
5946
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.1
5947
-
5948
- [QuickTime 7.1]
5949
- Parent=DefaultProperties
5950
- Browser="QuickTime"
5951
- Version=7.1
5952
- MajorVer=7
5953
- MinorVer=1
5954
- Cookies=true
5955
-
5956
- [QuickTime (qtver=7.1*;cpu=PPC;os=Mac 10.*)]
5957
- Parent=QuickTime 7.1
5958
- Platform=MacOSX
5959
-
5960
- [QuickTime (qtver=7.1*;cpu=PPC;os=Mac 9.*)]
5961
- Parent=QuickTime 7.1
5962
- Platform=MacPPC
5963
-
5964
- [QuickTime (qtver=7.1*;os=Windows 98*)]
5965
- Parent=QuickTime 7.1
5966
- Platform=Win98
5967
- Win32=true
5968
-
5969
- [QuickTime (qtver=7.1*;os=Windows NT 4.0*)]
5970
- Parent=QuickTime 7.1
5971
- Platform=WinNT
5972
- Win32=true
5973
-
5974
- [QuickTime (qtver=7.1*;os=Windows NT 5.0*)]
5975
- Parent=QuickTime 7.1
5976
- Platform=Win2000
5977
- Win32=true
5978
-
5979
- [QuickTime (qtver=7.1*;os=Windows NT 5.1*)]
5980
- Parent=QuickTime 7.1
5981
- Platform=WinXP
5982
- Win32=true
5983
-
5984
- [QuickTime (qtver=7.1*;os=Windows NT 5.2*)]
5985
- Parent=QuickTime 7.1
5986
- Platform=Win2003
5987
- Win32=true
5988
-
5989
- [QuickTime/7.1.* (qtver=7.1.*;*;os=Mac 10.*)*]
5990
- Parent=QuickTime 7.1
5991
- Platform=MacOSX
5992
-
5993
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.2
5994
-
5995
- [QuickTime 7.2]
5996
- Parent=DefaultProperties
5997
- Browser="QuickTime"
5998
- Version=7.2
5999
- MajorVer=7
6000
- MinorVer=2
6001
- Platform=MacOSX
6002
- Cookies=true
6003
-
6004
- [QuickTime (qtver=7.2*;cpu=PPC;os=Mac 10.*)]
6005
- Parent=QuickTime 7.2
6006
- Platform=MacOSX
6007
-
6008
- [QuickTime (qtver=7.2*;cpu=PPC;os=Mac 9.*)]
6009
- Parent=QuickTime 7.2
6010
- Platform=MacPPC
6011
-
6012
- [QuickTime (qtver=7.2*;os=Windows 98*)]
6013
- Parent=QuickTime 7.2
6014
- Platform=Win98
6015
- Win32=true
6016
-
6017
- [QuickTime (qtver=7.2*;os=Windows NT 4.0*)]
6018
- Parent=QuickTime 7.2
6019
- Platform=WinNT
6020
- Win32=true
6021
-
6022
- [QuickTime (qtver=7.2*;os=Windows NT 5.0*)]
6023
- Parent=QuickTime 7.2
6024
- Platform=Win2000
6025
- Win32=true
6026
-
6027
- [QuickTime (qtver=7.2*;os=Windows NT 5.1*)]
6028
- Parent=QuickTime 7.2
6029
- Platform=WinXP
6030
- Win32=true
6031
-
6032
- [QuickTime (qtver=7.2*;os=Windows NT 5.2*)]
6033
- Parent=QuickTime 7.2
6034
- Platform=Win2003
6035
- Win32=true
6036
-
6037
- [QuickTime/7.2.* (qtver=7.2.*;*;os=Mac 10.*)*]
6038
- Parent=QuickTime 7.2
6039
- Platform=MacOSX
6040
-
6041
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.3
6042
-
6043
- [QuickTime 7.3]
6044
- Parent=DefaultProperties
6045
- Browser="QuickTime"
6046
- Version=7.3
6047
- MajorVer=7
6048
- MinorVer=3
6049
- Platform=MacOSX
6050
- Cookies=true
6051
-
6052
- [QuickTime (qtver=7.3*;cpu=PPC;os=Mac 10.*)]
6053
- Parent=QuickTime 7.3
6054
- Platform=MacOSX
6055
-
6056
- [QuickTime (qtver=7.3*;cpu=PPC;os=Mac 9.*)]
6057
- Parent=QuickTime 7.3
6058
- Platform=MacPPC
6059
-
6060
- [QuickTime (qtver=7.3*;os=Windows 98*)]
6061
- Parent=QuickTime 7.3
6062
- Platform=Win98
6063
- Win32=true
6064
-
6065
- [QuickTime (qtver=7.3*;os=Windows NT 4.0*)]
6066
- Parent=QuickTime 7.3
6067
- Platform=WinNT
6068
- Win32=true
6069
-
6070
- [QuickTime (qtver=7.3*;os=Windows NT 5.0*)]
6071
- Parent=QuickTime 7.3
6072
- Platform=Win2000
6073
- Win32=true
6074
-
6075
- [QuickTime (qtver=7.3*;os=Windows NT 5.1*)]
6076
- Parent=QuickTime 7.3
6077
- Platform=WinXP
6078
- Win32=true
6079
-
6080
- [QuickTime (qtver=7.3*;os=Windows NT 5.2*)]
6081
- Parent=QuickTime 7.3
6082
- Platform=Win2003
6083
- Win32=true
6084
-
6085
- [QuickTime/7.3.* (qtver=7.3.*;*;os=Mac 10.*)*]
6086
- Parent=QuickTime 7.3
6087
- Platform=MacOSX
6088
-
6089
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.4
6090
-
6091
- [QuickTime 7.4]
6092
- Parent=DefaultProperties
6093
- Browser="QuickTime"
6094
- Version=7.4
6095
- MajorVer=7
6096
- MinorVer=4
6097
- Platform=MacOSX
6098
- Cookies=true
6099
-
6100
- [QuickTime (qtver=7.4*;cpu=PPC;os=Mac 10.*)]
6101
- Parent=QuickTime 7.4
6102
- Platform=MacOSX
6103
-
6104
- [QuickTime (qtver=7.4*;cpu=PPC;os=Mac 9.*)]
6105
- Parent=QuickTime 7.4
6106
- Platform=MacPPC
6107
-
6108
- [QuickTime (qtver=7.4*;os=Windows 98*)]
6109
- Parent=QuickTime 7.4
6110
- Platform=Win98
6111
- Win32=true
6112
-
6113
- [QuickTime (qtver=7.4*;os=Windows NT 4.0*)]
6114
- Parent=QuickTime 7.4
6115
- Platform=WinNT
6116
- Win32=true
6117
-
6118
- [QuickTime (qtver=7.4*;os=Windows NT 5.0*)]
6119
- Parent=QuickTime 7.4
6120
- Platform=Win2000
6121
- Win32=true
6122
-
6123
- [QuickTime (qtver=7.4*;os=Windows NT 5.1*)]
6124
- Parent=QuickTime 7.4
6125
- Platform=WinXP
6126
- Win32=true
6127
-
6128
- [QuickTime (qtver=7.4*;os=Windows NT 5.2*)]
6129
- Parent=QuickTime 7.4
6130
- Platform=Win2003
6131
- Win32=true
6132
-
6133
- [QuickTime/7.4.* (qtver=7.4.*;*;os=Mac 10.*)*]
6134
- Parent=QuickTime 7.4
6135
- Platform=MacOSX
6136
-
6137
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Android
6138
-
6139
- [Android]
6140
- Parent=DefaultProperties
6141
- Browser="Android"
6142
- Platform=Android
6143
- Frames=true
6144
- IFrames=true
6145
- Tables=true
6146
- Cookies=true
6147
- JavaApplets=true
6148
- JavaScript=true
6149
- isMobileDevice=true
6150
-
6151
- [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
6152
- Parent=Android
6153
- Browser="Android"
6154
- isMobileDevice=true
6155
-
6156
- [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0.* Mobile Safari/*]
6157
- Parent=Android
6158
- Browser="Android"
6159
- Version=3.0
6160
- MajorVer=3
6161
- MinorVer=0
6162
- isMobileDevice=true
6163
-
6164
- [Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1.* Mobile Safari/*]
6165
- Parent=Android
6166
- Version=3.0
6167
- MajorVer=3
6168
- MinorVer=0
6169
-
6170
- [Mozilla/5.0 (Linux; U; Android 2.0*; *; Droid Build/*) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17]
6171
- Parent=Android
6172
- Browser="Mobile Safari"
6173
- Version=2.0
6174
- MajorVer=2
6175
- MinorVer=0
6176
- CssVersion=3
6177
- supportsCSS=true
6178
-
6179
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BlackBerry
6180
-
6181
- [BlackBerry]
6182
- Parent=DefaultProperties
6183
- Browser="BlackBerry"
6184
- Frames=true
6185
- Tables=true
6186
- Cookies=true
6187
- JavaScript=true
6188
- isMobileDevice=true
6189
-
6190
- [*BlackBerry*]
6191
- Parent=BlackBerry
6192
-
6193
- [*BlackBerrySimulator/*]
6194
- Parent=BlackBerry
6195
-
6196
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Handspring Blazer
6197
-
6198
- [Blazer]
6199
- Parent=DefaultProperties
6200
- Browser="Handspring Blazer"
6201
- Platform=Palm
6202
- Frames=true
6203
- Tables=true
6204
- Cookies=true
6205
- isMobileDevice=true
6206
-
6207
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160]
6208
- Parent=Blazer
6209
- Version=3.0
6210
- MajorVer=3
6211
- MinorVer=0
6212
-
6213
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.0) 16;320x448]
6214
- Parent=Blazer
6215
- Version=4.0
6216
- MajorVer=4
6217
- MinorVer=0
6218
-
6219
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.1) 16;320x320]
6220
- Parent=Blazer
6221
- Version=4.1
6222
- MajorVer=4
6223
- MinorVer=1
6224
-
6225
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.2) 16;320x320]
6226
- Parent=Blazer
6227
- Version=4.2
6228
- MajorVer=4
6229
- MinorVer=2
6230
-
6231
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.4) 16;320x320]
6232
- Parent=Blazer
6233
- Version=4.4
6234
- MajorVer=4
6235
- MinorVer=4
6236
-
6237
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.5) 16;320x320]
6238
- Parent=Blazer
6239
- Version=4.5
6240
- MajorVer=4
6241
- MinorVer=5
6242
-
6243
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DoCoMo
6244
-
6245
- [DoCoMo]
6246
- Parent=DefaultProperties
6247
- Browser="DoCoMo"
6248
- Frames=true
6249
- Tables=true
6250
- Cookies=true
6251
- JavaScript=true
6252
- isMobileDevice=true
6253
-
6254
- [DoCoMo/1.0*]
6255
- Parent=DoCoMo
6256
- Version=1.0
6257
- MajorVer=1
6258
- MinorVer=0
6259
- Platform=WAP
6260
-
6261
- [DoCoMo/2.0*]
6262
- Parent=DoCoMo
6263
- Version=2.0
6264
- MajorVer=2
6265
- MinorVer=0
6266
- Platform=WAP
6267
-
6268
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IEMobile
6269
-
6270
- [IEMobile]
6271
- Parent=DefaultProperties
6272
- Browser="IEMobile"
6273
- Platform=WinCE
6274
- Win32=true
6275
- Frames=true
6276
- IFrames=true
6277
- Tables=true
6278
- Cookies=true
6279
- VBScript=true
6280
- JavaScript=true
6281
- ActiveXControls=true
6282
- isMobileDevice=true
6283
- CssVersion=2
6284
- supportsCSS=true
6285
-
6286
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.*)*]
6287
- Parent=IEMobile
6288
- Version=6.0
6289
- MajorVer=6
6290
- MinorVer=0
6291
-
6292
- [Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.*)*]
6293
- Parent=IEMobile
6294
- Version=7.0
6295
- MajorVer=7
6296
- MinorVer=0
6297
-
6298
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPhone
6299
-
6300
- [iPhone]
6301
- Parent=DefaultProperties
6302
- Browser="iPhone"
6303
- Platform=iPhone OSX
6304
- Frames=true
6305
- IFrames=true
6306
- Tables=true
6307
- Cookies=true
6308
- BackgroundSounds=true
6309
- JavaApplets=true
6310
- JavaScript=true
6311
- isMobileDevice=true
6312
- CssVersion=3
6313
- supportsCSS=true
6314
-
6315
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6316
- Parent=iPhone
6317
- Browser="iPhone Simulator"
6318
- Version=2.0
6319
- MajorVer=2
6320
- MinorVer=0
6321
-
6322
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 3* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6323
- Parent=iPhone
6324
- Version=3.0
6325
- MajorVer=3
6326
- MinorVer=0
6327
-
6328
- [Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 3_1* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6329
- Parent=iPhone
6330
- Version=3.1
6331
- MajorVer=3
6332
- MinorVer=1
6333
-
6334
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6335
- Parent=iPhone
6336
- Version=2.0
6337
- MajorVer=2
6338
- MinorVer=0
6339
-
6340
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *)*]
6341
- Parent=iPhone
6342
- Version=2.0
6343
- MajorVer=2
6344
- MinorVer=0
6345
-
6346
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6347
- Parent=iPhone
6348
- Version=3.0
6349
- MajorVer=3
6350
- MinorVer=0
6351
-
6352
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3* like Mac OS X; *)*]
6353
- Parent=iPhone
6354
- Version=3.0
6355
- MajorVer=3
6356
- MinorVer=0
6357
-
6358
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]
6359
- Parent=iPhone
6360
- Version=3.1
6361
- MajorVer=3
6362
- MinorVer=1
6363
-
6364
- [Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1* like Mac OS X; *)*]
6365
- Parent=iPhone
6366
- Version=3.1
6367
- MajorVer=3
6368
- MinorVer=1
6369
-
6370
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 2_* like Mac OS X; *)*]
6371
- Parent=iPhone
6372
- Browser="iPod Touch"
6373
- Version=2.0
6374
- MajorVer=2
6375
- MinorVer=0
6376
-
6377
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 3* like Mac OS X; *)*]
6378
- Parent=iPhone
6379
- Browser="iPod Touch"
6380
- Version=3.0
6381
- MajorVer=3
6382
- MinorVer=0
6383
-
6384
- [Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1* like Mac OS X; *)*]
6385
- Parent=iPhone
6386
- Version=3.1
6387
- MajorVer=3
6388
- MinorVer=1
6389
-
6390
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KDDI
6391
-
6392
- [KDDI]
6393
- Parent=DefaultProperties
6394
- Browser="KDDI"
6395
- Frames=true
6396
- Tables=true
6397
- Cookies=true
6398
- BackgroundSounds=true
6399
- VBScript=true
6400
- JavaScript=true
6401
- ActiveXControls=true
6402
- isMobileDevice=true
6403
- CssVersion=1
6404
- supportsCSS=true
6405
-
6406
- [KDDI-* UP.Browser/* (GUI) MMP/*]
6407
- Parent=KDDI
6408
-
6409
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Mobile
6410
-
6411
- [Miscellaneous Mobile]
6412
- Parent=DefaultProperties
6413
- Browser=""
6414
- IFrames=true
6415
- Tables=true
6416
- Cookies=true
6417
- JavaScript=true
6418
- isMobileDevice=true
6419
- CssVersion=2
6420
- supportsCSS=true
6421
-
6422
- [Mozilla/5.0 (X11; *; CentOS; *) AppleWebKit/* (KHTML, like Gecko) Bolt/0.* Version/3.0 Safari/*]
6423
- Parent=Miscellaneous Mobile
6424
- Browser="Bolt"
6425
-
6426
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Motorola Internet Browser
6427
-
6428
- [Motorola Internet Browser]
6429
- Parent=DefaultProperties
6430
- Browser="Motorola Internet Browser"
6431
- Frames=true
6432
- Tables=true
6433
- Cookies=true
6434
- isMobileDevice=true
6435
-
6436
- [MOT-*/*]
6437
- Parent=Motorola Internet Browser
6438
-
6439
- [MOT-1*/* UP.Browser/*]
6440
- Parent=Motorola Internet Browser
6441
-
6442
- [MOT-8700_/* UP.Browser/*]
6443
- Parent=Motorola Internet Browser
6444
-
6445
- [MOT-A-0A/* UP.Browser/*]
6446
- Parent=Motorola Internet Browser
6447
-
6448
- [MOT-A-2B/* UP.Browser/*]
6449
- Parent=Motorola Internet Browser
6450
-
6451
- [MOT-A-88/* UP.Browser/*]
6452
- Parent=Motorola Internet Browser
6453
-
6454
- [MOT-C???/* MIB/*]
6455
- Parent=Motorola Internet Browser
6456
-
6457
- [MOT-GATW_/* UP.Browser/*]
6458
- Parent=Motorola Internet Browser
6459
-
6460
- [MOT-L6/* MIB/*]
6461
- Parent=Motorola Internet Browser
6462
-
6463
- [MOT-L7/* MIB/*]
6464
- Parent=Motorola Internet Browser
6465
-
6466
- [MOT-M*/* UP.Browser/*]
6467
- Parent=Motorola Internet Browser
6468
-
6469
- [MOT-MP*/* Mozilla/* (compatible; MSIE *; Windows CE; *)]
6470
- Parent=Motorola Internet Browser
6471
- Win32=true
6472
-
6473
- [MOT-MP*/* Mozilla/4.0 (compatible; MSIE *; Windows CE; *)]
6474
- Parent=Motorola Internet Browser
6475
- Win32=true
6476
-
6477
- [MOT-SAP4_/* UP.Browser/*]
6478
- Parent=Motorola Internet Browser
6479
-
6480
- [MOT-T*/*]
6481
- Parent=Motorola Internet Browser
6482
-
6483
- [MOT-T7*/* MIB/*]
6484
- Parent=Motorola Internet Browser
6485
-
6486
- [MOT-T721*]
6487
- Parent=Motorola Internet Browser
6488
-
6489
- [MOT-TA02/* MIB/*]
6490
- Parent=Motorola Internet Browser
6491
-
6492
- [MOT-V*/*]
6493
- Parent=Motorola Internet Browser
6494
-
6495
- [MOT-V*/* MIB/*]
6496
- Parent=Motorola Internet Browser
6497
-
6498
- [MOT-V*/* UP.Browser/*]
6499
- Parent=Motorola Internet Browser
6500
-
6501
- [MOT-V3/* MIB/*]
6502
- Parent=Motorola Internet Browser
6503
-
6504
- [MOT-V4*/* MIB/*]
6505
- Parent=Motorola Internet Browser
6506
-
6507
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN Mobile Proxy
6508
-
6509
- [MSN Mobile Proxy]
6510
- Parent=DefaultProperties
6511
- Browser="MSN Mobile Proxy"
6512
- Win32=true
6513
- Frames=true
6514
- Tables=true
6515
- Cookies=true
6516
- JavaScript=true
6517
- ActiveXControls=true
6518
- isMobileDevice=true
6519
-
6520
- [Mozilla/* (compatible; MSIE *; Windows*; MSN Mobile Proxy)]
6521
- Parent=MSN Mobile Proxy
6522
-
6523
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetFront
6524
-
6525
- [NetFront]
6526
- Parent=DefaultProperties
6527
- Browser="NetFront"
6528
- Frames=true
6529
- Tables=true
6530
- Cookies=true
6531
- JavaScript=true
6532
- isMobileDevice=true
6533
-
6534
- [*NetFront/*]
6535
- Parent=NetFront
6536
-
6537
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nokia
6538
-
6539
- [Nokia]
6540
- Parent=DefaultProperties
6541
- Browser="Nokia"
6542
- Tables=true
6543
- Cookies=true
6544
- isMobileDevice=true
6545
-
6546
- [*Nokia*/*]
6547
- Parent=Nokia
6548
-
6549
- [Mozilla/* (SymbianOS/*; ?; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
6550
- Parent=Nokia
6551
- Platform=SymbianOS
6552
-
6553
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Openwave Mobile Browser
6554
-
6555
- [Openwave Mobile Browser]
6556
- Parent=DefaultProperties
6557
- Browser="Openwave Mobile Browser"
6558
- Alpha=true
6559
- Win32=true
6560
- Win64=true
6561
- Frames=true
6562
- Tables=true
6563
- Cookies=true
6564
- isMobileDevice=true
6565
-
6566
- [*UP.Browser/*]
6567
- Parent=Openwave Mobile Browser
6568
-
6569
- [*UP.Link/*]
6570
- Parent=Openwave Mobile Browser
6571
-
6572
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mini
6573
-
6574
- [Opera Mini]
6575
- Parent=DefaultProperties
6576
- Browser="Opera Mini"
6577
- Frames=true
6578
- IFrames=true
6579
- Tables=true
6580
- Cookies=true
6581
- JavaScript=true
6582
- isMobileDevice=true
6583
-
6584
- [Opera/* (J2ME/MIDP; Opera Mini/1.0*)*]
6585
- Parent=Opera Mini
6586
- Version=1.0
6587
- MajorVer=1
6588
- MinorVer=0
6589
-
6590
- [Opera/* (J2ME/MIDP; Opera Mini/1.1*)*]
6591
- Parent=Opera Mini
6592
- Version=1.1
6593
- MajorVer=1
6594
- MinorVer=1
6595
-
6596
- [Opera/* (J2ME/MIDP; Opera Mini/1.2*)*]
6597
- Parent=Opera Mini
6598
- Version=1.2
6599
- MajorVer=1
6600
- MinorVer=2
6601
-
6602
- [Opera/* (J2ME/MIDP; Opera Mini/2.0*)*]
6603
- Parent=Opera Mini
6604
- Version=2.0
6605
- MajorVer=2
6606
- MinorVer=0
6607
-
6608
- [Opera/* (J2ME/MIDP; Opera Mini/3.0*)*]
6609
- Parent=Opera Mini
6610
- Version=3.0
6611
- MajorVer=3
6612
- MinorVer=0
6613
-
6614
- [Opera/* (J2ME/MIDP; Opera Mini/3.1*)*]
6615
- Parent=Opera Mini
6616
- Version=3.1
6617
- MajorVer=3
6618
- MinorVer=1
6619
-
6620
- [Opera/* (J2ME/MIDP; Opera Mini/4.0*)*]
6621
- Parent=Opera Mini
6622
- Version=4.0
6623
- MajorVer=4
6624
- MinorVer=0
6625
-
6626
- [Opera/* (J2ME/MIDP; Opera Mini/4.1*)*]
6627
- Parent=Opera Mini
6628
- Version=4.1
6629
- MajorVer=4
6630
- MinorVer=1
6631
-
6632
- [Opera/* (J2ME/MIDP; Opera Mini/4.2*)*]
6633
- Parent=Opera Mini
6634
- Version=4.2
6635
- MajorVer=4
6636
- MinorVer=2
6637
-
6638
- [Opera/* (J2ME/MIDP; Opera Mini/5.0*)*]
6639
- Parent=Opera Mini
6640
- Version=5.0
6641
- MajorVer=5
6642
- MinorVer=0
6643
-
6644
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mobile
6645
-
6646
- [Opera Mobile]
6647
- Parent=DefaultProperties
6648
- Browser="Opera Mobi"
6649
- Frames=true
6650
- Tables=true
6651
- Cookies=true
6652
- isMobileDevice=true
6653
-
6654
- [Opera/9.* (*SymbOS; Opera Mobi/*; U; *) Presto/2.* Version/10.*]
6655
- Parent=Opera Mobile
6656
- Version=10.0
6657
- MajorVer=10
6658
- MinorVer=0
6659
- Platform=SymbianOS
6660
-
6661
- [Opera/9.* (Microsoft Windows; PPC; Opera Mobi/*; U; *)]
6662
- Parent=Opera Mobile
6663
- Version=9.0
6664
- MajorVer=9
6665
- MinorVer=0
6666
- Platform=Win
6667
-
6668
- [Opera/9.* (Windows Mobile; *; Opera Mobi/*; U; *) Presto/2.*]
6669
- Parent=Opera Mobile
6670
- Version=9.0
6671
- MajorVer=9
6672
- MinorVer=0
6673
- Platform=Win
6674
-
6675
- [Opera/9.5 (Microsoft Windows; PPC; *Opera Mobile/*)]
6676
- Parent=Opera Mobile
6677
- Version=9.5
6678
- MajorVer=9
6679
- MinorVer=5
6680
-
6681
- [Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/*)]
6682
- Parent=Opera Mobile
6683
- Version=9.5
6684
- MajorVer=9
6685
- MinorVer=5
6686
-
6687
- [Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/*)*]
6688
- Parent=Opera Mobile
6689
- Version=9.51
6690
- MajorVer=9
6691
- MinorVer=51
6692
- Beta=true
6693
-
6694
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Palm
6695
-
6696
- [Palm]
6697
- Parent=DefaultProperties
6698
- Browser=""
6699
- Platform=webOS
6700
- Win32=true
6701
- Frames=true
6702
- Tables=true
6703
- Cookies=true
6704
- JavaScript=true
6705
- ActiveXControls=true
6706
- isMobileDevice=true
6707
-
6708
- [Mozilla/5.0 (webOS/1.0*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6709
- Parent=Palm
6710
- Browser="Palm Pre"
6711
- Version=1.0
6712
- MajorVer=1
6713
- MinorVer=0
6714
- CssVersion=2
6715
- supportsCSS=true
6716
-
6717
- [Mozilla/5.0 (webOS/1.1*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6718
- Parent=Palm
6719
- Browser="Palm Pre"
6720
- Version=1.1
6721
- MajorVer=1
6722
- MinorVer=1
6723
- CssVersion=2
6724
- supportsCSS=true
6725
-
6726
- [Mozilla/5.0 (webOS/1.2*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6727
- Parent=Palm
6728
- Browser="Palm Pre"
6729
- Version=1.2
6730
- MajorVer=1
6731
- MinorVer=2
6732
-
6733
- [Mozilla/5.0 (webOS/1.3*; U; *) AppleWebKit/525.* (KHTML, like Gecko) Version/1.0 Safari/525.* Pre/1.0]
6734
- Parent=Palm
6735
- Version=1.3
6736
- MajorVer=1
6737
- MinorVer=3
6738
-
6739
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Playstation
6740
-
6741
- [Playstation]
6742
- Parent=DefaultProperties
6743
- Browser="Playstation"
6744
- Platform=WAP
6745
- Frames=true
6746
- Tables=true
6747
- Cookies=true
6748
- isMobileDevice=true
6749
-
6750
- [Mozilla/* (PLAYSTATION *; *)]
6751
- Parent=Playstation
6752
- Browser="PlayStation 3"
6753
- Frames=false
6754
-
6755
- [Mozilla/* (PSP (PlayStation Portable); *)]
6756
- Parent=Playstation
6757
-
6758
- [Sony PS2 (Linux)]
6759
- Parent=Playstation
6760
- Browser="Sony PS2"
6761
- Platform=Linux
6762
-
6763
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Pocket PC
6764
-
6765
- [Pocket PC]
6766
- Parent=DefaultProperties
6767
- Browser="Pocket PC"
6768
- Platform=WinCE
6769
- Win32=true
6770
- Frames=true
6771
- Tables=true
6772
- Cookies=true
6773
- JavaScript=true
6774
- ActiveXControls=true
6775
- isMobileDevice=true
6776
- CssVersion=1
6777
- supportsCSS=true
6778
-
6779
- [*(compatible; MSIE *.*; Windows CE; PPC; *)]
6780
- Parent=Pocket PC
6781
-
6782
- [HTC-*/* Mozilla/* (compatible; MSIE *.*; Windows CE*)*]
6783
- Parent=Pocket PC
6784
- Win32=true
6785
-
6786
- [Mozilla/* (compatible; MSPIE *.*; *Windows CE*)*]
6787
- Parent=Pocket PC
6788
- Win32=true
6789
-
6790
- [T-Mobile* Mozilla/* (compatible; MSIE *.*; Windows CE; *)]
6791
- Parent=Pocket PC
6792
-
6793
- [Vodafone* Mozilla/* (compatible; MSIE *.*; Windows CE; *)*]
6794
- Parent=Pocket PC
6795
-
6796
- [Windows CE (Pocket PC) - Version *.*]
6797
- Parent=Pocket PC
6798
- Win32=true
6799
-
6800
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEMC Browser
6801
-
6802
- [SEMC Browser]
6803
- Parent=DefaultProperties
6804
- Browser="SEMC Browser"
6805
- Platform=JAVA
6806
- Tables=true
6807
- isMobileDevice=true
6808
- CssVersion=1
6809
- supportsCSS=true
6810
-
6811
- [*SEMC-Browser/*]
6812
- Parent=SEMC Browser
6813
-
6814
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SonyEricsson
6815
-
6816
- [SonyEricsson]
6817
- Parent=DefaultProperties
6818
- Browser="SonyEricsson"
6819
- Frames=true
6820
- Tables=true
6821
- Cookies=true
6822
- JavaScript=true
6823
- isMobileDevice=true
6824
- CssVersion=1
6825
- supportsCSS=true
6826
-
6827
- [*Ericsson*]
6828
- Parent=SonyEricsson
6829
-
6830
- [*SonyEricsson*]
6831
- Parent=SonyEricsson
6832
-
6833
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netbox
6834
-
6835
- [Netbox]
6836
- Parent=DefaultProperties
6837
- Browser="Netbox"
6838
- Frames=true
6839
- Tables=true
6840
- Cookies=true
6841
- JavaScript=true
6842
- CssVersion=1
6843
- supportsCSS=true
6844
-
6845
- [Mozilla/3.01 (compatible; Netbox/*; Linux*)]
6846
- Parent=Netbox
6847
- Browser="Netbox"
6848
- Platform=Linux
6849
-
6850
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PowerTV
6851
-
6852
- [PowerTV]
6853
- Parent=DefaultProperties
6854
- Browser="PowerTV"
6855
- Platform=PowerTV
6856
- Frames=true
6857
- Tables=true
6858
- Cookies=true
6859
- JavaScript=true
6860
-
6861
- [Mozilla/4.0 PowerTV/1.5 (Compatible; Spyglass DM 3.2.1, EXPLORER)]
6862
- Parent=PowerTV
6863
- Version=1.5
6864
- MajorVer=1
6865
- MinorVer=5
6866
-
6867
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WebTV/MSNTV
6868
-
6869
- [WebTV]
6870
- Parent=DefaultProperties
6871
- Browser="WebTV/MSNTV"
6872
- Platform=WebTV
6873
- Frames=true
6874
- Tables=true
6875
- Cookies=true
6876
- JavaScript=true
6877
-
6878
- [Mozilla/3.0 WebTV/1.*(compatible; MSIE 2.0)]
6879
- Parent=WebTV
6880
- Version=1.0
6881
- MajorVer=1
6882
- MinorVer=0
6883
-
6884
- [Mozilla/4.0 WebTV/2.0*(compatible; MSIE 3.0)]
6885
- Parent=WebTV
6886
- Version=2.0
6887
- MajorVer=2
6888
- MinorVer=0
6889
-
6890
- [Mozilla/4.0 WebTV/2.1*(compatible; MSIE 3.0)]
6891
- Parent=WebTV
6892
- Version=2.1
6893
- MajorVer=2
6894
- MinorVer=1
6895
-
6896
- [Mozilla/4.0 WebTV/2.2*(compatible; MSIE 3.0)]
6897
- Parent=WebTV
6898
- Version=2.2
6899
- MajorVer=2
6900
- MinorVer=2
6901
-
6902
- [Mozilla/4.0 WebTV/2.3*(compatible; MSIE 3.0)]
6903
- Parent=WebTV
6904
- Version=2.3
6905
- MajorVer=2
6906
- MinorVer=3
6907
-
6908
- [Mozilla/4.0 WebTV/2.4*(compatible; MSIE 3.0)]
6909
- Parent=WebTV
6910
- Version=2.4
6911
- MajorVer=2
6912
- MinorVer=4
6913
-
6914
- [Mozilla/4.0 WebTV/2.5*(compatible; MSIE 4.0)]
6915
- Parent=WebTV
6916
- Version=2.5
6917
- MajorVer=2
6918
- MinorVer=5
6919
- CssVersion=1
6920
- supportsCSS=true
6921
-
6922
- [Mozilla/4.0 WebTV/2.6*(compatible; MSIE 4.0)]
6923
- Parent=WebTV
6924
- Version=2.6
6925
- MajorVer=2
6926
- MinorVer=6
6927
- CssVersion=1
6928
- supportsCSS=true
6929
-
6930
- [Mozilla/4.0 WebTV/2.7*(compatible; MSIE 4.0)]
6931
- Parent=WebTV
6932
- Version=2.7
6933
- MajorVer=2
6934
- MinorVer=7
6935
- CssVersion=1
6936
- supportsCSS=true
6937
-
6938
- [Mozilla/4.0 WebTV/2.8*(compatible; MSIE 4.0)]
6939
- Parent=WebTV
6940
- Version=2.8
6941
- MajorVer=2
6942
- MinorVer=8
6943
- JavaApplets=true
6944
- CssVersion=1
6945
- supportsCSS=true
6946
-
6947
- [Mozilla/4.0 WebTV/2.9*(compatible; MSIE 4.0)]
6948
- Parent=WebTV
6949
- Version=2.9
6950
- MajorVer=2
6951
- MinorVer=9
6952
- JavaApplets=true
6953
- CssVersion=1
6954
- supportsCSS=true
6955
-
6956
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Amaya
6957
-
6958
- [Amaya]
6959
- Parent=DefaultProperties
6960
- Browser="Amaya"
6961
- Tables=true
6962
- Cookies=true
6963
-
6964
- [amaya/10.*]
6965
- Parent=Amaya
6966
- Version=10.0
6967
- MajorVer=10
6968
- MinorVer=0
6969
-
6970
- [amaya/11.*]
6971
- Parent=Amaya
6972
- Version=11.0
6973
- MajorVer=11
6974
- MinorVer=0
6975
-
6976
- [amaya/7.*]
6977
- Parent=Amaya
6978
- Version=7.0
6979
- MajorVer=7
6980
- MinorVer=0
6981
-
6982
- [amaya/8.*]
6983
- Parent=Amaya
6984
- Version=8.0
6985
- MajorVer=8
6986
- MinorVer=0
6987
- CssVersion=2
6988
- supportsCSS=true
6989
-
6990
- [amaya/9.*]
6991
- Parent=Amaya
6992
- Version=9.0
6993
- MajorVer=9
6994
- MinorVer=0
6995
-
6996
- [Emacs-w3m/*]
6997
- Parent=Emacs/W3
6998
-
6999
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Links
7000
-
7001
- [Links]
7002
- Parent=DefaultProperties
7003
- Browser="Links"
7004
- Frames=true
7005
- Tables=true
7006
-
7007
- [Links (0.9*; CYGWIN_NT-5.1*)]
7008
- Parent=Links
7009
- Browser="Links"
7010
- Version=0.9
7011
- MajorVer=0
7012
- MinorVer=9
7013
- Platform=WinXP
7014
-
7015
- [Links (0.9*; Darwin*)]
7016
- Parent=Links
7017
- Version=0.9
7018
- MajorVer=0
7019
- MinorVer=9
7020
- Platform=MacPPC
7021
-
7022
- [Links (0.9*; FreeBSD*)]
7023
- Parent=Links
7024
- Browser="Links"
7025
- Version=0.9
7026
- MajorVer=0
7027
- MinorVer=9
7028
- Platform=FreeBSD
7029
-
7030
- [Links (0.9*; Linux*)]
7031
- Parent=Links
7032
- Browser="Links"
7033
- Version=0.9
7034
- MajorVer=0
7035
- MinorVer=9
7036
- Platform=Linux
7037
-
7038
- [Links (0.9*; OS/2*)]
7039
- Parent=Links
7040
- Browser="Links"
7041
- Version=0.9
7042
- MajorVer=0
7043
- MinorVer=9
7044
- Platform=OS/2
7045
-
7046
- [Links (0.9*; Unix*)]
7047
- Parent=Links
7048
- Browser="Links"
7049
- Version=0.9
7050
- MajorVer=0
7051
- MinorVer=9
7052
- Platform=Unix
7053
-
7054
- [Links (0.9*; Win32*)]
7055
- Parent=Links
7056
- Browser="Links"
7057
- Version=0.9
7058
- MajorVer=0
7059
- MinorVer=9
7060
- Platform=Win32
7061
- Win32=true
7062
-
7063
- [Links (1.0*; CYGWIN_NT-5.1*)]
7064
- Parent=Links
7065
- Browser="Links"
7066
- Version=1.0
7067
- MajorVer=1
7068
- MinorVer=0
7069
- Platform=WinXP
7070
-
7071
- [Links (1.0*; FreeBSD*)]
7072
- Parent=Links
7073
- Browser="Links"
7074
- Version=1.0
7075
- MajorVer=1
7076
- MinorVer=0
7077
- Platform=FreeBSD
7078
-
7079
- [Links (1.0*; Linux*)]
7080
- Parent=Links
7081
- Browser="Links"
7082
- Version=1.0
7083
- MajorVer=1
7084
- MinorVer=0
7085
- Platform=Linux
7086
-
7087
- [Links (1.0*; OS/2*)]
7088
- Parent=Links
7089
- Browser="Links"
7090
- Version=1.0
7091
- MajorVer=1
7092
- MinorVer=0
7093
- Platform=OS/2
7094
-
7095
- [Links (1.0*; Unix*)]
7096
- Parent=Links
7097
- Browser="Links"
7098
- Version=1.0
7099
- MajorVer=1
7100
- MinorVer=0
7101
- Platform=Unix
7102
-
7103
- [Links (1.0*; Win32*)]
7104
- Parent=Links
7105
- Browser="Links"
7106
- Version=1.0
7107
- MajorVer=1
7108
- MinorVer=0
7109
- Platform=Win32
7110
- Win32=true
7111
-
7112
- [Links (2.0*; Linux*)]
7113
- Parent=Links
7114
- Browser="Links"
7115
- Version=2.0
7116
- MajorVer=2
7117
- MinorVer=0
7118
- Platform=Linux
7119
-
7120
- [Links (2.1*; FreeBSD*)]
7121
- Parent=Links
7122
- Browser="Links"
7123
- Version=2.1
7124
- MajorVer=2
7125
- MinorVer=1
7126
- Platform=FreeBSD
7127
-
7128
- [Links (2.1*; Linux *)]
7129
- Parent=Links
7130
- Browser="Links"
7131
- Version=2.1
7132
- MajorVer=2
7133
- MinorVer=1
7134
- Platform=Linux
7135
-
7136
- [Links (2.1*; OpenBSD*)]
7137
- Parent=Links
7138
- Browser="Links"
7139
- Version=2.1
7140
- MajorVer=2
7141
- MinorVer=1
7142
- Platform=OpenBSD
7143
-
7144
- [Links (2.2*; FreeBSD*)]
7145
- Parent=Links
7146
- Version=2.2
7147
- MajorVer=2
7148
- MinorVer=2
7149
- Platform=FreeBSD
7150
-
7151
- [Links (2.2*; Linux *)]
7152
- Parent=Links
7153
- Version=2.2
7154
- MajorVer=2
7155
- MinorVer=2
7156
- Platform=Linux
7157
-
7158
- [Links (2.2*; OpenBSD*)]
7159
- Parent=Links
7160
- Version=2.2
7161
- MajorVer=2
7162
- MinorVer=2
7163
- Platform=OpenBSD
7164
-
7165
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lynx
7166
-
7167
- [Lynx]
7168
- Parent=DefaultProperties
7169
- Browser="Lynx"
7170
- Frames=true
7171
- Tables=true
7172
-
7173
- [Lynx *]
7174
- Parent=Lynx
7175
- Browser="Lynx"
7176
-
7177
- [Lynx/2.3*]
7178
- Parent=Lynx
7179
- Browser="Lynx"
7180
- Version=2.3
7181
- MajorVer=2
7182
- MinorVer=3
7183
-
7184
- [Lynx/2.4*]
7185
- Parent=Lynx
7186
- Browser="Lynx"
7187
- Version=2.4
7188
- MajorVer=2
7189
- MinorVer=4
7190
-
7191
- [Lynx/2.5*]
7192
- Parent=Lynx
7193
- Browser="Lynx"
7194
- Version=2.5
7195
- MajorVer=2
7196
- MinorVer=5
7197
-
7198
- [Lynx/2.6*]
7199
- Parent=Lynx
7200
- Browser="Lynx"
7201
- Version=2.6
7202
- MajorVer=2
7203
- MinorVer=6
7204
-
7205
- [Lynx/2.7*]
7206
- Parent=Lynx
7207
- Browser="Lynx"
7208
- Version=2.7
7209
- MajorVer=2
7210
- MinorVer=7
7211
-
7212
- [Lynx/2.8*]
7213
- Parent=Lynx
7214
- Browser="Lynx"
7215
- Version=2.8
7216
- MajorVer=2
7217
- MinorVer=8
7218
-
7219
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NCSA Mosaic
7220
-
7221
- [Mosaic]
7222
- Parent=DefaultProperties
7223
- Browser="Mosaic"
7224
-
7225
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; w3m
7226
-
7227
- [w3m]
7228
- Parent=DefaultProperties
7229
- Browser="w3m"
7230
- Frames=true
7231
- Tables=true
7232
-
7233
- [w3m/0.1*]
7234
- Parent=w3m
7235
- Browser="w3m"
7236
- Version=0.1
7237
- MajorVer=0
7238
- MinorVer=1
7239
-
7240
- [w3m/0.2*]
7241
- Parent=w3m
7242
- Browser="w3m"
7243
- Version=0.2
7244
- MajorVer=0
7245
- MinorVer=2
7246
-
7247
- [w3m/0.3*]
7248
- Parent=w3m
7249
- Browser="w3m"
7250
- Version=0.3
7251
- MajorVer=0
7252
- MinorVer=3
7253
-
7254
- [w3m/0.4*]
7255
- Parent=w3m
7256
- Browser="w3m"
7257
- Version=0.4
7258
- MajorVer=0
7259
- MinorVer=4
7260
- Cookies=true
7261
-
7262
- [w3m/0.5*]
7263
- Parent=w3m
7264
- Browser="w3m"
7265
- Version=0.5
7266
- MajorVer=0
7267
- MinorVer=5
7268
- Cookies=true
7269
-
7270
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.10
7271
-
7272
- [ELinks 0.10]
7273
- Parent=DefaultProperties
7274
- Browser="ELinks"
7275
- Version=0.10
7276
- MinorVer=10
7277
- Frames=true
7278
- Tables=true
7279
-
7280
- [ELinks (0.10*; *AIX*)]
7281
- Parent=ELinks 0.10
7282
- Platform=AIX
7283
-
7284
- [ELinks (0.10*; *BeOS*)]
7285
- Parent=ELinks 0.10
7286
- Platform=BeOS
7287
-
7288
- [ELinks (0.10*; *CygWin*)]
7289
- Parent=ELinks 0.10
7290
- Platform=CygWin
7291
-
7292
- [ELinks (0.10*; *Darwin*)]
7293
- Parent=ELinks 0.10
7294
- Platform=Darwin
7295
-
7296
- [ELinks (0.10*; *Digital Unix*)]
7297
- Parent=ELinks 0.10
7298
- Platform=Digital Unix
7299
-
7300
- [ELinks (0.10*; *FreeBSD*)]
7301
- Parent=ELinks 0.10
7302
- Platform=FreeBSD
7303
-
7304
- [ELinks (0.10*; *HPUX*)]
7305
- Parent=ELinks 0.10
7306
- Platform=HP-UX
7307
-
7308
- [ELinks (0.10*; *IRIX*)]
7309
- Parent=ELinks 0.10
7310
- Platform=IRIX
7311
-
7312
- [ELinks (0.10*; *Linux*)]
7313
- Parent=ELinks 0.10
7314
- Platform=Linux
7315
-
7316
- [ELinks (0.10*; *NetBSD*)]
7317
- Parent=ELinks 0.10
7318
- Platform=NetBSD
7319
-
7320
- [ELinks (0.10*; *OpenBSD*)]
7321
- Parent=ELinks 0.10
7322
- Platform=OpenBSD
7323
-
7324
- [ELinks (0.10*; *OS/2*)]
7325
- Parent=ELinks 0.10
7326
- Platform=OS/2
7327
-
7328
- [ELinks (0.10*; *RISC*)]
7329
- Parent=ELinks 0.10
7330
- Platform=RISC OS
7331
-
7332
- [ELinks (0.10*; *Solaris*)]
7333
- Parent=ELinks 0.10
7334
- Platform=Solaris
7335
-
7336
- [ELinks (0.10*; *Unix*)]
7337
- Parent=ELinks 0.10
7338
- Platform=Unix
7339
-
7340
- [ELinks/0.10* (*AIX*)]
7341
- Parent=ELinks 0.10
7342
- Platform=AIX
7343
-
7344
- [ELinks/0.10* (*BeOS*)]
7345
- Parent=ELinks 0.10
7346
- Platform=BeOS
7347
-
7348
- [ELinks/0.10* (*CygWin*)]
7349
- Parent=ELinks 0.10
7350
- Platform=CygWin
7351
-
7352
- [ELinks/0.10* (*Darwin*)]
7353
- Parent=ELinks 0.10
7354
- Platform=Darwin
7355
-
7356
- [ELinks/0.10* (*Digital Unix*)]
7357
- Parent=ELinks 0.10
7358
- Platform=Digital Unix
7359
-
7360
- [ELinks/0.10* (*FreeBSD*)]
7361
- Parent=ELinks 0.10
7362
- Platform=FreeBSD
7363
-
7364
- [ELinks/0.10* (*HPUX*)]
7365
- Parent=ELinks 0.10
7366
- Platform=HP-UX
7367
-
7368
- [ELinks/0.10* (*IRIX*)]
7369
- Parent=ELinks 0.10
7370
- Platform=IRIX
7371
-
7372
- [ELinks/0.10* (*Linux*)]
7373
- Parent=ELinks 0.10
7374
- Platform=Linux
7375
-
7376
- [ELinks/0.10* (*NetBSD*)]
7377
- Parent=ELinks 0.10
7378
- Platform=NetBSD
7379
-
7380
- [ELinks/0.10* (*OpenBSD*)]
7381
- Parent=ELinks 0.10
7382
- Platform=OpenBSD
7383
-
7384
- [ELinks/0.10* (*OS/2*)]
7385
- Parent=ELinks 0.10
7386
- Platform=OS/2
7387
-
7388
- [ELinks/0.10* (*RISC*)]
7389
- Parent=ELinks 0.10
7390
- Platform=RISC OS
7391
-
7392
- [ELinks/0.10* (*Solaris*)]
7393
- Parent=ELinks 0.10
7394
- Platform=Solaris
7395
-
7396
- [ELinks/0.10* (*Unix*)]
7397
- Parent=ELinks 0.10
7398
- Platform=Unix
7399
-
7400
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.11
7401
-
7402
- [ELinks 0.11]
7403
- Parent=DefaultProperties
7404
- Browser="ELinks"
7405
- Version=0.11
7406
- MinorVer=11
7407
- Frames=true
7408
- Tables=true
7409
-
7410
- [ELinks (0.11*; *AIX*)]
7411
- Parent=ELinks 0.11
7412
- Platform=AIX
7413
-
7414
- [ELinks (0.11*; *BeOS*)]
7415
- Parent=ELinks 0.11
7416
- Platform=BeOS
7417
-
7418
- [ELinks (0.11*; *CygWin*)]
7419
- Parent=ELinks 0.11
7420
- Platform=CygWin
7421
-
7422
- [ELinks (0.11*; *Darwin*)]
7423
- Parent=ELinks 0.11
7424
- Platform=Darwin
7425
-
7426
- [ELinks (0.11*; *Digital Unix*)]
7427
- Parent=ELinks 0.11
7428
- Platform=Digital Unix
7429
-
7430
- [ELinks (0.11*; *FreeBSD*)]
7431
- Parent=ELinks 0.11
7432
- Platform=FreeBSD
7433
-
7434
- [ELinks (0.11*; *HPUX*)]
7435
- Parent=ELinks 0.11
7436
- Platform=HP-UX
7437
-
7438
- [ELinks (0.11*; *IRIX*)]
7439
- Parent=ELinks 0.11
7440
- Platform=IRIX
7441
-
7442
- [ELinks (0.11*; *Linux*)]
7443
- Parent=ELinks 0.11
7444
- Platform=Linux
7445
-
7446
- [ELinks (0.11*; *NetBSD*)]
7447
- Parent=ELinks 0.11
7448
- Platform=NetBSD
7449
-
7450
- [ELinks (0.11*; *OpenBSD*)]
7451
- Parent=ELinks 0.11
7452
- Platform=OpenBSD
7453
-
7454
- [ELinks (0.11*; *OS/2*)]
7455
- Parent=ELinks 0.11
7456
- Platform=OS/2
7457
-
7458
- [ELinks (0.11*; *RISC*)]
7459
- Parent=ELinks 0.11
7460
- Platform=RISC OS
7461
-
7462
- [ELinks (0.11*; *Solaris*)]
7463
- Parent=ELinks 0.11
7464
- Platform=Solaris
7465
-
7466
- [ELinks (0.11*; *Unix*)]
7467
- Parent=ELinks 0.11
7468
- Platform=Unix
7469
-
7470
- [ELinks/0.11* (*AIX*)]
7471
- Parent=ELinks 0.11
7472
- Platform=AIX
7473
-
7474
- [ELinks/0.11* (*BeOS*)]
7475
- Parent=ELinks 0.11
7476
- Platform=BeOS
7477
-
7478
- [ELinks/0.11* (*CygWin*)]
7479
- Parent=ELinks 0.11
7480
- Platform=CygWin
7481
-
7482
- [ELinks/0.11* (*Darwin*)]
7483
- Parent=ELinks 0.11
7484
- Platform=Darwin
7485
-
7486
- [ELinks/0.11* (*Digital Unix*)]
7487
- Parent=ELinks 0.11
7488
- Platform=Digital Unix
7489
-
7490
- [ELinks/0.11* (*FreeBSD*)]
7491
- Parent=ELinks 0.11
7492
- Platform=FreeBSD
7493
-
7494
- [ELinks/0.11* (*HPUX*)]
7495
- Parent=ELinks 0.11
7496
- Platform=HP-UX
7497
-
7498
- [ELinks/0.11* (*IRIX*)]
7499
- Parent=ELinks 0.11
7500
- Platform=IRIX
7501
-
7502
- [ELinks/0.11* (*Linux*)]
7503
- Parent=ELinks 0.11
7504
- Platform=Linux
7505
-
7506
- [ELinks/0.11* (*NetBSD*)]
7507
- Parent=ELinks 0.11
7508
- Platform=NetBSD
7509
-
7510
- [ELinks/0.11* (*OpenBSD*)]
7511
- Parent=ELinks 0.11
7512
- Platform=OpenBSD
7513
-
7514
- [ELinks/0.11* (*OS/2*)]
7515
- Parent=ELinks 0.11
7516
- Platform=OS/2
7517
-
7518
- [ELinks/0.11* (*RISC*)]
7519
- Parent=ELinks 0.11
7520
- Platform=RISC OS
7521
-
7522
- [ELinks/0.11* (*Solaris*)]
7523
- Parent=ELinks 0.11
7524
- Platform=Solaris
7525
-
7526
- [ELinks/0.11* (*Unix*)]
7527
- Parent=ELinks 0.11
7528
- Platform=Unix
7529
-
7530
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.12
7531
-
7532
- [ELinks 0.12]
7533
- Parent=DefaultProperties
7534
- Browser="ELinks"
7535
- Version=0.12
7536
- MinorVer=12
7537
- Frames=true
7538
- Tables=true
7539
-
7540
- [ELinks (0.12*; *AIX*)]
7541
- Parent=ELinks 0.12
7542
- Platform=AIX
7543
-
7544
- [ELinks (0.12*; *BeOS*)]
7545
- Parent=ELinks 0.12
7546
- Platform=BeOS
7547
-
7548
- [ELinks (0.12*; *CygWin*)]
7549
- Parent=ELinks 0.12
7550
- Platform=CygWin
7551
-
7552
- [ELinks (0.12*; *Darwin*)]
7553
- Parent=ELinks 0.12
7554
- Platform=Darwin
7555
-
7556
- [ELinks (0.12*; *Digital Unix*)]
7557
- Parent=ELinks 0.12
7558
- Platform=Digital Unix
7559
-
7560
- [ELinks (0.12*; *FreeBSD*)]
7561
- Parent=ELinks 0.12
7562
- Platform=FreeBSD
7563
-
7564
- [ELinks (0.12*; *HPUX*)]
7565
- Parent=ELinks 0.12
7566
- Platform=HP-UX
7567
-
7568
- [ELinks (0.12*; *IRIX*)]
7569
- Parent=ELinks 0.12
7570
- Platform=IRIX
7571
-
7572
- [ELinks (0.12*; *Linux*)]
7573
- Parent=ELinks 0.12
7574
- Platform=Linux
7575
-
7576
- [ELinks (0.12*; *NetBSD*)]
7577
- Parent=ELinks 0.12
7578
- Platform=NetBSD
7579
-
7580
- [ELinks (0.12*; *OpenBSD*)]
7581
- Parent=ELinks 0.12
7582
- Platform=OpenBSD
7583
-
7584
- [ELinks (0.12*; *OS/2*)]
7585
- Parent=ELinks 0.12
7586
- Platform=OS/2
7587
-
7588
- [ELinks (0.12*; *RISC*)]
7589
- Parent=ELinks 0.12
7590
- Platform=RISC OS
7591
-
7592
- [ELinks (0.12*; *Solaris*)]
7593
- Parent=ELinks 0.12
7594
- Platform=Solaris
7595
-
7596
- [ELinks (0.12*; *Unix*)]
7597
- Parent=ELinks 0.12
7598
- Platform=Unix
7599
-
7600
- [ELinks/0.12* (*AIX*)]
7601
- Parent=ELinks 0.12
7602
- Platform=AIX
7603
-
7604
- [ELinks/0.12* (*BeOS*)]
7605
- Parent=ELinks 0.12
7606
- Platform=BeOS
7607
-
7608
- [ELinks/0.12* (*CygWin*)]
7609
- Parent=ELinks 0.12
7610
- Platform=CygWin
7611
-
7612
- [ELinks/0.12* (*Darwin*)]
7613
- Parent=ELinks 0.12
7614
- Platform=Darwin
7615
-
7616
- [ELinks/0.12* (*Digital Unix*)]
7617
- Parent=ELinks 0.12
7618
- Platform=Digital Unix
7619
-
7620
- [ELinks/0.12* (*FreeBSD*)]
7621
- Parent=ELinks 0.12
7622
- Platform=FreeBSD
7623
-
7624
- [ELinks/0.12* (*HPUX*)]
7625
- Parent=ELinks 0.12
7626
- Platform=HP-UX
7627
-
7628
- [ELinks/0.12* (*IRIX*)]
7629
- Parent=ELinks 0.12
7630
- Platform=IRIX
7631
-
7632
- [ELinks/0.12* (*Linux*)]
7633
- Parent=ELinks 0.12
7634
- Platform=Linux
7635
-
7636
- [ELinks/0.12* (*NetBSD*)]
7637
- Parent=ELinks 0.12
7638
- Platform=NetBSD
7639
-
7640
- [ELinks/0.12* (*OpenBSD*)]
7641
- Parent=ELinks 0.12
7642
- Platform=OpenBSD
7643
-
7644
- [ELinks/0.12* (*OS/2*)]
7645
- Parent=ELinks 0.12
7646
- Platform=OS/2
7647
-
7648
- [ELinks/0.12* (*RISC*)]
7649
- Parent=ELinks 0.12
7650
- Platform=RISC OS
7651
-
7652
- [ELinks/0.12* (*Solaris*)]
7653
- Parent=ELinks 0.12
7654
- Platform=Solaris
7655
-
7656
- [ELinks/0.12* (*Unix*)]
7657
- Parent=ELinks 0.12
7658
- Platform=Unix
7659
-
7660
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.13
7661
-
7662
- [ELinks 0.13]
7663
- Parent=DefaultProperties
7664
- Browser="ELinks"
7665
- Version=0.13
7666
- MinorVer=13
7667
- Frames=true
7668
- Tables=true
7669
-
7670
- [ELinks (0.13*; *AIX*)]
7671
- Parent=ELinks 0.13
7672
- Platform=AIX
7673
-
7674
- [ELinks (0.13*; *BeOS*)]
7675
- Parent=ELinks 0.13
7676
- Platform=BeOS
7677
-
7678
- [ELinks (0.13*; *CygWin*)]
7679
- Parent=ELinks 0.13
7680
- Platform=CygWin
7681
-
7682
- [ELinks (0.13*; *Darwin*)]
7683
- Parent=ELinks 0.13
7684
- Platform=Darwin
7685
-
7686
- [ELinks (0.13*; *Digital Unix*)]
7687
- Parent=ELinks 0.13
7688
- Platform=Digital Unix
7689
-
7690
- [ELinks (0.13*; *FreeBSD*)]
7691
- Parent=ELinks 0.13
7692
- Platform=FreeBSD
7693
-
7694
- [ELinks (0.13*; *HPUX*)]
7695
- Parent=ELinks 0.13
7696
- Platform=HP-UX
7697
-
7698
- [ELinks (0.13*; *IRIX*)]
7699
- Parent=ELinks 0.13
7700
- Platform=IRIX
7701
-
7702
- [ELinks (0.13*; *Linux*)]
7703
- Parent=ELinks 0.13
7704
- Platform=Linux
7705
-
7706
- [ELinks (0.13*; *NetBSD*)]
7707
- Parent=ELinks 0.13
7708
- Platform=NetBSD
7709
-
7710
- [ELinks (0.13*; *OpenBSD*)]
7711
- Parent=ELinks 0.13
7712
- Platform=OpenBSD
7713
-
7714
- [ELinks (0.13*; *OS/2*)]
7715
- Parent=ELinks 0.13
7716
- Platform=OS/2
7717
-
7718
- [ELinks (0.13*; *RISC*)]
7719
- Parent=ELinks 0.13
7720
- Platform=RISC OS
7721
-
7722
- [ELinks (0.13*; *Solaris*)]
7723
- Parent=ELinks 0.13
7724
- Platform=Solaris
7725
-
7726
- [ELinks (0.13*; *Unix*)]
7727
- Parent=ELinks 0.13
7728
- Platform=Unix
7729
-
7730
- [ELinks/0.13* (*AIX*)]
7731
- Parent=ELinks 0.13
7732
- Platform=AIX
7733
-
7734
- [ELinks/0.13* (*BeOS*)]
7735
- Parent=ELinks 0.13
7736
- Platform=BeOS
7737
-
7738
- [ELinks/0.13* (*CygWin*)]
7739
- Parent=ELinks 0.13
7740
- Platform=CygWin
7741
-
7742
- [ELinks/0.13* (*Darwin*)]
7743
- Parent=ELinks 0.13
7744
- Platform=Darwin
7745
-
7746
- [ELinks/0.13* (*Digital Unix*)]
7747
- Parent=ELinks 0.13
7748
- Platform=Digital Unix
7749
-
7750
- [ELinks/0.13* (*FreeBSD*)]
7751
- Parent=ELinks 0.13
7752
- Platform=FreeBSD
7753
-
7754
- [ELinks/0.13* (*HPUX*)]
7755
- Parent=ELinks 0.13
7756
- Platform=HP-UX
7757
-
7758
- [ELinks/0.13* (*IRIX*)]
7759
- Parent=ELinks 0.13
7760
- Platform=IRIX
7761
-
7762
- [ELinks/0.13* (*Linux*)]
7763
- Parent=ELinks 0.13
7764
- Platform=Linux
7765
-
7766
- [ELinks/0.13* (*NetBSD*)]
7767
- Parent=ELinks 0.13
7768
- Platform=NetBSD
7769
-
7770
- [ELinks/0.13* (*OpenBSD*)]
7771
- Parent=ELinks 0.13
7772
- Platform=OpenBSD
7773
-
7774
- [ELinks/0.13* (*OS/2*)]
7775
- Parent=ELinks 0.13
7776
- Platform=OS/2
7777
-
7778
- [ELinks/0.13* (*RISC*)]
7779
- Parent=ELinks 0.13
7780
- Platform=RISC OS
7781
-
7782
- [ELinks/0.13* (*Solaris*)]
7783
- Parent=ELinks 0.13
7784
- Platform=Solaris
7785
-
7786
- [ELinks/0.13* (*Unix*)]
7787
- Parent=ELinks 0.13
7788
- Platform=Unix
7789
-
7790
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.9
7791
-
7792
- [ELinks 0.9]
7793
- Parent=DefaultProperties
7794
- Browser="ELinks"
7795
- Version=0.9
7796
- MinorVer=9
7797
- Frames=true
7798
- Tables=true
7799
-
7800
- [ELinks (0.9*; *AIX*)]
7801
- Parent=ELinks 0.9
7802
- Platform=AIX
7803
-
7804
- [ELinks (0.9*; *BeOS*)]
7805
- Parent=ELinks 0.9
7806
- Platform=BeOS
7807
-
7808
- [ELinks (0.9*; *CygWin*)]
7809
- Parent=ELinks 0.9
7810
- Platform=CygWin
7811
-
7812
- [ELinks (0.9*; *Darwin*)]
7813
- Parent=ELinks 0.9
7814
- Platform=Darwin
7815
-
7816
- [ELinks (0.9*; *Digital Unix*)]
7817
- Parent=ELinks 0.9
7818
- Platform=Digital Unix
7819
-
7820
- [ELinks (0.9*; *FreeBSD*)]
7821
- Parent=ELinks 0.9
7822
- Platform=FreeBSD
7823
-
7824
- [ELinks (0.9*; *HPUX*)]
7825
- Parent=ELinks 0.9
7826
- Platform=HP-UX
7827
-
7828
- [ELinks (0.9*; *IRIX*)]
7829
- Parent=ELinks 0.9
7830
- Platform=IRIX
7831
-
7832
- [ELinks (0.9*; *Linux*)]
7833
- Parent=ELinks 0.9
7834
- Platform=Linux
7835
-
7836
- [ELinks (0.9*; *NetBSD*)]
7837
- Parent=ELinks 0.9
7838
- Platform=NetBSD
7839
-
7840
- [ELinks (0.9*; *OpenBSD*)]
7841
- Parent=ELinks 0.9
7842
- Platform=OpenBSD
7843
-
7844
- [ELinks (0.9*; *OS/2*)]
7845
- Parent=ELinks 0.9
7846
- Platform=OS/2
7847
-
7848
- [ELinks (0.9*; *RISC*)]
7849
- Parent=ELinks 0.9
7850
- Platform=RISC OS
7851
-
7852
- [ELinks (0.9*; *Solaris*)]
7853
- Parent=ELinks 0.9
7854
- Platform=Solaris
7855
-
7856
- [ELinks (0.9*; *Unix*)]
7857
- Parent=ELinks 0.9
7858
- Platform=Unix
7859
-
7860
- [ELinks/0.9* (*AIX*)]
7861
- Parent=ELinks 0.9
7862
- Platform=AIX
7863
-
7864
- [ELinks/0.9* (*BeOS*)]
7865
- Parent=ELinks 0.9
7866
- Platform=BeOS
7867
-
7868
- [ELinks/0.9* (*CygWin*)]
7869
- Parent=ELinks 0.9
7870
- Platform=CygWin
7871
-
7872
- [ELinks/0.9* (*Darwin*)]
7873
- Parent=ELinks 0.9
7874
- Platform=Darwin
7875
-
7876
- [ELinks/0.9* (*Digital Unix*)]
7877
- Parent=ELinks 0.9
7878
- Platform=Digital Unix
7879
-
7880
- [ELinks/0.9* (*FreeBSD*)]
7881
- Parent=ELinks 0.9
7882
- Platform=FreeBSD
7883
-
7884
- [ELinks/0.9* (*HPUX*)]
7885
- Parent=ELinks 0.9
7886
- Platform=HP-UX
7887
-
7888
- [ELinks/0.9* (*IRIX*)]
7889
- Parent=ELinks 0.9
7890
- Platform=IRIX
7891
-
7892
- [ELinks/0.9* (*Linux*)]
7893
- Parent=ELinks 0.9
7894
- Platform=Linux
7895
-
7896
- [ELinks/0.9* (*NetBSD*)]
7897
- Parent=ELinks 0.9
7898
- Platform=NetBSD
7899
-
7900
- [ELinks/0.9* (*OpenBSD*)]
7901
- Parent=ELinks 0.9
7902
- Platform=OpenBSD
7903
-
7904
- [ELinks/0.9* (*OS/2*)]
7905
- Parent=ELinks 0.9
7906
- Platform=OS/2
7907
-
7908
- [ELinks/0.9* (*RISC*)]
7909
- Parent=ELinks 0.9
7910
- Platform=RISC OS
7911
-
7912
- [ELinks/0.9* (*Solaris*)]
7913
- Parent=ELinks 0.9
7914
- Platform=Solaris
7915
-
7916
- [ELinks/0.9* (*Unix*)]
7917
- Parent=ELinks 0.9
7918
- Platform=Unix
7919
-
7920
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AppleWebKit
7921
-
7922
- [AppleWebKit]
7923
- Parent=DefaultProperties
7924
- Browser="AppleWebKit"
7925
- Frames=true
7926
- IFrames=true
7927
- Tables=true
7928
- Cookies=true
7929
- BackgroundSounds=true
7930
- JavaApplets=true
7931
- JavaScript=true
7932
- CssVersion=2
7933
- supportsCSS=true
7934
-
7935
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (KHTML, like Gecko)]
7936
- Parent=AppleWebKit
7937
-
7938
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Camino
7939
-
7940
- [Camino]
7941
- Parent=DefaultProperties
7942
- Browser="Camino"
7943
- Platform=MacOSX
7944
- Frames=true
7945
- IFrames=true
7946
- Tables=true
7947
- Cookies=true
7948
- JavaApplets=true
7949
- JavaScript=true
7950
- CssVersion=2
7951
- supportsCSS=true
7952
-
7953
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.7*]
7954
- Parent=Camino
7955
- Version=0.7
7956
- MajorVer=0
7957
- MinorVer=7
7958
- Beta=true
7959
-
7960
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.8*]
7961
- Parent=Camino
7962
- Version=0.8
7963
- MajorVer=0
7964
- MinorVer=8
7965
- Beta=true
7966
-
7967
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.9*]
7968
- Parent=Camino
7969
- Version=0.9
7970
- MajorVer=0
7971
- MinorVer=9
7972
- Beta=true
7973
-
7974
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.0*]
7975
- Parent=Camino
7976
- Version=1.0
7977
- MajorVer=1
7978
- MinorVer=0
7979
-
7980
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.2*]
7981
- Parent=Camino
7982
- Version=1.2
7983
- MajorVer=1
7984
- MinorVer=2
7985
-
7986
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.3*]
7987
- Parent=Camino
7988
- Version=1.3
7989
- MajorVer=1
7990
- MinorVer=3
7991
- Platform=MacOSX
7992
-
7993
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.4*]
7994
- Parent=Camino
7995
- Version=1.4
7996
- MajorVer=1
7997
- MinorVer=4
7998
- Platform=MacOSX
7999
-
8000
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.5*]
8001
- Parent=Camino
8002
- Version=1.5
8003
- MajorVer=1
8004
- MinorVer=5
8005
- Platform=MacOSX
8006
-
8007
- [Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.6*]
8008
- Parent=Camino
8009
- Version=1.6
8010
- MajorVer=1
8011
- MinorVer=6
8012
- Platform=MacOSX
8013
-
8014
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chimera
8015
-
8016
- [Chimera]
8017
- Parent=DefaultProperties
8018
- Browser="Chimera"
8019
- Frames=true
8020
- IFrames=true
8021
- Tables=true
8022
- Cookies=true
8023
- JavaApplets=true
8024
- JavaScript=true
8025
-
8026
- [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Chimera/*]
8027
- Parent=Chimera
8028
- Platform=MacOSX
8029
-
8030
- [Mozilla/5.0 Gecko/* Chimera/*]
8031
- Parent=Chimera
8032
-
8033
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Dillo
8034
-
8035
- [Dillo]
8036
- Parent=DefaultProperties
8037
- Browser="Dillo"
8038
- Platform=Linux
8039
- Frames=true
8040
- IFrames=true
8041
- Tables=true
8042
- Cookies=true
8043
- CssVersion=2
8044
- supportsCSS=true
8045
-
8046
- [Dillo/0.6*]
8047
- Parent=Dillo
8048
- Version=0.6
8049
- MajorVer=0
8050
- MinorVer=6
8051
-
8052
- [Dillo/0.7*]
8053
- Parent=Dillo
8054
- Version=0.7
8055
- MajorVer=0
8056
- MinorVer=7
8057
-
8058
- [Dillo/0.8*]
8059
- Parent=Dillo
8060
- Version=0.8
8061
- MajorVer=0
8062
- MinorVer=8
8063
-
8064
- [Dillo/2.0]
8065
- Parent=Dillo
8066
- Version=2.0
8067
- MajorVer=2
8068
- MinorVer=0
8069
-
8070
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Emacs/W3
8071
-
8072
- [Emacs/W3]
8073
- Parent=DefaultProperties
8074
- Browser="Emacs/W3"
8075
- Frames=true
8076
- Tables=true
8077
- Cookies=true
8078
-
8079
- [Emacs/W3/2.* (Unix*]
8080
- Parent=Emacs/W3
8081
- Version=2.0
8082
- MajorVer=2
8083
- MinorVer=0
8084
- Platform=Unix
8085
-
8086
- [Emacs/W3/2.* (X11*]
8087
- Parent=Emacs/W3
8088
- Version=2.0
8089
- MajorVer=2
8090
- MinorVer=0
8091
- Platform=Linux
8092
-
8093
- [Emacs/W3/3.* (Unix*]
8094
- Parent=Emacs/W3
8095
- Version=3.0
8096
- MajorVer=3
8097
- MinorVer=0
8098
- Platform=Unix
8099
-
8100
- [Emacs/W3/3.* (X11*]
8101
- Parent=Emacs/W3
8102
- Version=3.0
8103
- MajorVer=3
8104
- MinorVer=0
8105
- Platform=Linux
8106
-
8107
- [Emacs/W3/4.* (Unix*]
8108
- Parent=Emacs/W3
8109
- Version=4.0
8110
- MajorVer=4
8111
- MinorVer=0
8112
- Platform=Unix
8113
-
8114
- [Emacs/W3/4.* (X11*]
8115
- Parent=Emacs/W3
8116
- Version=4.0
8117
- MajorVer=4
8118
- MinorVer=0
8119
- Platform=Linux
8120
-
8121
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; fantomas
8122
-
8123
- [fantomas]
8124
- Parent=DefaultProperties
8125
- Browser="fantomas"
8126
- Frames=true
8127
- IFrames=true
8128
- Tables=true
8129
- Cookies=true
8130
- JavaScript=true
8131
-
8132
- [Mozilla/4.0 (cloakBrowser)]
8133
- Parent=fantomas
8134
- Browser="fantomas cloakBrowser"
8135
-
8136
- [Mozilla/4.0 (fantomas shadowMaker Browser)]
8137
- Parent=fantomas
8138
- Browser="fantomas shadowMaker Browser"
8139
-
8140
- [Mozilla/4.0 (fantomBrowser)]
8141
- Parent=fantomas
8142
- Browser="fantomas fantomBrowser"
8143
-
8144
- [Mozilla/4.0 (fantomCrew Browser)]
8145
- Parent=fantomas
8146
- Browser="fantomas fantomCrew Browser"
8147
-
8148
- [Mozilla/4.0 (stealthBrowser)]
8149
- Parent=fantomas
8150
- Browser="fantomas stealthBrowser"
8151
-
8152
- [multiBlocker browser*]
8153
- Parent=fantomas
8154
- Browser="fantomas multiBlocker browser"
8155
-
8156
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FrontPage
8157
-
8158
- [FrontPage]
8159
- Parent=DefaultProperties
8160
- Browser="FrontPage"
8161
- Frames=true
8162
- IFrames=true
8163
- Tables=true
8164
- Cookies=true
8165
- JavaScript=true
8166
-
8167
- [Mozilla/?* (compatible; MS FrontPage*)]
8168
- Parent=FrontPage
8169
-
8170
- [MSFrontPage/*]
8171
- Parent=FrontPage
8172
-
8173
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Galeon
8174
-
8175
- [Galeon]
8176
- Parent=DefaultProperties
8177
- Browser="Galeon"
8178
- Platform=Linux
8179
- Frames=true
8180
- IFrames=true
8181
- Tables=true
8182
- Cookies=true
8183
- JavaApplets=true
8184
- JavaScript=true
8185
- CssVersion=2
8186
- supportsCSS=true
8187
-
8188
- [Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/1.*]
8189
- Parent=Galeon
8190
- Version=1.0
8191
- MajorVer=1
8192
- MinorVer=0
8193
-
8194
- [Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/2.*]
8195
- Parent=Galeon
8196
- Version=2.0
8197
- MajorVer=2
8198
- MinorVer=0
8199
-
8200
- [Mozilla/5.0 Galeon/1.* (X11; Linux*)*]
8201
- Parent=Galeon
8202
- Version=1.0
8203
- MajorVer=1
8204
- MinorVer=0
8205
-
8206
- [Mozilla/5.0 Galeon/2.* (X11; Linux*)*]
8207
- Parent=Galeon
8208
- Version=2.0
8209
- MajorVer=2
8210
- MinorVer=0
8211
-
8212
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HP Secure Web Browser
8213
-
8214
- [HP Secure Web Browser]
8215
- Parent=DefaultProperties
8216
- Browser="HP Secure Web Browser"
8217
- Platform=OpenVMS
8218
- Frames=true
8219
- IFrames=true
8220
- Tables=true
8221
- Cookies=true
8222
- JavaApplets=true
8223
- JavaScript=true
8224
- CssVersion=2
8225
- supportsCSS=true
8226
-
8227
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.0*) Gecko/*]
8228
- Parent=HP Secure Web Browser
8229
- Version=1.0
8230
- MajorVer=1
8231
- MinorVer=0
8232
-
8233
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.1*) Gecko/*]
8234
- Parent=HP Secure Web Browser
8235
- Version=1.1
8236
- MajorVer=1
8237
- MinorVer=1
8238
-
8239
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.2*) Gecko/*]
8240
- Parent=HP Secure Web Browser
8241
- Version=1.2
8242
- MajorVer=1
8243
- MinorVer=2
8244
-
8245
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.3*) Gecko/*]
8246
- Parent=HP Secure Web Browser
8247
- Version=1.3
8248
- MajorVer=1
8249
- MinorVer=3
8250
-
8251
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.4*) Gecko/*]
8252
- Parent=HP Secure Web Browser
8253
- Version=1.4
8254
- MajorVer=1
8255
- MinorVer=4
8256
-
8257
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.5*) Gecko/*]
8258
- Parent=HP Secure Web Browser
8259
- Version=1.5
8260
- MajorVer=1
8261
- MinorVer=5
8262
-
8263
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.6*) Gecko/*]
8264
- Parent=HP Secure Web Browser
8265
- Version=1.6
8266
- MajorVer=1
8267
- MinorVer=6
8268
-
8269
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.7*) Gecko/*]
8270
- Parent=HP Secure Web Browser
8271
- Version=1.7
8272
- MajorVer=1
8273
- MinorVer=7
8274
-
8275
- [Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.8*) Gecko/*]
8276
- Parent=HP Secure Web Browser
8277
- Version=1.8
8278
- MajorVer=1
8279
- MinorVer=8
8280
-
8281
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IBrowse
8282
-
8283
- [IBrowse]
8284
- Parent=DefaultProperties
8285
- Browser="IBrowse"
8286
- Platform=Amiga
8287
- Frames=true
8288
- Tables=true
8289
- Cookies=true
8290
- JavaScript=true
8291
-
8292
- [Arexx (compatible; MSIE 6.0; AmigaOS5.0) IBrowse 4.0]
8293
- Parent=IBrowse
8294
- Version=4.0
8295
- MajorVer=4
8296
- MinorVer=0
8297
-
8298
- [IBrowse/1.22 (AmigaOS *)]
8299
- Parent=IBrowse
8300
- Version=1.22
8301
- MajorVer=1
8302
- MinorVer=22
8303
-
8304
- [IBrowse/2.1 (AmigaOS *)]
8305
- Parent=IBrowse
8306
- Version=2.1
8307
- MajorVer=2
8308
- MinorVer=1
8309
-
8310
- [IBrowse/2.2 (AmigaOS *)]
8311
- Parent=IBrowse
8312
- Version=2.2
8313
- MajorVer=2
8314
- MinorVer=2
8315
-
8316
- [IBrowse/2.3 (AmigaOS *)]
8317
- Parent=IBrowse
8318
- Version=2.2
8319
- MajorVer=2
8320
- MinorVer=3
8321
-
8322
- [Mozilla/* (Win98; I) IBrowse/2.1 (AmigaOS 3.1)]
8323
- Parent=IBrowse
8324
- Version=2.1
8325
- MajorVer=2
8326
- MinorVer=1
8327
-
8328
- [Mozilla/* (Win98; I) IBrowse/2.2 (AmigaOS 3.1)]
8329
- Parent=IBrowse
8330
- Version=2.2
8331
- MajorVer=2
8332
- MinorVer=2
8333
-
8334
- [Mozilla/* (Win98; I) IBrowse/2.3 (AmigaOS 3.1)]
8335
- Parent=IBrowse
8336
- Version=2.3
8337
- MajorVer=2
8338
- MinorVer=3
8339
-
8340
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iCab
8341
-
8342
- [iCab]
8343
- Parent=DefaultProperties
8344
- Browser="iCab"
8345
- Frames=true
8346
- Tables=true
8347
- Cookies=true
8348
- JavaScript=true
8349
- CssVersion=1
8350
- supportsCSS=true
8351
-
8352
- [iCab/2.7* (Macintosh; ?; 68K*)]
8353
- Parent=iCab
8354
- Version=2.7
8355
- MajorVer=2
8356
- MinorVer=7
8357
- Platform=Mac68K
8358
-
8359
- [iCab/2.7* (Macintosh; ?; PPC*)]
8360
- Parent=iCab
8361
- Version=2.7
8362
- MajorVer=2
8363
- MinorVer=7
8364
- Platform=MacPPC
8365
-
8366
- [iCab/2.8* (Macintosh; ?; *Mac OS X*)]
8367
- Parent=iCab
8368
- Version=2.8
8369
- MajorVer=2
8370
- MinorVer=8
8371
- Platform=MacOSX
8372
-
8373
- [iCab/2.8* (Macintosh; ?; 68K*)]
8374
- Parent=iCab
8375
- Version=2.8
8376
- MajorVer=2
8377
- MinorVer=8
8378
- Platform=Mac68K
8379
-
8380
- [iCab/2.8* (Macintosh; ?; PPC)]
8381
- Parent=iCab
8382
- Version=2.8
8383
- MajorVer=2
8384
- MinorVer=8
8385
- Platform=MacPPC
8386
-
8387
- [iCab/2.9* (Macintosh; ?; *Mac OS X*)]
8388
- Parent=iCab
8389
- Version=2.9
8390
- MajorVer=2
8391
- MinorVer=9
8392
- Platform=MacOSX
8393
-
8394
- [iCab/2.9* (Macintosh; ?; 68K*)]
8395
- Parent=iCab
8396
- Version=2.9
8397
- MajorVer=2
8398
- MinorVer=9
8399
- Platform=Mac68K
8400
-
8401
- [iCab/2.9* (Macintosh; ?; PPC*)]
8402
- Parent=iCab
8403
- Version=2.9
8404
- MajorVer=2
8405
- MinorVer=9
8406
- Platform=MacPPC
8407
-
8408
- [iCab/3.0* (Macintosh; ?; *Mac OS X*)]
8409
- Parent=iCab
8410
- Version=3.0
8411
- MajorVer=3
8412
- MinorVer=0
8413
- Platform=MacOSX
8414
- CssVersion=2
8415
- supportsCSS=true
8416
-
8417
- [iCab/3.0* (Macintosh; ?; PPC*)]
8418
- Parent=iCab
8419
- Version=3.0
8420
- MajorVer=3
8421
- MinorVer=0
8422
- Platform=MacPPC
8423
- CssVersion=2
8424
- supportsCSS=true
8425
-
8426
- [iCab/4.0 (Macintosh; U; *Mac OS X)]
8427
- Parent=iCab
8428
- Version=4.0
8429
- MajorVer=4
8430
- MinorVer=0
8431
- Platform=MacOSX
8432
-
8433
- [Mozilla/* (compatible; iCab 3.0*; Macintosh; *Mac OS X*)]
8434
- Parent=iCab
8435
- Version=3.0
8436
- MajorVer=3
8437
- MinorVer=0
8438
- Platform=MacOSX
8439
- CssVersion=2
8440
- supportsCSS=true
8441
-
8442
- [Mozilla/* (compatible; iCab 3.0*; Macintosh; ?; PPC*)]
8443
- Parent=iCab
8444
- Version=3.0
8445
- MajorVer=3
8446
- MinorVer=0
8447
- Platform=MacPPC
8448
- CssVersion=2
8449
- supportsCSS=true
8450
-
8451
- [Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; 68K*)]
8452
- Parent=iCab
8453
- Version=2.7
8454
- MajorVer=2
8455
- MinorVer=7
8456
- Platform=Mac68K
8457
-
8458
- [Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; PPC*)]
8459
- Parent=iCab
8460
- Version=2.7
8461
- MajorVer=2
8462
- MinorVer=7
8463
- Platform=MacPPC
8464
-
8465
- [Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; *Mac OS X*)]
8466
- Parent=iCab
8467
- Version=2.8
8468
- MajorVer=2
8469
- MinorVer=8
8470
- Platform=MacOSX
8471
-
8472
- [Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; PPC*)]
8473
- Parent=iCab
8474
- Version=2.8
8475
- MajorVer=2
8476
- MinorVer=8
8477
- Platform=MacPPC
8478
-
8479
- [Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; *Mac OS X*)]
8480
- Parent=iCab
8481
- Version=2.9
8482
- MajorVer=2
8483
- MinorVer=9
8484
- Platform=MacOSX
8485
-
8486
- [Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; ?; PPC*)]
8487
- Parent=iCab
8488
- Version=2.9
8489
- MajorVer=2
8490
- MinorVer=9
8491
- Platform=MacPPC
8492
-
8493
- [Mozilla/4.5 (compatible; iCab 4.2*; Macintosh; *Mac OS X*)]
8494
- Parent=iCab
8495
- Version=4.2
8496
- MajorVer=4
8497
- MinorVer=2
8498
- Platform=MacOSX
8499
-
8500
- [Mozilla/5.0 (Macintosh; U; Intel Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) iCab/4.7 Safari/*]
8501
- Parent=iCab
8502
- Version=4.7
8503
- MajorVer=4
8504
- MinorVer=7
8505
-
8506
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iSiloX
8507
-
8508
- [iSiloX]
8509
- Parent=DefaultProperties
8510
- Browser="iSiloX"
8511
- Frames=true
8512
- IFrames=true
8513
- Tables=true
8514
- Cookies=true
8515
- JavaScript=true
8516
- Crawler=true
8517
- CssVersion=2
8518
- supportsCSS=true
8519
-
8520
- [iSiloX/4.0* MacOS]
8521
- Parent=iSiloX
8522
- Version=4.0
8523
- MajorVer=4
8524
- MinorVer=0
8525
- Platform=MacPPC
8526
-
8527
- [iSiloX/4.0* Windows/32]
8528
- Parent=iSiloX
8529
- Version=4.0
8530
- MajorVer=4
8531
- MinorVer=0
8532
- Platform=Win32
8533
- Win32=true
8534
-
8535
- [iSiloX/4.1* MacOS]
8536
- Parent=iSiloX
8537
- Version=4.1
8538
- MajorVer=4
8539
- MinorVer=1
8540
- Platform=MacPPC
8541
-
8542
- [iSiloX/4.1* Windows/32]
8543
- Parent=iSiloX
8544
- Version=4.1
8545
- MajorVer=4
8546
- MinorVer=1
8547
- Platform=Win32
8548
- Win32=true
8549
-
8550
- [iSiloX/4.2* MacOS]
8551
- Parent=iSiloX
8552
- Version=4.2
8553
- MajorVer=4
8554
- MinorVer=2
8555
- Platform=MacPPC
8556
-
8557
- [iSiloX/4.2* Windows/32]
8558
- Parent=iSiloX
8559
- Version=4.2
8560
- MajorVer=4
8561
- MinorVer=2
8562
- Platform=Win32
8563
- Win32=true
8564
-
8565
- [iSiloX/4.3* MacOS]
8566
- Parent=iSiloX
8567
- Version=4.3
8568
- MajorVer=4
8569
- MinorVer=4
8570
- Platform=MacOSX
8571
-
8572
- [iSiloX/4.3* Windows/32]
8573
- Parent=iSiloX
8574
- Version=4.3
8575
- MajorVer=4
8576
- MinorVer=3
8577
- Platform=Win32
8578
- Win32=true
8579
-
8580
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycoris Desktop/LX
8581
-
8582
- [Lycoris Desktop/LX]
8583
- Parent=DefaultProperties
8584
- Browser="Lycoris Desktop/LX"
8585
- Frames=true
8586
- IFrames=true
8587
- Tables=true
8588
- Cookies=true
8589
- JavaApplets=true
8590
- JavaScript=true
8591
- Crawler=true
8592
-
8593
- [Mozilla/5.0 (X11; U; Linux i686*; en-US; rv:1.*: Desktop/LX Amethyst) Gecko/*]
8594
- Parent=Lycoris Desktop/LX
8595
- Version=1.1
8596
- MajorVer=1
8597
- MinorVer=1
8598
- Platform=Linux
8599
-
8600
- [Mozilla/5.0 (X11; U; Linux i686*; en-US; rv:1.*; Desktop/LX Amethyst) Gecko/*]
8601
- Parent=Lycoris Desktop/LX
8602
- Version=1.0
8603
- MajorVer=1
8604
- MinorVer=0
8605
- Platform=Linux
8606
-
8607
- [Mozilla/4.0 (VMS_Mosaic)]
8608
- Parent=Mosaic
8609
- Platform=OpenVMS
8610
-
8611
- [VMS_Mosaic/3.7*]
8612
- Parent=Mosaic
8613
- Version=3.7
8614
- MajorVer=3
8615
- MinorVer=7
8616
- Platform=OpenVMS
8617
-
8618
- [VMS_Mosaic/3.8*]
8619
- Parent=Mosaic
8620
- Version=3.8
8621
- MajorVer=3
8622
- MinorVer=8
8623
- Platform=OpenVMS
8624
-
8625
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetPositive
8626
-
8627
- [NetPositive]
8628
- Parent=DefaultProperties
8629
- Browser="NetPositive"
8630
- Platform=BeOS
8631
- Frames=true
8632
- IFrames=true
8633
- Tables=true
8634
- Cookies=true
8635
- JavaApplets=true
8636
- JavaScript=true
8637
-
8638
- [*NetPositive/2.2*]
8639
- Parent=NetPositive
8640
- Version=2.2
8641
- MajorVer=2
8642
- MinorVer=2
8643
-
8644
- [*NetPositive/2.2*BeOS*]
8645
- Parent=NetPositive
8646
- Version=2.2
8647
- MajorVer=2
8648
- MinorVer=2
8649
-
8650
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OmniWeb
8651
-
8652
- [OmniWeb]
8653
- Parent=DefaultProperties
8654
- Browser="OmniWeb"
8655
- Platform=MacOSX
8656
- Frames=true
8657
- Tables=true
8658
- Cookies=true
8659
- JavaApplets=true
8660
- JavaScript=true
8661
- isMobileDevice=true
8662
- CssVersion=2
8663
- supportsCSS=true
8664
-
8665
- [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v4*]
8666
- Parent=OmniWeb
8667
- Version=4.5
8668
- MajorVer=4
8669
- MinorVer=5
8670
- Platform=MacOSX
8671
-
8672
- [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v5*]
8673
- Parent=OmniWeb
8674
- Version=5.
8675
- MajorVer=5
8676
- MinorVer=0
8677
- Platform=MacOSX
8678
-
8679
- [Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v6*]
8680
- Parent=OmniWeb
8681
- Version=6.0
8682
- MajorVer=6
8683
- MinorVer=0
8684
- Platform=MacOSX
8685
-
8686
- [Mozilla/* (Macintosh; ?; PPC) OmniWeb/4*]
8687
- Parent=OmniWeb
8688
- Version=4.0
8689
- MajorVer=4
8690
- MinorVer=0
8691
- Platform=MacPPC
8692
-
8693
- [Mozilla/* (Macintosh; ?; PPC) OmniWeb/5*]
8694
- Parent=OmniWeb
8695
- Version=5.0
8696
- MajorVer=5
8697
- MinorVer=0
8698
- Platform=MacOSX
8699
-
8700
- [Mozilla/* (Macintosh; ?; PPC) OmniWeb/6*]
8701
- Parent=OmniWeb
8702
- Version=6.0
8703
- MajorVer=6
8704
- MinorVer=0
8705
- Platform=MacPPC
8706
-
8707
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
8708
- Parent=OmniWeb
8709
- Version=5.1
8710
- MajorVer=5
8711
- MinorVer=1
8712
-
8713
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
8714
- Parent=OmniWeb
8715
- Version=5.5
8716
- MajorVer=5
8717
- MinorVer=5
8718
-
8719
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
8720
- Parent=OmniWeb
8721
- Version=5.6
8722
- MajorVer=5
8723
- MinorVer=6
8724
-
8725
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v496]
8726
- Parent=OmniWeb
8727
- Version=4.5
8728
- MajorVer=4
8729
- MinorVer=5
8730
-
8731
- [Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v558.36 ]
8732
- Parent=OmniWeb
8733
- Version=5.0
8734
- MajorVer=5
8735
- MinorVer=0
8736
-
8737
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Shiira
8738
-
8739
- [Shiira]
8740
- Parent=DefaultProperties
8741
- Browser="Shiira"
8742
- Platform=MacOSX
8743
- Frames=true
8744
- IFrames=true
8745
- Tables=true
8746
- Cookies=true
8747
- BackgroundSounds=true
8748
- JavaApplets=true
8749
- JavaScript=true
8750
- CssVersion=2
8751
- supportsCSS=true
8752
-
8753
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/0.9*]
8754
- Parent=Shiira
8755
- Version=0.9
8756
- MajorVer=0
8757
- MinorVer=9
8758
-
8759
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.0*]
8760
- Parent=Shiira
8761
- Version=1.0
8762
- MajorVer=1
8763
- MinorVer=0
8764
-
8765
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.1*]
8766
- Parent=Shiira
8767
- Version=1.1
8768
- MajorVer=1
8769
- MinorVer=1
8770
-
8771
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.2*]
8772
- Parent=Shiira
8773
- Version=1.2
8774
- MajorVer=1
8775
- MinorVer=2
8776
-
8777
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.1*]
8778
- Parent=Shiira
8779
- Version=2.1
8780
- MajorVer=2
8781
- MinorVer=1
8782
-
8783
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.2*]
8784
- Parent=Shiira
8785
- Version=2.2
8786
- MajorVer=2
8787
- MinorVer=2
8788
-
8789
- [Windows Maker]
8790
- Parent=DefaultProperties
8791
- Browser="WMaker"
8792
- Platform=Linux
8793
- Frames=true
8794
- IFrames=true
8795
- Tables=true
8796
- Cookies=true
8797
- VBScript=true
8798
- JavaApplets=true
8799
- JavaScript=true
8800
- CssVersion=2
8801
- supportsCSS=true
8802
-
8803
- [WMaker*]
8804
- Parent=Windows Maker
8805
-
8806
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.0
8807
-
8808
- [K-Meleon 1.0]
8809
- Parent=DefaultProperties
8810
- Browser="K-Meleon"
8811
- Version=1.0
8812
- MajorVer=1
8813
- Win32=true
8814
- Frames=true
8815
- IFrames=true
8816
- Tables=true
8817
- Cookies=true
8818
- JavaApplets=true
8819
- JavaScript=true
8820
- CssVersion=2
8821
- supportsCSS=true
8822
-
8823
- [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8824
- Parent=K-Meleon 1.0
8825
- Version=1.0
8826
- MajorVer=1
8827
- MinorVer=0
8828
- Platform=Win95
8829
- Win32=true
8830
-
8831
- [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8832
- Parent=K-Meleon 1.0
8833
- Version=1.0
8834
- MajorVer=1
8835
- MinorVer=0
8836
- Platform=Win98
8837
- Win32=true
8838
-
8839
- [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.0*]
8840
- Parent=K-Meleon 1.0
8841
- Version=1.0
8842
- MajorVer=1
8843
- MinorVer=0
8844
- Platform=Win2000
8845
- Win32=true
8846
-
8847
- [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8848
- Parent=K-Meleon 1.0
8849
- Version=1.0
8850
- MajorVer=1
8851
- MinorVer=0
8852
- Platform=WinXP
8853
- Win32=true
8854
-
8855
- [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8856
- Parent=K-Meleon 1.0
8857
- Version=1.0
8858
- MajorVer=1
8859
- MinorVer=0
8860
- Platform=Win2003
8861
- Win32=true
8862
-
8863
- [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.0*]
8864
- Parent=K-Meleon 1.0
8865
- Version=1.0
8866
- MajorVer=1
8867
- MinorVer=0
8868
- Platform=WinNT
8869
- Win32=true
8870
-
8871
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.1
8872
-
8873
- [K-Meleon 1.1]
8874
- Parent=DefaultProperties
8875
- Browser="K-Meleon"
8876
- Version=1.1
8877
- MajorVer=1
8878
- MinorVer=1
8879
- Win32=true
8880
- Frames=true
8881
- IFrames=true
8882
- Tables=true
8883
- Cookies=true
8884
- JavaApplets=true
8885
- JavaScript=true
8886
- CssVersion=2
8887
- supportsCSS=true
8888
-
8889
- [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8890
- Parent=K-Meleon 1.1
8891
- Version=1.0
8892
- MajorVer=1
8893
- MinorVer=0
8894
- Platform=Win95
8895
- Win32=true
8896
-
8897
- [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8898
- Parent=K-Meleon 1.1
8899
- Version=1.0
8900
- MajorVer=1
8901
- MinorVer=0
8902
- Platform=Win98
8903
- Win32=true
8904
-
8905
- [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.1*]
8906
- Parent=K-Meleon 1.1
8907
- Version=1.0
8908
- MajorVer=1
8909
- MinorVer=0
8910
- Platform=Win2000
8911
- Win32=true
8912
-
8913
- [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8914
- Parent=K-Meleon 1.1
8915
- Version=1.0
8916
- MajorVer=1
8917
- MinorVer=0
8918
- Platform=WinXP
8919
- Win32=true
8920
-
8921
- [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8922
- Parent=K-Meleon 1.1
8923
- Version=1.0
8924
- MajorVer=1
8925
- MinorVer=0
8926
- Platform=Win2003
8927
- Win32=true
8928
-
8929
- [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.1*]
8930
- Parent=K-Meleon 1.1
8931
- Version=1.0
8932
- MajorVer=1
8933
- MinorVer=0
8934
- Platform=WinNT
8935
- Win32=true
8936
-
8937
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.5
8938
-
8939
- [K-Meleon 1.5]
8940
- Parent=DefaultProperties
8941
- Browser="K-Meleon"
8942
- Version=1.5
8943
- MajorVer=1
8944
- MinorVer=5
8945
- Win32=true
8946
- Frames=true
8947
- IFrames=true
8948
- Tables=true
8949
- Cookies=true
8950
- JavaApplets=true
8951
- JavaScript=true
8952
- CssVersion=2
8953
- supportsCSS=true
8954
-
8955
- [Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8956
- Parent=K-Meleon 1.5
8957
- Version=1.0
8958
- MajorVer=1
8959
- MinorVer=0
8960
- Platform=Win95
8961
- Win32=true
8962
-
8963
- [Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8964
- Parent=K-Meleon 1.5
8965
- Version=1.0
8966
- MajorVer=1
8967
- MinorVer=0
8968
- Platform=Win98
8969
- Win32=true
8970
-
8971
- [Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.5*]
8972
- Parent=K-Meleon 1.5
8973
- Version=1.0
8974
- MajorVer=1
8975
- MinorVer=0
8976
- Platform=Win2000
8977
- Win32=true
8978
-
8979
- [Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8980
- Parent=K-Meleon 1.5
8981
- Version=1.0
8982
- MajorVer=1
8983
- MinorVer=0
8984
- Platform=WinXP
8985
- Win32=true
8986
-
8987
- [Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8988
- Parent=K-Meleon 1.5
8989
- Version=1.0
8990
- MajorVer=1
8991
- MinorVer=0
8992
- Platform=Win2003
8993
- Win32=true
8994
-
8995
- [Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
8996
- Parent=K-Meleon 1.5
8997
- Platform=WinVista
8998
-
8999
- [Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
9000
- Parent=K-Meleon 1.5
9001
- Platform=Win7
9002
-
9003
- [Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
9004
- Parent=K-Meleon 1.5
9005
- Version=1.0
9006
- MajorVer=1
9007
- MinorVer=0
9008
- Platform=WinNT
9009
- Win32=true
9010
-
9011
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 3.0
9012
-
9013
- [Konqueror 3.0]
9014
- Parent=DefaultProperties
9015
- Browser="Konqueror"
9016
- Platform=Linux
9017
- Frames=true
9018
- IFrames=true
9019
- Tables=true
9020
- Cookies=true
9021
- JavaScript=true
9022
- CssVersion=2
9023
- supportsCSS=true
9024
-
9025
- [*Konqueror/3.0*]
9026
- Parent=Konqueror 3.0
9027
- Version=3.0
9028
- MajorVer=3
9029
- MinorVer=0
9030
- IFrames=false
9031
-
9032
- [*Konqueror/3.0*FreeBSD*]
9033
- Parent=Konqueror 3.0
9034
- Version=3.0
9035
- MajorVer=3
9036
- MinorVer=0
9037
- Platform=FreeBSD
9038
- IFrames=false
9039
-
9040
- [*Konqueror/3.0*Linux*]
9041
- Parent=Konqueror 3.0
9042
- Version=3.0
9043
- MajorVer=3
9044
- MinorVer=0
9045
- Platform=Linux
9046
- IFrames=false
9047
-
9048
- [*Konqueror/3.1*]
9049
- Parent=Konqueror 3.0
9050
- Version=3.1
9051
- MajorVer=3
9052
- MinorVer=1
9053
-
9054
- [*Konqueror/3.1*FreeBSD*]
9055
- Parent=Konqueror 3.0
9056
- Version=3.1
9057
- MajorVer=3
9058
- MinorVer=1
9059
- Platform=FreeBSD
9060
-
9061
- [*Konqueror/3.1*Linux*]
9062
- Parent=Konqueror 3.0
9063
- Version=3.1
9064
- MajorVer=3
9065
- MinorVer=1
9066
-
9067
- [*Konqueror/3.2*]
9068
- Parent=Konqueror 3.0
9069
- Version=3.2
9070
- MajorVer=3
9071
- MinorVer=2
9072
-
9073
- [*Konqueror/3.2*FreeBSD*]
9074
- Parent=Konqueror 3.0
9075
- Version=3.2
9076
- MajorVer=3
9077
- MinorVer=2
9078
- Platform=FreeBSD
9079
-
9080
- [*Konqueror/3.2*Linux*]
9081
- Parent=Konqueror 3.0
9082
- Version=3.2
9083
- MajorVer=3
9084
- MinorVer=2
9085
- Platform=Linux
9086
-
9087
- [*Konqueror/3.3*]
9088
- Parent=Konqueror 3.0
9089
- Version=3.3
9090
- MajorVer=3
9091
- MinorVer=3
9092
-
9093
- [*Konqueror/3.3*FreeBSD*]
9094
- Parent=Konqueror 3.0
9095
- Version=3.3
9096
- MajorVer=3
9097
- MinorVer=3
9098
- Platform=FreeBSD
9099
-
9100
- [*Konqueror/3.3*Linux*]
9101
- Parent=Konqueror 3.0
9102
- Version=3.3
9103
- MajorVer=3
9104
- MinorVer=3
9105
- Platform=Linux
9106
-
9107
- [*Konqueror/3.3*OpenBSD*]
9108
- Parent=Konqueror 3.0
9109
- Version=3.3
9110
- MajorVer=3
9111
- MinorVer=3
9112
- Platform=OpenBSD
9113
-
9114
- [*Konqueror/3.4*]
9115
- Parent=Konqueror 3.0
9116
- Version=3.4
9117
- MajorVer=3
9118
- MinorVer=4
9119
-
9120
- [*Konqueror/3.4*FreeBSD*]
9121
- Parent=Konqueror 3.0
9122
- Version=3.4
9123
- MajorVer=3
9124
- MinorVer=4
9125
- Platform=FreeBSD
9126
-
9127
- [*Konqueror/3.4*Linux*]
9128
- Parent=Konqueror 3.0
9129
- Version=3.4
9130
- MajorVer=3
9131
- MinorVer=4
9132
- Platform=Linux
9133
-
9134
- [*Konqueror/3.4*OpenBSD*]
9135
- Parent=Konqueror 3.0
9136
- Version=3.4
9137
- MajorVer=3
9138
- MinorVer=4
9139
- Platform=OpenBSD
9140
-
9141
- [*Konqueror/3.5*]
9142
- Parent=Konqueror 3.0
9143
- Version=3.5
9144
- MajorVer=3
9145
- MinorVer=5
9146
-
9147
- [*Konqueror/3.5*FreeBSD*]
9148
- Parent=Konqueror 3.0
9149
- Version=3.5
9150
- MajorVer=3
9151
- MinorVer=5
9152
- Platform=FreeBSD
9153
-
9154
- [*Konqueror/3.5*Linux*]
9155
- Parent=Konqueror 3.0
9156
- Version=3.5
9157
- MajorVer=3
9158
- MinorVer=5
9159
- Platform=Linux
9160
-
9161
- [*Konqueror/3.5*OpenBSD*]
9162
- Parent=Konqueror 3.0
9163
- Version=3.5
9164
- MajorVer=3
9165
- MinorVer=5
9166
- Platform=OpenBSD
9167
-
9168
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.0
9169
-
9170
- [Konqueror 4.0]
9171
- Parent=DefaultProperties
9172
- Browser="Konqueror"
9173
- Version=4.0
9174
- MajorVer=4
9175
- Frames=true
9176
- IFrames=true
9177
- Tables=true
9178
- Cookies=true
9179
- JavaScript=true
9180
- CssVersion=2
9181
- supportsCSS=true
9182
-
9183
- [Mozilla/5.0 (compatible; Konqueror/4.0*) KHTML/4.0* (like Gecko)]
9184
- Parent=Konqueror 4.0
9185
-
9186
- [Mozilla/5.0 (compatible; Konqueror/4.0*; Debian) KHTML/4.0* (like Gecko)]
9187
- Parent=Konqueror 4.0
9188
- Platform=Debian
9189
-
9190
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; *Linux) KHTML/4.0* (like Gecko)]
9191
- Parent=Konqueror 4.0
9192
- Platform=Linux
9193
-
9194
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; FreeBSD) KHTML/4.0* (like Gecko)]
9195
- Parent=Konqueror 4.0
9196
- Platform=FreeBSD
9197
-
9198
- [Mozilla/5.0 (compatible; Konqueror/4.0.*; NetBSD) KHTML/4.0* (like Gecko)]
9199
- Parent=Konqueror 4.0
9200
- Platform=NetBSD
9201
-
9202
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.1
9203
-
9204
- [Konqueror 4.1]
9205
- Parent=DefaultProperties
9206
- Browser="Konqueror"
9207
- Version=4.1
9208
- MajorVer=4
9209
- MinorVer=1
9210
- Frames=true
9211
- IFrames=true
9212
- Tables=true
9213
- Cookies=true
9214
- JavaScript=true
9215
- CssVersion=2
9216
- supportsCSS=true
9217
-
9218
- [Mozilla/5.0 (compatible; Konqueror/4.1*) KHTML/4.1* (like Gecko)*]
9219
- Parent=Konqueror 4.1
9220
-
9221
- [Mozilla/5.0 (compatible; Konqueror/4.1*; *Linux*) KHTML/4.1* (like Gecko)*]
9222
- Parent=Konqueror 4.1
9223
- Platform=Linux
9224
-
9225
- [Mozilla/5.0 (compatible; Konqueror/4.1*; Debian) KHTML/4.1* (like Gecko)*]
9226
- Parent=Konqueror 4.1
9227
- Platform=Debian
9228
-
9229
- [Mozilla/5.0 (compatible; Konqueror/4.1*; FreeBSD) KHTML/4.1* (like Gecko)*]
9230
- Parent=Konqueror 4.1
9231
- Platform=FreeBSD
9232
-
9233
- [Mozilla/5.0 (compatible; Konqueror/4.1*; NetBSD) KHTML/4.1* (like Gecko)*]
9234
- Parent=Konqueror 4.1
9235
- Platform=NetBSD
9236
-
9237
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.2
9238
-
9239
- [Konqueror 4.2]
9240
- Parent=DefaultProperties
9241
- Browser="Konqueror"
9242
- Version=4.2
9243
- MajorVer=4
9244
- MinorVer=2
9245
- Frames=true
9246
- IFrames=true
9247
- Tables=true
9248
- Cookies=true
9249
- JavaScript=true
9250
- CssVersion=2
9251
- supportsCSS=true
9252
-
9253
- [Mozilla/5.0 (compatible; Konqueror/4.2*) KHTML/4.2* (like Gecko)*]
9254
- Parent=Konqueror 4.2
9255
-
9256
- [Mozilla/5.0 (compatible; Konqueror/4.2*; *Linux*) KHTML/4.2* (like Gecko)*]
9257
- Parent=Konqueror 4.2
9258
- Platform=Linux
9259
-
9260
- [Mozilla/5.0 (compatible; Konqueror/4.2*; Debian) KHTML/4.2* (like Gecko)*]
9261
- Parent=Konqueror 4.2
9262
- Platform=Debian
9263
-
9264
- [Mozilla/5.0 (compatible; Konqueror/4.2*; FreeBSD) KHTML/4.2* (like Gecko)*]
9265
- Parent=Konqueror 4.2
9266
- Platform=FreeBSD
9267
-
9268
- [Mozilla/5.0 (compatible; Konqueror/4.2*; NetBSD) KHTML/4.2* (like Gecko)*]
9269
- Parent=Konqueror 4.2
9270
- Platform=NetBSD
9271
-
9272
- [Mozilla/5.0 (compatible; Konqueror/4.2*; Windows) KHTML/4.2* (like Gecko)]
9273
- Parent=Konqueror 4.2
9274
- Platform=Win
9275
-
9276
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.3
9277
-
9278
- [Konqueror 4.3]
9279
- Parent=DefaultProperties
9280
- Browser="Konqueror"
9281
- Version=4.3
9282
- MajorVer=4
9283
- MinorVer=3
9284
- Frames=true
9285
- IFrames=true
9286
- Tables=true
9287
- Cookies=true
9288
- JavaScript=true
9289
- CssVersion=2
9290
- supportsCSS=true
9291
-
9292
- [Mozilla/5.0 (compatible; Konqueror/4.3*) KHTML/4.3* (like Gecko)*]
9293
- Parent=Konqueror 4.3
9294
-
9295
- [Mozilla/5.0 (compatible; Konqueror/4.3*; *Linux*) KHTML/4.3* (like Gecko)*]
9296
- Parent=Konqueror 4.3
9297
- Platform=Linux
9298
-
9299
- [Mozilla/5.0 (compatible; Konqueror/4.3*; Debian) KHTML/4.3* (like Gecko)*]
9300
- Parent=Konqueror 4.3
9301
- Platform=Debian
9302
-
9303
- [Mozilla/5.0 (compatible; Konqueror/4.3*; FreeBSD) KHTML/4.3* (like Gecko)*]
9304
- Parent=Konqueror 4.3
9305
- Platform=FreeBSD
9306
-
9307
- [Mozilla/5.0 (compatible; Konqueror/4.3*; NetBSD) KHTML/4.3* (like Gecko)*]
9308
- Parent=Konqueror 4.3
9309
- Platform=NetBSD
9310
-
9311
- [Mozilla/5.0 (compatible; Konqueror/4.3*; Windows) KHTML/4.3* (like Gecko)]
9312
- Parent=Konqueror 4.3
9313
- Platform=Win
9314
-
9315
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari
9316
-
9317
- [Safari]
9318
- Parent=DefaultProperties
9319
- Browser="Safari"
9320
- Platform=MacOSX
9321
- Frames=true
9322
- IFrames=true
9323
- Tables=true
9324
- Cookies=true
9325
- BackgroundSounds=true
9326
- JavaApplets=true
9327
- JavaScript=true
9328
- CssVersion=2
9329
- supportsCSS=true
9330
-
9331
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/100*]
9332
- Parent=Safari
9333
- Version=1.1
9334
- MajorVer=1
9335
- MinorVer=1
9336
-
9337
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/125*]
9338
- Parent=Safari
9339
- Version=1.2
9340
- MajorVer=1
9341
- MinorVer=2
9342
-
9343
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/312*]
9344
- Parent=Safari
9345
- Version=1.3
9346
- MajorVer=1
9347
- MinorVer=3
9348
-
9349
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/412*]
9350
- Parent=Safari
9351
- Version=2.0
9352
- MajorVer=2
9353
- MinorVer=0
9354
-
9355
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/416*]
9356
- Parent=Safari
9357
- Version=2.0
9358
- MajorVer=2
9359
- MinorVer=0
9360
-
9361
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/417*]
9362
- Parent=Safari
9363
- Version=2.0
9364
- MajorVer=2
9365
- MinorVer=0
9366
-
9367
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/418*]
9368
- Parent=Safari
9369
- Version=2.0
9370
- MajorVer=2
9371
- MinorVer=0
9372
-
9373
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/419*]
9374
- Parent=Safari
9375
- Version=2.0
9376
- MajorVer=2
9377
- MinorVer=0
9378
-
9379
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/52*]
9380
- Parent=Safari
9381
- Beta=true
9382
-
9383
- [Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/85*]
9384
- Parent=Safari
9385
- Version=1.0
9386
- MajorVer=1
9387
- MinorVer=0
9388
-
9389
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.0
9390
-
9391
- [Safari 3.0]
9392
- Parent=DefaultProperties
9393
- Browser="Safari"
9394
- Version=3.0
9395
- MajorVer=3
9396
- Platform=MacOSX
9397
- Frames=true
9398
- IFrames=true
9399
- Tables=true
9400
- Cookies=true
9401
- BackgroundSounds=true
9402
- JavaApplets=true
9403
- JavaScript=true
9404
- CssVersion=2
9405
- supportsCSS=true
9406
-
9407
- [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.0* Safari/*]
9408
- Parent=Safari 3.0
9409
- Platform=MacOSX
9410
-
9411
- [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9412
- Parent=Safari 3.0
9413
- Platform=WinXP
9414
-
9415
- [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9416
- Parent=Safari 3.0
9417
- Platform=Win2003
9418
-
9419
- [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9420
- Parent=Safari 3.0
9421
- Platform=WinVista
9422
-
9423
- [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
9424
- Parent=Safari 3.0
9425
- Platform=Win7
9426
-
9427
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.1
9428
-
9429
- [Safari 3.1]
9430
- Parent=DefaultProperties
9431
- Browser="Safari"
9432
- Version=3.1
9433
- MajorVer=3
9434
- MinorVer=1
9435
- Platform=MacOSX
9436
- Frames=true
9437
- IFrames=true
9438
- Tables=true
9439
- Cookies=true
9440
- BackgroundSounds=true
9441
- JavaApplets=true
9442
- JavaScript=true
9443
- CssVersion=2
9444
- supportsCSS=true
9445
-
9446
- [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*]
9447
- Parent=Safari 3.1
9448
- Platform=MacOSX
9449
-
9450
- [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9451
- Parent=Safari 3.1
9452
- Platform=WinXP
9453
-
9454
- [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9455
- Parent=Safari 3.1
9456
- Platform=Win2003
9457
-
9458
- [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9459
- Parent=Safari 3.1
9460
- Platform=WinVista
9461
-
9462
- [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
9463
- Parent=Safari 3.1
9464
- Platform=Win7
9465
-
9466
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.2
9467
-
9468
- [Safari 3.2]
9469
- Parent=DefaultProperties
9470
- Browser="Safari"
9471
- Version=3.2
9472
- MajorVer=3
9473
- MinorVer=2
9474
- Frames=true
9475
- IFrames=true
9476
- Tables=true
9477
- Cookies=true
9478
- BackgroundSounds=true
9479
- JavaApplets=true
9480
- JavaScript=true
9481
- CssVersion=3
9482
- supportsCSS=true
9483
-
9484
- [Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.2* Safari/*]
9485
- Parent=Safari 3.2
9486
- Platform=MacOSX
9487
-
9488
- [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9489
- Parent=Safari 3.2
9490
- Platform=WinXP
9491
-
9492
- [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9493
- Parent=Safari 3.2
9494
- Platform=Win2003
9495
-
9496
- [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9497
- Parent=Safari 3.2
9498
- Platform=WinVista
9499
-
9500
- [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
9501
- Parent=Safari 3.2
9502
- Platform=Win7
9503
-
9504
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 4.0
9505
-
9506
- [Safari 4.0]
9507
- Parent=DefaultProperties
9508
- Browser="Safari"
9509
- Version=4.0
9510
- MajorVer=4
9511
- Frames=true
9512
- IFrames=true
9513
- Tables=true
9514
- Cookies=true
9515
- BackgroundSounds=true
9516
- JavaApplets=true
9517
- JavaScript=true
9518
- CssVersion=3
9519
- supportsCSS=true
9520
-
9521
- [Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4.0* Safari/*]
9522
- Parent=Safari 4.0
9523
- Platform=MacOSX
9524
-
9525
- [Mozilla/5.0 (Macintosh; U; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4 Public Beta Safari/*]
9526
- Parent=Safari 4.0
9527
-
9528
- [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9529
- Parent=Safari 4.0
9530
- Platform=WinXP
9531
-
9532
- [Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9533
- Parent=Safari 4.0
9534
- Platform=WinXP
9535
-
9536
- [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9537
- Parent=Safari 4.0
9538
- Platform=Win2003
9539
-
9540
- [Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9541
- Parent=Safari 4.0
9542
- Platform=Win2003
9543
-
9544
- [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9545
- Parent=Safari 4.0
9546
- Platform=WinVista
9547
-
9548
- [Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9549
- Parent=Safari 4.0
9550
- Platform=WinVista
9551
-
9552
- [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9553
- Parent=Safari 4.0
9554
- Platform=Win7
9555
-
9556
- [Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9557
- Parent=Safari 4.0
9558
- Platform=Win7
9559
-
9560
- [Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
9561
- Parent=Safari 4.0
9562
- Platform=Win7
9563
-
9564
- [Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
9565
- Parent=Safari 4.0
9566
- Platform=Win7
9567
-
9568
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 10
9569
-
9570
- [Opera 10]
9571
- Parent=DefaultProperties
9572
- Browser="Opera"
9573
- Version=10.0
9574
- MajorVer=10
9575
- Frames=true
9576
- IFrames=true
9577
- Tables=true
9578
- Cookies=true
9579
- BackgroundSounds=true
9580
- JavaApplets=true
9581
- JavaScript=true
9582
- CssVersion=2
9583
- supportsCSS=true
9584
-
9585
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0; *) Opera 10.*]
9586
- Parent=Opera 10
9587
- Platform=Win2000
9588
-
9589
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1; *) Opera 10.*]
9590
- Parent=Opera 10
9591
- Platform=WinXP
9592
-
9593
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2; *) Opera 10.*]
9594
- Parent=Opera 10
9595
- Platform=Win2003
9596
-
9597
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0; *) Opera 10.*]
9598
- Parent=Opera 10
9599
- Platform=WinVista
9600
-
9601
- [Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1; *) Opera 10.*]
9602
- Parent=Opera 10
9603
- Platform=Win7
9604
-
9605
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; FreeBSD*) Opera 10.*]
9606
- Parent=Opera 10
9607
- Platform=FreeBSD
9608
-
9609
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; Linux*; *) Opera 10.*]
9610
- Parent=Opera 10
9611
- Platform=Linux
9612
-
9613
- [Mozilla/4.0 (compatible; MSIE ?.0; X11; SunOS*) Opera 10.*]
9614
- Parent=Opera 10
9615
- Platform=SunOS
9616
-
9617
- [Opera/10.* (Macintosh; *Mac OS X; U; *) Presto/2.2.*]
9618
- Parent=Opera 10
9619
- Platform=MacOSX
9620
-
9621
- [Opera/10.* (Windows NT 5.0; U; *) Presto/2.2.*]
9622
- Parent=Opera 10
9623
- Platform=Win2000
9624
-
9625
- [Opera/10.* (Windows NT 5.1; U; *) Presto/2.2.*]
9626
- Parent=Opera 10
9627
- Platform=WinXP
9628
-
9629
- [Opera/10.* (Windows NT 5.2; U; *) Presto/2.2.*]
9630
- Parent=Opera 10
9631
- Platform=Win2003
9632
-
9633
- [Opera/10.* (Windows NT 6.0; U; *) Presto/2.2.*]
9634
- Parent=Opera 10
9635
- Platform=WinVista
9636
-
9637
- [Opera/10.* (Windows NT 6.1; U; *) Presto/2.2.*]
9638
- Parent=Opera 10
9639
- Platform=Win7
9640
-
9641
- [Opera/10.* (X11; FreeBSD; U; *) Presto/2.2.*]
9642
- Parent=Opera 10
9643
- Platform=FreeBSD
9644
-
9645
- [Opera/10.* (X11; Linux*; U; *) Presto/2.2.*]
9646
- Parent=Opera 10
9647
- Platform=Linux
9648
-
9649
- [Opera/10.* (X11; SunOS; U; *) Presto/2.2.*]
9650
- Parent=Opera 10
9651
- Platform=SunOS
9652
-
9653
- [Opera/9.80 (Macintosh; *Mac OS X; U; *) Presto/2.2.* Version/10.*]
9654
- Parent=Opera 10
9655
- Platform=MacOSX
9656
-
9657
- [Opera/9.80 (Windows NT 5.0; U; *) Presto/2.2.* Version/10.*]
9658
- Parent=Opera 10
9659
- Platform=Win2000
9660
-
9661
- [Opera/9.80 (Windows NT 5.1; U; *) Presto/2.2.* Version/10.*]
9662
- Parent=Opera 10
9663
- Platform=WinXP
9664
-
9665
- [Opera/9.80 (Windows NT 5.2; U; *) Presto/2.2.* Version/10.*]
9666
- Parent=Opera 10
9667
- Platform=Win2003
9668
-
9669
- [Opera/9.80 (Windows NT 6.0; U; *) Presto/2.2.* Version/10.*]
9670
- Parent=Opera 10
9671
- Platform=WinVista
9672
-
9673
- [Opera/9.80 (Windows NT 6.1; U; *) Presto/2.2.* Version/10.*]
9674
- Parent=Opera 10
9675
- Platform=Win7
9676
-
9677
- [Opera/9.80 (X11; FreeBSD; U; *) Presto/2.2.* Version/10.*]
9678
- Parent=Opera 10
9679
- Platform=FreeBSD
9680
-
9681
- [Opera/9.80 (X11; Linux*; U; *) Presto/2.2.* Version/10.*]
9682
- Parent=Opera 10
9683
- Platform=Linux
9684
-
9685
- [Opera/9.80 (X11; SunOS; U; *) Presto/2.2.* Version/10.*]
9686
- Parent=Opera 10
9687
- Platform=SunOS
9688
-
9689
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.0
9690
-
9691
- [Opera 7.0]
9692
- Parent=DefaultProperties
9693
- Browser="Opera"
9694
- Version=7.0
9695
- MajorVer=7
9696
- Frames=true
9697
- IFrames=true
9698
- Tables=true
9699
- Cookies=true
9700
- BackgroundSounds=true
9701
- JavaApplets=true
9702
- JavaScript=true
9703
- CssVersion=2
9704
- supportsCSS=true
9705
-
9706
- [Mozilla/3.0 (Windows 2000; ?) Opera 7.0*]
9707
- Parent=Opera 7.0
9708
- Platform=Win2000
9709
- Win32=true
9710
-
9711
- [Mozilla/3.0 (Windows 95; ?) Opera 7.0*]
9712
- Parent=Opera 7.0
9713
- Platform=Win95
9714
- Win32=true
9715
-
9716
- [Mozilla/3.0 (Windows 98; ?) Opera 7.0*]
9717
- Parent=Opera 7.0
9718
- Platform=Win98
9719
- Win32=true
9720
-
9721
- [Mozilla/3.0 (Windows ME; ?) Opera 7.0*]
9722
- Parent=Opera 7.0
9723
- Platform=WinME
9724
- Win32=true
9725
-
9726
- [Mozilla/3.0 (Windows NT 4.0; ?) Opera 7.0*]
9727
- Parent=Opera 7.0
9728
- Platform=WinNT
9729
- Win32=true
9730
-
9731
- [Mozilla/3.0 (Windows XP; ?) Opera 7.0*]
9732
- Parent=Opera 7.0
9733
- Platform=WinXP
9734
- Win32=true
9735
-
9736
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 2000) Opera 7.0*]
9737
- Parent=Opera 7.0
9738
- Platform=Win2000
9739
- Win32=true
9740
-
9741
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 95) Opera 7.0*]
9742
- Parent=Opera 7.0
9743
- Platform=Win95
9744
- Win32=true
9745
-
9746
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 98) Opera 7.0*]
9747
- Parent=Opera 7.0
9748
- Platform=Win98
9749
- Win32=true
9750
-
9751
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows ME) Opera 7.0*]
9752
- Parent=Opera 7.0
9753
- Platform=WinME
9754
- Win32=true
9755
-
9756
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0*]
9757
- Parent=Opera 7.0
9758
- Platform=WinNT
9759
- Win32=true
9760
-
9761
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.0*]
9762
- Parent=Opera 7.0
9763
- Platform=Win2000
9764
- Win32=true
9765
-
9766
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0*]
9767
- Parent=Opera 7.0
9768
- Platform=WinXP
9769
- Win32=true
9770
-
9771
- [Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows XP) Opera 7.0*]
9772
- Parent=Opera 7.0
9773
- Platform=WinXP
9774
- Win32=true
9775
-
9776
- [Mozilla/4.78 (Windows 2000; ?) Opera 7.0*]
9777
- Parent=Opera 7.0
9778
- Platform=Win2000
9779
- Win32=true
9780
-
9781
- [Mozilla/4.78 (Windows 95; ?) Opera 7.0*]
9782
- Parent=Opera 7.0
9783
- Platform=Win95
9784
- Win32=true
9785
-
9786
- [Mozilla/4.78 (Windows 98; ?) Opera 7.0*]
9787
- Parent=Opera 7.0
9788
- Platform=Win98
9789
- Win32=true
9790
-
9791
- [Mozilla/4.78 (Windows ME; ?) Opera 7.0*]
9792
- Parent=Opera 7.0
9793
- Platform=WinME
9794
- Win32=true
9795
-
9796
- [Mozilla/4.78 (Windows NT 4.0; ?) Opera 7.0*]
9797
- Parent=Opera 7.0
9798
- Platform=WinNT
9799
- Win32=true
9800
-
9801
- [Mozilla/4.78 (Windows NT 5.1; ?) Opera 7.0*]
9802
- Parent=Opera 7.0
9803
- Platform=WinXP
9804
- Win32=true
9805
-
9806
- [Mozilla/4.78 (Windows Windows NT 5.0; ?) Opera 7.0*]
9807
- Parent=Opera 7.0
9808
- Platform=Win2000
9809
- Win32=true
9810
-
9811
- [Mozilla/4.78 (Windows XP; ?) Opera 7.0*]
9812
- Parent=Opera 7.0
9813
- Platform=WinXP
9814
- Win32=true
9815
-
9816
- [Mozilla/5.0 (Windows 2000; ?) Opera 7.0*]
9817
- Parent=Opera 7.0
9818
- Platform=Win2000
9819
- Win32=true
9820
-
9821
- [Mozilla/5.0 (Windows 95; ?) Opera 7.0*]
9822
- Parent=Opera 7.0
9823
- Platform=Win95
9824
- Win32=true
9825
-
9826
- [Mozilla/5.0 (Windows 98; ?) Opera 7.0*]
9827
- Parent=Opera 7.0
9828
- Platform=Win98
9829
- Win32=true
9830
-
9831
- [Mozilla/5.0 (Windows ME; ?) Opera 7.0*]
9832
- Parent=Opera 7.0
9833
- Platform=WinME
9834
- Win32=true
9835
-
9836
- [Mozilla/5.0 (Windows NT 4.0; ?) Opera 7.0*]
9837
- Parent=Opera 7.0
9838
- Platform=WinNT
9839
- Win32=true
9840
-
9841
- [Mozilla/5.0 (Windows NT 5.1; ?) Opera 7.0*]
9842
- Parent=Opera 7.0
9843
- Platform=WinXP
9844
- Win32=true
9845
-
9846
- [Mozilla/5.0 (Windows XP; ?) Opera 7.0*]
9847
- Parent=Opera 7.0
9848
- Platform=WinXP
9849
- Win32=true
9850
-
9851
- [Opera/7.0* (Windows 2000; ?)*]
9852
- Parent=Opera 7.0
9853
- Platform=Win2000
9854
- Win32=true
9855
-
9856
- [Opera/7.0* (Windows 95; ?)*]
9857
- Parent=Opera 7.0
9858
- Platform=Win95
9859
- Win32=true
9860
-
9861
- [Opera/7.0* (Windows 98; ?)*]
9862
- Parent=Opera 7.0
9863
- Platform=Win98
9864
- Win32=true
9865
-
9866
- [Opera/7.0* (Windows ME; ?)*]
9867
- Parent=Opera 7.0
9868
- Platform=WinME
9869
- Win32=true
9870
-
9871
- [Opera/7.0* (Windows NT 4.0; ?)*]
9872
- Parent=Opera 7.0
9873
- Platform=WinNT
9874
- Win32=true
9875
-
9876
- [Opera/7.0* (Windows NT 5.0; ?)*]
9877
- Parent=Opera 7.0
9878
- Platform=Win2000
9879
- Win32=true
9880
-
9881
- [Opera/7.0* (Windows NT 5.1; ?)*]
9882
- Parent=Opera 7.0
9883
- Platform=WinXP
9884
- Win32=true
9885
-
9886
- [Opera/7.0* (Windows XP; ?)*]
9887
- Parent=Opera 7.0
9888
- Platform=WinXP
9889
- Win32=true
9890
-
9891
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.1
9892
-
9893
- [Opera 7.1]
9894
- Parent=DefaultProperties
9895
- Browser="Opera"
9896
- Version=7.1
9897
- MajorVer=7
9898
- MinorVer=1
9899
- Frames=true
9900
- IFrames=true
9901
- Tables=true
9902
- Cookies=true
9903
- BackgroundSounds=true
9904
- JavaApplets=true
9905
- JavaScript=true
9906
- CssVersion=2
9907
- supportsCSS=true
9908
-
9909
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.1*]
9910
- Parent=Opera 7.1
9911
- Platform=Win2000
9912
- Win32=true
9913
-
9914
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.1*]
9915
- Parent=Opera 7.1
9916
- Platform=Win95
9917
- Win32=true
9918
-
9919
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.1*]
9920
- Parent=Opera 7.1
9921
- Platform=Win98
9922
- Win32=true
9923
-
9924
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.1*]
9925
- Parent=Opera 7.1
9926
- Platform=WinME
9927
- Win32=true
9928
-
9929
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.1*]
9930
- Parent=Opera 7.1
9931
- Platform=WinNT
9932
- Win32=true
9933
-
9934
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.1*]
9935
- Parent=Opera 7.1
9936
- Platform=Win2000
9937
- Win32=true
9938
-
9939
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.1*]
9940
- Parent=Opera 7.1
9941
- Platform=WinXP
9942
- Win32=true
9943
-
9944
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.1*]
9945
- Parent=Opera 7.1
9946
- Platform=WinXP
9947
- Win32=true
9948
-
9949
- [Mozilla/?.* (Windows 2000; ?) Opera 7.1*]
9950
- Parent=Opera 7.1
9951
- Platform=Win2000
9952
- Win32=true
9953
-
9954
- [Mozilla/?.* (Windows 95; ?) Opera 7.1*]
9955
- Parent=Opera 7.1
9956
- Platform=Win95
9957
- Win32=true
9958
-
9959
- [Mozilla/?.* (Windows 98; ?) Opera 7.1*]
9960
- Parent=Opera 7.1
9961
- Platform=Win98
9962
- Win32=true
9963
-
9964
- [Mozilla/?.* (Windows ME; ?) Opera 7.1*]
9965
- Parent=Opera 7.1
9966
- Platform=WinME
9967
- Win32=true
9968
-
9969
- [Mozilla/?.* (Windows NT 4.0; U) Opera 7.1*]
9970
- Parent=Opera 7.1
9971
- Platform=WinNT
9972
- Win32=true
9973
-
9974
- [Mozilla/?.* (Windows NT 5.0; U) Opera 7.1*]
9975
- Parent=Opera 7.1
9976
- Platform=Win2000
9977
- Win32=true
9978
-
9979
- [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.1*]
9980
- Parent=Opera 7.1
9981
- Platform=WinXP
9982
- Win32=true
9983
-
9984
- [Opera/7.1* (Linux*; ?)*]
9985
- Parent=Opera 7.1
9986
- Platform=Linux
9987
-
9988
- [Opera/7.1* (Windows 95; ?)*]
9989
- Parent=Opera 7.1
9990
- Platform=Win95
9991
- Win32=true
9992
-
9993
- [Opera/7.1* (Windows 98; ?)*]
9994
- Parent=Opera 7.1
9995
- Platform=Win98
9996
- Win32=true
9997
-
9998
- [Opera/7.1* (Windows ME; ?)*]
9999
- Parent=Opera 7.1
10000
- Platform=WinME
10001
- Win32=true
10002
-
10003
- [Opera/7.1* (Windows NT 4.0; ?)*]
10004
- Parent=Opera 7.1
10005
- Platform=WinNT
10006
- Win32=true
10007
-
10008
- [Opera/7.1* (Windows NT 5.0; ?)*]
10009
- Parent=Opera 7.1
10010
- Platform=Win2000
10011
- Win32=true
10012
-
10013
- [Opera/7.1* (Windows NT 5.1; ?)*]
10014
- Parent=Opera 7.1
10015
- Platform=WinXP
10016
- Win32=true
10017
-
10018
- [Opera/7.1* (Windows XP; ?)*]
10019
- Parent=Opera 7.1
10020
- Platform=WinXP
10021
- Win32=true
10022
-
10023
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.2
10024
-
10025
- [Opera 7.2]
10026
- Parent=DefaultProperties
10027
- Browser="Opera"
10028
- Version=7.2
10029
- MajorVer=7
10030
- MinorVer=2
10031
- Frames=true
10032
- IFrames=true
10033
- Tables=true
10034
- Cookies=true
10035
- BackgroundSounds=true
10036
- JavaApplets=true
10037
- JavaScript=true
10038
- CssVersion=2
10039
- supportsCSS=true
10040
-
10041
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.2*]
10042
- Parent=Opera 7.2
10043
- Platform=Linux
10044
-
10045
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.2*]
10046
- Parent=Opera 7.2
10047
- Platform=Win2000
10048
- Win32=true
10049
-
10050
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.2*]
10051
- Parent=Opera 7.2
10052
- Platform=Win95
10053
- Win32=true
10054
-
10055
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.2*]
10056
- Parent=Opera 7.2
10057
- Platform=Win98
10058
- Win32=true
10059
-
10060
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.2*]
10061
- Parent=Opera 7.2
10062
- Platform=WinME
10063
- Win32=true
10064
-
10065
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.2*]
10066
- Parent=Opera 7.2
10067
- Platform=WinNT
10068
- Win32=true
10069
-
10070
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.2*]
10071
- Parent=Opera 7.2
10072
- Platform=Win2000
10073
- Win32=true
10074
-
10075
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.2*]
10076
- Parent=Opera 7.2
10077
- Platform=WinXP
10078
- Win32=true
10079
-
10080
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.2*]
10081
- Parent=Opera 7.2
10082
- Platform=Win2003
10083
- Win32=true
10084
-
10085
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.2*]
10086
- Parent=Opera 7.2
10087
- Platform=WinXP
10088
- Win32=true
10089
-
10090
- [Mozilla/?.* (Windows 2000; ?) Opera 7.2*]
10091
- Parent=Opera 7.2
10092
- Platform=Win2000
10093
- Win32=true
10094
-
10095
- [Mozilla/?.* (Windows 95; ?) Opera 7.2*]
10096
- Parent=Opera 7.2
10097
- Platform=Win95
10098
- Win32=true
10099
-
10100
- [Mozilla/?.* (Windows 98; ?) Opera 7.2*]
10101
- Parent=Opera 7.2
10102
- Platform=Win98
10103
- Win32=true
10104
-
10105
- [Mozilla/?.* (Windows ME; ?) Opera 7.2*]
10106
- Parent=Opera 7.2
10107
- Platform=WinME
10108
- Win32=true
10109
-
10110
- [Mozilla/?.* (Windows NT 4.0; U) Opera 7.2*]
10111
- Parent=Opera 7.2
10112
- Platform=WinNT
10113
- Win32=true
10114
-
10115
- [Mozilla/?.* (Windows NT 5.0; U) Opera 7.2*]
10116
- Parent=Opera 7.2
10117
- Platform=Win2000
10118
- Win32=true
10119
-
10120
- [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.2*]
10121
- Parent=Opera 7.2
10122
- Platform=WinXP
10123
- Win32=true
10124
-
10125
- [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.2*]
10126
- Parent=Opera 7.2
10127
- Platform=Win2003
10128
- Win32=true
10129
-
10130
- [Opera/7.2* (Linux*; ?)*]
10131
- Parent=Opera 7.2
10132
- Platform=Linux
10133
-
10134
- [Opera/7.2* (Windows 95; ?)*]
10135
- Parent=Opera 7.2
10136
- Platform=Win95
10137
- Win32=true
10138
-
10139
- [Opera/7.2* (Windows 98; ?)*]
10140
- Parent=Opera 7.2
10141
- Platform=Win98
10142
- Win32=true
10143
-
10144
- [Opera/7.2* (Windows ME; ?)*]
10145
- Parent=Opera 7.2
10146
- Platform=WinME
10147
- Win32=true
10148
-
10149
- [Opera/7.2* (Windows NT 4.0; ?)*]
10150
- Parent=Opera 7.2
10151
- Platform=WinNT
10152
- Win32=true
10153
-
10154
- [Opera/7.2* (Windows NT 5.0; ?)*]
10155
- Parent=Opera 7.2
10156
- Platform=Win2000
10157
- Win32=true
10158
-
10159
- [Opera/7.2* (Windows NT 5.1; ?)*]
10160
- Parent=Opera 7.2
10161
- Platform=WinXP
10162
- Win32=true
10163
-
10164
- [Opera/7.2* (Windows NT 5.2; ?)*]
10165
- Parent=Opera 7.2
10166
- Platform=Win2003
10167
- Win32=true
10168
-
10169
- [Opera/7.2* (Windows XP; ?)*]
10170
- Parent=Opera 7.2
10171
- Platform=WinXP
10172
- Win32=true
10173
-
10174
- [Opera/7.2* (X11; FreeBSD*; ?)*]
10175
- Parent=Opera 7.2
10176
- Platform=FreeBSD
10177
-
10178
- [Opera/7.2* (X11; Linux*; ?)*]
10179
- Parent=Opera 7.2
10180
- Platform=Linux
10181
-
10182
- [Opera/7.2* (X11; SunOS*)*]
10183
- Parent=Opera 7.2
10184
- Platform=SunOS
10185
-
10186
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.5
10187
-
10188
- [Opera 7.5]
10189
- Parent=DefaultProperties
10190
- Browser="Opera"
10191
- Version=7.5
10192
- MajorVer=7
10193
- MinorVer=5
10194
- Frames=true
10195
- IFrames=true
10196
- Tables=true
10197
- Cookies=true
10198
- BackgroundSounds=true
10199
- JavaApplets=true
10200
- JavaScript=true
10201
- CssVersion=2
10202
- supportsCSS=true
10203
-
10204
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.5*]
10205
- Parent=Opera 7.5
10206
- Platform=Linux
10207
-
10208
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.5*]
10209
- Parent=Opera 7.5
10210
- Platform=MacPPC
10211
-
10212
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.5*]
10213
- Parent=Opera 7.5
10214
- Platform=Win2000
10215
- Win32=true
10216
-
10217
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.5*]
10218
- Parent=Opera 7.5
10219
- Platform=Win95
10220
- Win32=true
10221
-
10222
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.5*]
10223
- Parent=Opera 7.5
10224
- Platform=Win98
10225
- Win32=true
10226
-
10227
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.5*]
10228
- Parent=Opera 7.5
10229
- Platform=WinME
10230
- Win32=true
10231
-
10232
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.5*]
10233
- Parent=Opera 7.5
10234
- Platform=WinNT
10235
- Win32=true
10236
-
10237
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.5*]
10238
- Parent=Opera 7.5
10239
- Platform=Win2000
10240
- Win32=true
10241
-
10242
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.5*]
10243
- Parent=Opera 7.5
10244
- Platform=WinXP
10245
- Win32=true
10246
-
10247
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.5*]
10248
- Parent=Opera 7.5
10249
- Platform=Win2003
10250
- Win32=true
10251
-
10252
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.5*]
10253
- Parent=Opera 7.5
10254
- Platform=WinXP
10255
- Win32=true
10256
-
10257
- [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.5*]
10258
- Parent=Opera 7.5
10259
- Platform=Linux
10260
-
10261
- [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.5*]
10262
- Parent=Opera 7.5
10263
- Platform=MacOSX
10264
-
10265
- [Mozilla/?.* (Windows 2000; ?) Opera 7.5*]
10266
- Parent=Opera 7.5
10267
- Platform=Win2000
10268
- Win32=true
10269
-
10270
- [Mozilla/?.* (Windows 95; ?) Opera 7.5*]
10271
- Parent=Opera 7.5
10272
- Platform=Win95
10273
- Win32=true
10274
-
10275
- [Mozilla/?.* (Windows 98; ?) Opera 7.5*]
10276
- Parent=Opera 7.5
10277
- Platform=Win98
10278
- Win32=true
10279
-
10280
- [Mozilla/?.* (Windows ME; ?) Opera 7.5*]
10281
- Parent=Opera 7.5
10282
- Platform=WinME
10283
- Win32=true
10284
-
10285
- [Mozilla/?.* (Windows NT 4.0; U) Opera 7.5*]
10286
- Parent=Opera 7.5
10287
- Platform=WinNT
10288
- Win32=true
10289
-
10290
- [Mozilla/?.* (Windows NT 5.0; U) Opera 7.5*]
10291
- Parent=Opera 7.5
10292
- Platform=Win2000
10293
- Win32=true
10294
-
10295
- [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.5*]
10296
- Parent=Opera 7.5
10297
- Platform=WinXP
10298
- Win32=true
10299
-
10300
- [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.5*]
10301
- Parent=Opera 7.5
10302
- Platform=Win2003
10303
- Win32=true
10304
-
10305
- [Mozilla/?.* (X11; Linux*; ?) Opera 7.5*]
10306
- Parent=Opera 7.5
10307
- Platform=Linux
10308
-
10309
- [Opera/7.5* (Linux*; ?)*]
10310
- Parent=Opera 7.5
10311
- Platform=Linux
10312
-
10313
- [Opera/7.5* (Macintosh; *Mac OS X; ?)*]
10314
- Parent=Opera 7.5
10315
- Platform=MacOSX
10316
-
10317
- [Opera/7.5* (Windows 95; ?)*]
10318
- Parent=Opera 7.5
10319
- Platform=Win95
10320
- Win32=true
10321
-
10322
- [Opera/7.5* (Windows 98; ?)*]
10323
- Parent=Opera 7.5
10324
- Platform=Win98
10325
- Win32=true
10326
-
10327
- [Opera/7.5* (Windows ME; ?)*]
10328
- Parent=Opera 7.5
10329
- Platform=WinME
10330
- Win32=true
10331
-
10332
- [Opera/7.5* (Windows NT 4.0; ?)*]
10333
- Parent=Opera 7.5
10334
- Platform=WinNT
10335
- Win32=true
10336
-
10337
- [Opera/7.5* (Windows NT 5.0; ?)*]
10338
- Parent=Opera 7.5
10339
- Platform=Win2000
10340
- Win32=true
10341
-
10342
- [Opera/7.5* (Windows NT 5.1; ?)*]
10343
- Parent=Opera 7.5
10344
- Platform=WinXP
10345
- Win32=true
10346
-
10347
- [Opera/7.5* (Windows NT 5.2; ?)*]
10348
- Parent=Opera 7.5
10349
- Platform=Win2003
10350
- Win32=true
10351
-
10352
- [Opera/7.5* (Windows XP; ?)*]
10353
- Parent=Opera 7.5
10354
- Platform=WinXP
10355
- Win32=true
10356
-
10357
- [Opera/7.5* (X11; FreeBSD*; ?)*]
10358
- Parent=Opera 7.5
10359
- Platform=FreeBSD
10360
-
10361
- [Opera/7.5* (X11; Linux*; ?)*]
10362
- Parent=Opera 7.5
10363
- Platform=Linux
10364
-
10365
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.6
10366
-
10367
- [Opera 7.6]
10368
- Parent=DefaultProperties
10369
- Browser="Opera"
10370
- Version=7.6
10371
- MajorVer=7
10372
- MinorVer=6
10373
- Frames=true
10374
- IFrames=true
10375
- Tables=true
10376
- Cookies=true
10377
- BackgroundSounds=true
10378
- JavaApplets=true
10379
- JavaScript=true
10380
- CssVersion=2
10381
- supportsCSS=true
10382
-
10383
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.6*]
10384
- Parent=Opera 7.6
10385
- Platform=Linux
10386
-
10387
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.6*]
10388
- Parent=Opera 7.6
10389
- Platform=MacPPC
10390
-
10391
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.6*]
10392
- Parent=Opera 7.6
10393
- Platform=Win2000
10394
- Win32=true
10395
-
10396
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.6*]
10397
- Parent=Opera 7.6
10398
- Platform=Win95
10399
- Win32=true
10400
-
10401
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.6*]
10402
- Parent=Opera 7.6
10403
- Platform=Win98
10404
- Win32=true
10405
-
10406
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.6*]
10407
- Parent=Opera 7.6
10408
- Platform=WinME
10409
- Win32=true
10410
-
10411
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.6*]
10412
- Parent=Opera 7.6
10413
- Platform=WinNT
10414
- Win32=true
10415
-
10416
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.6*]
10417
- Parent=Opera 7.6
10418
- Platform=Win2000
10419
- Win32=true
10420
-
10421
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.6*]
10422
- Parent=Opera 7.6
10423
- Platform=WinXP
10424
- Win32=true
10425
-
10426
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.6*]
10427
- Parent=Opera 7.6
10428
- Platform=Win2003
10429
- Win32=true
10430
-
10431
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.6*]
10432
- Parent=Opera 7.6
10433
- Platform=WinXP
10434
- Win32=true
10435
-
10436
- [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.6*]
10437
- Parent=Opera 7.6
10438
- Platform=Linux
10439
-
10440
- [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.6*]
10441
- Parent=Opera 7.6
10442
- Platform=MacOSX
10443
-
10444
- [Mozilla/?.* (Windows 2000; ?) Opera 7.6*]
10445
- Parent=Opera 7.6
10446
- Platform=Win2000
10447
- Win32=true
10448
-
10449
- [Mozilla/?.* (Windows 95; ?) Opera 7.6*]
10450
- Parent=Opera 7.6
10451
- Platform=Win95
10452
- Win32=true
10453
-
10454
- [Mozilla/?.* (Windows 98; ?) Opera 7.6*]
10455
- Parent=Opera 7.6
10456
- Platform=Win98
10457
- Win32=true
10458
-
10459
- [Mozilla/?.* (Windows ME; ?) Opera 7.6*]
10460
- Parent=Opera 7.6
10461
- Platform=WinME
10462
- Win32=true
10463
-
10464
- [Mozilla/?.* (Windows NT 4.0; U) Opera 7.6*]
10465
- Parent=Opera 7.6
10466
- Platform=WinNT
10467
- Win32=true
10468
-
10469
- [Mozilla/?.* (Windows NT 5.0; U) Opera 7.6*]
10470
- Parent=Opera 7.6
10471
- Platform=Win2000
10472
- Win32=true
10473
-
10474
- [Mozilla/?.* (Windows NT 5.1; ?) Opera 7.6*]
10475
- Parent=Opera 7.6
10476
- Platform=WinXP
10477
- Win32=true
10478
-
10479
- [Mozilla/?.* (Windows NT 5.2; ?) Opera 7.6*]
10480
- Parent=Opera 7.6
10481
- Platform=Win2003
10482
- Win32=true
10483
-
10484
- [Mozilla/?.* (X11; Linux*; ?) Opera 7.6*]
10485
- Parent=Opera 7.6
10486
- Platform=Linux
10487
-
10488
- [Opera/7.6* (Linux*)*]
10489
- Parent=Opera 7.6
10490
- Platform=Linux
10491
-
10492
- [Opera/7.6* (Macintosh; *Mac OS X; ?)*]
10493
- Parent=Opera 7.6
10494
- Platform=MacOSX
10495
-
10496
- [Opera/7.6* (Windows 95*)*]
10497
- Parent=Opera 7.6
10498
- Platform=Win95
10499
- Win32=true
10500
-
10501
- [Opera/7.6* (Windows 98*)*]
10502
- Parent=Opera 7.6
10503
- Platform=Win98
10504
- Win32=true
10505
-
10506
- [Opera/7.6* (Windows ME*)*]
10507
- Parent=Opera 7.6
10508
- Platform=WinME
10509
- Win32=true
10510
-
10511
- [Opera/7.6* (Windows NT 4.0*)*]
10512
- Parent=Opera 7.6
10513
- Platform=WinNT
10514
- Win32=true
10515
-
10516
- [Opera/7.6* (Windows NT 5.0*)*]
10517
- Parent=Opera 7.6
10518
- Platform=Win2000
10519
- Win32=true
10520
-
10521
- [Opera/7.6* (Windows NT 5.1*)*]
10522
- Parent=Opera 7.6
10523
- Platform=WinXP
10524
- Win32=true
10525
-
10526
- [Opera/7.6* (Windows NT 5.2*)*]
10527
- Parent=Opera 7.6
10528
- Platform=Win2003
10529
- Win32=true
10530
-
10531
- [Opera/7.6* (Windows XP*)*]
10532
- Parent=Opera 7.6
10533
- Platform=WinXP
10534
- Win32=true
10535
-
10536
- [Opera/7.6* (X11; FreeBSD*)*]
10537
- Parent=Opera 7.6
10538
- Platform=FreeBSD
10539
-
10540
- [Opera/7.6* (X11; Linux*)*]
10541
- Parent=Opera 7.6
10542
- Platform=Linux
10543
-
10544
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.0
10545
-
10546
- [Opera 8.0]
10547
- Parent=DefaultProperties
10548
- Browser="Opera"
10549
- Version=8.0
10550
- MajorVer=8
10551
- Frames=true
10552
- IFrames=true
10553
- Tables=true
10554
- Cookies=true
10555
- BackgroundSounds=true
10556
- JavaApplets=true
10557
- JavaScript=true
10558
- CssVersion=2
10559
- supportsCSS=true
10560
-
10561
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.0*]
10562
- Parent=Opera 8.0
10563
- Platform=Linux
10564
-
10565
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X; *) Opera 8.0*]
10566
- Parent=Opera 8.0
10567
- Platform=MacOSX
10568
-
10569
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.0*]
10570
- Parent=Opera 8.0
10571
- Platform=MacPPC
10572
-
10573
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.0*]
10574
- Parent=Opera 8.0
10575
- Platform=Win2000
10576
- Win32=true
10577
-
10578
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.0*]
10579
- Parent=Opera 8.0
10580
- Platform=Win95
10581
- Win32=true
10582
-
10583
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.0*]
10584
- Parent=Opera 8.0
10585
- Platform=Win98
10586
- Win32=true
10587
-
10588
- [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.0*]
10589
- Parent=Opera 8.0
10590
- Platform=WinCE
10591
- Win32=true
10592
-
10593
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.0*]
10594
- Parent=Opera 8.0
10595
- Platform=WinME
10596
- Win32=true
10597
-
10598
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.0*]
10599
- Parent=Opera 8.0
10600
- Platform=WinNT
10601
- Win32=true
10602
-
10603
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.0*]
10604
- Parent=Opera 8.0
10605
- Platform=Win2000
10606
- Win32=true
10607
-
10608
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.0*]
10609
- Parent=Opera 8.0
10610
- Platform=WinXP
10611
- Win32=true
10612
-
10613
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.0*]
10614
- Parent=Opera 8.0
10615
- Platform=Win2003
10616
- Win32=true
10617
-
10618
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.0*]
10619
- Parent=Opera 8.0
10620
- Platform=WinXP
10621
- Win32=true
10622
-
10623
- [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.0*]
10624
- Parent=Opera 8.0
10625
- Platform=FreeBSD
10626
-
10627
- [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.0*]
10628
- Parent=Opera 8.0
10629
- Platform=Linux
10630
-
10631
- [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.0*]
10632
- Parent=Opera 8.0
10633
- Platform=MacOSX
10634
-
10635
- [Mozilla/?.* (Windows 2000; *) Opera 8.0*]
10636
- Parent=Opera 8.0
10637
- Platform=Win2000
10638
- Win32=true
10639
-
10640
- [Mozilla/?.* (Windows 95; *) Opera 8.0*]
10641
- Parent=Opera 8.0
10642
- Platform=Win95
10643
- Win32=true
10644
-
10645
- [Mozilla/?.* (Windows 98; *) Opera 8.0*]
10646
- Parent=Opera 8.0
10647
- Platform=Win98
10648
- Win32=true
10649
-
10650
- [Mozilla/?.* (Windows ME; *) Opera 8.0*]
10651
- Parent=Opera 8.0
10652
- Platform=WinME
10653
- Win32=true
10654
-
10655
- [Mozilla/?.* (Windows NT 4.0; *) Opera 8.0*]
10656
- Parent=Opera 8.0
10657
- Platform=WinNT
10658
- Win32=true
10659
-
10660
- [Mozilla/?.* (Windows NT 5.0; *) Opera 8.0*]
10661
- Parent=Opera 8.0
10662
- Platform=Win2000
10663
- Win32=true
10664
-
10665
- [Mozilla/?.* (Windows NT 5.1; *) Opera 8.0*]
10666
- Parent=Opera 8.0
10667
- Platform=WinXP
10668
- Win32=true
10669
-
10670
- [Mozilla/?.* (Windows NT 5.2; *) Opera 8.0*]
10671
- Parent=Opera 8.0
10672
- Platform=Win2003
10673
- Win32=true
10674
-
10675
- [Mozilla/?.* (X11; Linux*; *) Opera 8.0*]
10676
- Parent=Opera 8.0
10677
- Platform=Linux
10678
-
10679
- [Opera/8.0* (Linux*)*]
10680
- Parent=Opera 8.0
10681
- Platform=Linux
10682
-
10683
- [Opera/8.0* (Macintosh; *Mac OS X; *)*]
10684
- Parent=Opera 8.0
10685
- Platform=MacOSX
10686
-
10687
- [Opera/8.0* (Windows 95*)*]
10688
- Parent=Opera 8.0
10689
- Platform=Win95
10690
- Win32=true
10691
-
10692
- [Opera/8.0* (Windows 98*)*]
10693
- Parent=Opera 8.0
10694
- Platform=Win98
10695
- Win32=true
10696
-
10697
- [Opera/8.0* (Windows CE*)*]
10698
- Parent=Opera 8.0
10699
- Platform=WinCE
10700
- Win32=true
10701
-
10702
- [Opera/8.0* (Windows ME*)*]
10703
- Parent=Opera 8.0
10704
- Platform=WinME
10705
- Win32=true
10706
-
10707
- [Opera/8.0* (Windows NT 4.0*)*]
10708
- Parent=Opera 8.0
10709
- Platform=WinNT
10710
- Win32=true
10711
-
10712
- [Opera/8.0* (Windows NT 5.0*)*]
10713
- Parent=Opera 8.0
10714
- Platform=Win2000
10715
- Win32=true
10716
-
10717
- [Opera/8.0* (Windows NT 5.1*)*]
10718
- Parent=Opera 8.0
10719
- Platform=WinXP
10720
- Win32=true
10721
-
10722
- [Opera/8.0* (Windows NT 5.2*)*]
10723
- Parent=Opera 8.0
10724
- Platform=Win2003
10725
- Win32=true
10726
-
10727
- [Opera/8.0* (Windows XP*)*]
10728
- Parent=Opera 8.0
10729
- Platform=WinXP
10730
- Win32=true
10731
-
10732
- [Opera/8.0* (X11; FreeBSD*)*]
10733
- Parent=Opera 8.0
10734
- Platform=FreeBSD
10735
-
10736
- [Opera/8.0* (X11; Linux*)*]
10737
- Parent=Opera 8.0
10738
- Platform=Linux
10739
-
10740
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.1
10741
-
10742
- [Opera 8.1]
10743
- Parent=DefaultProperties
10744
- Browser="Opera"
10745
- Version=8.1
10746
- MajorVer=8
10747
- MinorVer=1
10748
- Frames=true
10749
- IFrames=true
10750
- Tables=true
10751
- Cookies=true
10752
- BackgroundSounds=true
10753
- JavaApplets=true
10754
- JavaScript=true
10755
- CssVersion=2
10756
- supportsCSS=true
10757
-
10758
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.1*]
10759
- Parent=Opera 8.1
10760
- Platform=Linux
10761
-
10762
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.1*]
10763
- Parent=Opera 8.1
10764
- Platform=MacPPC
10765
-
10766
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.1*]
10767
- Parent=Opera 8.1
10768
- Platform=Win2000
10769
- Win32=true
10770
-
10771
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.1*]
10772
- Parent=Opera 8.1
10773
- Platform=Win95
10774
- Win32=true
10775
-
10776
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.1*]
10777
- Parent=Opera 8.1
10778
- Platform=Win98
10779
- Win32=true
10780
-
10781
- [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.1*]
10782
- Parent=Opera 8.1
10783
- Platform=WinCE
10784
- Win32=true
10785
-
10786
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.1*]
10787
- Parent=Opera 8.1
10788
- Platform=WinME
10789
- Win32=true
10790
-
10791
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.1*]
10792
- Parent=Opera 8.1
10793
- Platform=WinNT
10794
- Win32=true
10795
-
10796
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.1*]
10797
- Parent=Opera 8.1
10798
- Platform=Win2000
10799
- Win32=true
10800
-
10801
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.1*]
10802
- Parent=Opera 8.1
10803
- Platform=WinXP
10804
- Win32=true
10805
-
10806
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.1*]
10807
- Parent=Opera 8.1
10808
- Platform=Win2003
10809
- Win32=true
10810
-
10811
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.1*]
10812
- Parent=Opera 8.1
10813
- Platform=WinXP
10814
- Win32=true
10815
-
10816
- [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.1*]
10817
- Parent=Opera 8.1
10818
- Platform=FreeBSD
10819
-
10820
- [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.1*]
10821
- Parent=Opera 8.1
10822
- Platform=Linux
10823
-
10824
- [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.1*]
10825
- Parent=Opera 8.1
10826
- Platform=MacOSX
10827
-
10828
- [Mozilla/?.* (Windows 2000; *) Opera 8.1*]
10829
- Parent=Opera 8.1
10830
- Platform=Win2000
10831
- Win32=true
10832
-
10833
- [Mozilla/?.* (Windows 95; *) Opera 8.1*]
10834
- Parent=Opera 8.1
10835
- Platform=Win95
10836
- Win32=true
10837
-
10838
- [Mozilla/?.* (Windows 98; *) Opera 8.1*]
10839
- Parent=Opera 8.1
10840
- Platform=Win98
10841
- Win32=true
10842
-
10843
- [Mozilla/?.* (Windows ME; *) Opera 8.1*]
10844
- Parent=Opera 8.1
10845
- Platform=WinME
10846
- Win32=true
10847
-
10848
- [Mozilla/?.* (Windows NT 4.0; *) Opera 8.1*]
10849
- Parent=Opera 8.1
10850
- Platform=WinNT
10851
- Win32=true
10852
-
10853
- [Mozilla/?.* (Windows NT 5.0; *) Opera 8.1*]
10854
- Parent=Opera 8.1
10855
- Platform=Win2000
10856
- Win32=true
10857
-
10858
- [Mozilla/?.* (Windows NT 5.1; *) Opera 8.1*]
10859
- Parent=Opera 8.1
10860
- Platform=WinXP
10861
- Win32=true
10862
-
10863
- [Mozilla/?.* (Windows NT 5.2; *) Opera 8.1*]
10864
- Parent=Opera 8.1
10865
- Platform=Win2003
10866
- Win32=true
10867
-
10868
- [Mozilla/?.* (X11; Linux*; *) Opera 8.1*]
10869
- Parent=Opera 8.1
10870
- Platform=Linux
10871
-
10872
- [Opera/8.1* (Linux*)*]
10873
- Parent=Opera 8.1
10874
- Platform=Linux
10875
-
10876
- [Opera/8.1* (Macintosh; *Mac OS X; *)*]
10877
- Parent=Opera 8.1
10878
- Platform=MacOSX
10879
-
10880
- [Opera/8.1* (Windows 95*)*]
10881
- Parent=Opera 8.1
10882
- Platform=Win95
10883
- Win32=true
10884
-
10885
- [Opera/8.1* (Windows 98*)*]
10886
- Parent=Opera 8.1
10887
- Platform=Win98
10888
- Win32=true
10889
-
10890
- [Opera/8.1* (Windows CE*)*]
10891
- Parent=Opera 8.1
10892
- Platform=WinCE
10893
- Win32=true
10894
-
10895
- [Opera/8.1* (Windows ME*)*]
10896
- Parent=Opera 8.1
10897
- Platform=WinME
10898
- Win32=true
10899
-
10900
- [Opera/8.1* (Windows NT 4.0*)*]
10901
- Parent=Opera 8.1
10902
- Platform=WinNT
10903
- Win32=true
10904
-
10905
- [Opera/8.1* (Windows NT 5.0*)*]
10906
- Parent=Opera 8.1
10907
- Platform=Win2000
10908
- Win32=true
10909
-
10910
- [Opera/8.1* (Windows NT 5.1*)*]
10911
- Parent=Opera 8.1
10912
- Platform=WinXP
10913
- Win32=true
10914
-
10915
- [Opera/8.1* (Windows NT 5.2*)*]
10916
- Parent=Opera 8.1
10917
- Platform=Win2003
10918
- Win32=true
10919
-
10920
- [Opera/8.1* (Windows XP*)*]
10921
- Parent=Opera 8.1
10922
- Platform=WinXP
10923
- Win32=true
10924
-
10925
- [Opera/8.1* (X11; FreeBSD*)*]
10926
- Parent=Opera 8.1
10927
- Platform=FreeBSD
10928
-
10929
- [Opera/8.1* (X11; Linux*)*]
10930
- Parent=Opera 8.1
10931
- Platform=Linux
10932
-
10933
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.5
10934
-
10935
- [Opera 8.5]
10936
- Parent=DefaultProperties
10937
- Browser="Opera"
10938
- Version=8.5
10939
- MajorVer=8
10940
- MinorVer=5
10941
- Frames=true
10942
- IFrames=true
10943
- Tables=true
10944
- Cookies=true
10945
- BackgroundSounds=true
10946
- JavaApplets=true
10947
- JavaScript=true
10948
- CssVersion=2
10949
- supportsCSS=true
10950
-
10951
- [Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.5*]
10952
- Parent=Opera 8.5
10953
- Platform=Linux
10954
-
10955
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X;*) Opera 8.5*]
10956
- Parent=Opera 8.5
10957
- Platform=MacOSX
10958
-
10959
- [Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.5*]
10960
- Parent=Opera 8.5
10961
- Platform=MacPPC
10962
-
10963
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.5*]
10964
- Parent=Opera 8.5
10965
- Platform=Win2000
10966
- Win32=true
10967
-
10968
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.5*]
10969
- Parent=Opera 8.5
10970
- Platform=Win95
10971
- Win32=true
10972
-
10973
- [Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.5*]
10974
- Parent=Opera 8.5
10975
- Platform=Win98
10976
- Win32=true
10977
-
10978
- [Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.5*]
10979
- Parent=Opera 8.5
10980
- Platform=WinCE
10981
- Win32=true
10982
-
10983
- [Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.5*]
10984
- Parent=Opera 8.5
10985
- Platform=WinME
10986
- Win32=true
10987
-
10988
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.5*]
10989
- Parent=Opera 8.5
10990
- Platform=WinNT
10991
- Win32=true
10992
-
10993
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.5*]
10994
- Parent=Opera 8.5
10995
- Platform=Win2000
10996
- Win32=true
10997
-
10998
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.5*]
10999
- Parent=Opera 8.5
11000
- Platform=WinXP
11001
- Win32=true
11002
-
11003
- [Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.5*]
11004
- Parent=Opera 8.5
11005
- Platform=Win2003
11006
- Win32=true
11007
-
11008
- [Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.5*]
11009
- Parent=Opera 8.5
11010
- Platform=WinXP
11011
- Win32=true
11012
-
11013
- [Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.5*]
11014
- Parent=Opera 8.5
11015
- Platform=FreeBSD
11016
-
11017
- [Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.5*]
11018
- Parent=Opera 8.5
11019
- Platform=Linux
11020
-
11021
- [Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.5*]
11022
- Parent=Opera 8.5
11023
- Platform=MacOSX
11024
-
11025
- [Mozilla/?.* (Macintosh; PPC Mac OS X;*) Opera 8.5*]
11026
- Parent=Opera 8.5
11027
- Platform=MacOSX
11028
-
11029
- [Mozilla/?.* (Windows 2000; *) Opera 8.5*]
11030
- Parent=Opera 8.5
11031
- Platform=Win2000
11032
- Win32=true
11033
-
11034
- [Mozilla/?.* (Windows 95; *) Opera 8.5*]
11035
- Parent=Opera 8.5
11036
- Platform=Win95
11037
- Win32=true
11038
-
11039
- [Mozilla/?.* (Windows 98; *) Opera 8.5*]
11040
- Parent=Opera 8.5
11041
- Platform=Win98
11042
- Win32=true
11043
-
11044
- [Mozilla/?.* (Windows ME; *) Opera 8.5*]
11045
- Parent=Opera 8.5
11046
- Platform=WinME
11047
- Win32=true
11048
-
11049
- [Mozilla/?.* (Windows NT 4.0; *) Opera 8.5*]
11050
- Parent=Opera 8.5
11051
- Platform=WinNT
11052
- Win32=true
11053
-
11054
- [Mozilla/?.* (Windows NT 5.0; *) Opera 8.5*]
11055
- Parent=Opera 8.5
11056
- Platform=Win2000
11057
- Win32=true
11058
-
11059
- [Mozilla/?.* (Windows NT 5.1; *) Opera 8.5*]
11060
- Parent=Opera 8.5
11061
- Platform=WinXP
11062
- Win32=true
11063
-
11064
- [Mozilla/?.* (Windows NT 5.2; *) Opera 8.5*]
11065
- Parent=Opera 8.5
11066
- Platform=Win2003
11067
- Win32=true
11068
-
11069
- [Mozilla/?.* (X11; Linux*; *) Opera 8.5*]
11070
- Parent=Opera 8.5
11071
- Platform=Linux
11072
-
11073
- [Opera/8.5* (Linux*)*]
11074
- Parent=Opera 8.5
11075
- Platform=Linux
11076
-
11077
- [Opera/8.5* (Macintosh; *Mac OS X; *)*]
11078
- Parent=Opera 8.5
11079
- Platform=MacOSX
11080
-
11081
- [Opera/8.5* (Windows 95*)*]
11082
- Parent=Opera 8.5
11083
- Platform=Win95
11084
- Win32=true
11085
-
11086
- [Opera/8.5* (Windows 98*)*]
11087
- Parent=Opera 8.5
11088
- Platform=Win98
11089
- Win32=true
11090
-
11091
- [Opera/8.5* (Windows CE*)*]
11092
- Parent=Opera 8.5
11093
- Platform=WinCE
11094
- Win32=true
11095
-
11096
- [Opera/8.5* (Windows ME*)*]
11097
- Parent=Opera 8.5
11098
- Platform=WinME
11099
- Win32=true
11100
-
11101
- [Opera/8.5* (Windows NT 4.0*)*]
11102
- Parent=Opera 8.5
11103
- Platform=WinNT
11104
- Win32=true
11105
-
11106
- [Opera/8.5* (Windows NT 5.0*)*]
11107
- Parent=Opera 8.5
11108
- Platform=Win2000
11109
- Win32=true
11110
-
11111
- [Opera/8.5* (Windows NT 5.1*)*]
11112
- Parent=Opera 8.5
11113
- Platform=WinXP
11114
- Win32=true
11115
-
11116
- [Opera/8.5* (Windows NT 5.2*)*]
11117
- Parent=Opera 8.5
11118
- Platform=Win2003
11119
- Win32=true
11120
-
11121
- [Opera/8.5* (Windows XP*)*]
11122
- Parent=Opera 8.5
11123
- Platform=WinXP
11124
- Win32=true
11125
-
11126
- [Opera/8.5* (X11; FreeBSD*)*]
11127
- Parent=Opera 8.5
11128
- Platform=FreeBSD
11129
-
11130
- [Opera/8.5* (X11; Linux*)*]
11131
- Parent=Opera 8.5
11132
- Platform=Linux
11133
-
11134
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.0
11135
-
11136
- [Opera 9.0]
11137
- Parent=DefaultProperties
11138
- Browser="Opera"
11139
- Version=9.0
11140
- MajorVer=9
11141
- Frames=true
11142
- IFrames=true
11143
- Tables=true
11144
- Cookies=true
11145
- BackgroundSounds=true
11146
- JavaApplets=true
11147
- JavaScript=true
11148
- CssVersion=2
11149
- supportsCSS=true
11150
-
11151
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.0*]
11152
- Parent=Opera 9.0
11153
- Platform=Linux
11154
-
11155
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.0*]
11156
- Parent=Opera 9.0
11157
- Platform=MacOSX
11158
-
11159
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.0*]
11160
- Parent=Opera 9.0
11161
- Platform=MacPPC
11162
-
11163
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.0*]
11164
- Parent=Opera 9.0
11165
- Platform=Win2000
11166
- Win32=true
11167
-
11168
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.0*]
11169
- Parent=Opera 9.0
11170
- Platform=Win95
11171
- Win32=true
11172
-
11173
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.0*]
11174
- Parent=Opera 9.0
11175
- Platform=Win98
11176
- Win32=true
11177
-
11178
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.0*]
11179
- Parent=Opera 9.0
11180
- Platform=WinCE
11181
- Win32=true
11182
-
11183
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.0*]
11184
- Parent=Opera 9.0
11185
- Platform=WinME
11186
- Win32=true
11187
-
11188
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.0*]
11189
- Parent=Opera 9.0
11190
- Platform=WinNT
11191
- Win32=true
11192
-
11193
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.0*]
11194
- Parent=Opera 9.0
11195
- Platform=Win2000
11196
- Win32=true
11197
-
11198
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.0*]
11199
- Parent=Opera 9.0
11200
- Platform=WinXP
11201
- Win32=true
11202
-
11203
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.0*]
11204
- Parent=Opera 9.0
11205
- Platform=Win2003
11206
- Win32=true
11207
-
11208
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.0*]
11209
- Parent=Opera 9.0
11210
- Platform=WinVista
11211
- Win32=true
11212
-
11213
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.0*]
11214
- Parent=Opera 9.0
11215
- Platform=WinXP
11216
- Win32=true
11217
-
11218
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.0*]
11219
- Parent=Opera 9.0
11220
- Platform=FreeBSD
11221
-
11222
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.0*]
11223
- Parent=Opera 9.0
11224
- Platform=Linux
11225
-
11226
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.0*]
11227
- Parent=Opera 9.0
11228
- Platform=SunOS
11229
-
11230
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.0*]
11231
- Parent=Opera 9.0
11232
- Platform=MacOSX
11233
-
11234
- [Mozilla/* (Windows 2000;*) Opera 9.0*]
11235
- Parent=Opera 9.0
11236
- Platform=Win2000
11237
- Win32=true
11238
-
11239
- [Mozilla/* (Windows 95;*) Opera 9.0*]
11240
- Parent=Opera 9.0
11241
- Platform=Win95
11242
- Win32=true
11243
-
11244
- [Mozilla/* (Windows 98;*) Opera 9.0*]
11245
- Parent=Opera 9.0
11246
- Platform=Win98
11247
- Win32=true
11248
-
11249
- [Mozilla/* (Windows ME;*) Opera 9.0*]
11250
- Parent=Opera 9.0
11251
- Platform=WinME
11252
- Win32=true
11253
-
11254
- [Mozilla/* (Windows NT 4.0;*) Opera 9.0*]
11255
- Parent=Opera 9.0
11256
- Platform=WinNT
11257
- Win32=true
11258
-
11259
- [Mozilla/* (Windows NT 5.0;*) Opera 9.0*]
11260
- Parent=Opera 9.0
11261
- Platform=Win2000
11262
- Win32=true
11263
-
11264
- [Mozilla/* (Windows NT 5.1;*) Opera 9.0*]
11265
- Parent=Opera 9.0
11266
- Platform=WinXP
11267
- Win32=true
11268
-
11269
- [Mozilla/* (Windows NT 5.2;*) Opera 9.0*]
11270
- Parent=Opera 9.0
11271
- Platform=Win2003
11272
- Win32=true
11273
-
11274
- [Mozilla/* (X11; Linux*) Opera 9.0*]
11275
- Parent=Opera 9.0
11276
- Platform=Linux
11277
-
11278
- [Opera/9.0* (Linux*)*]
11279
- Parent=Opera 9.0
11280
- Platform=Linux
11281
-
11282
- [Opera/9.0* (Macintosh; *Mac OS X;*)*]
11283
- Parent=Opera 9.0
11284
- Platform=MacOSX
11285
-
11286
- [Opera/9.0* (Windows 95*)*]
11287
- Parent=Opera 9.0
11288
- Platform=Win95
11289
- Win32=true
11290
-
11291
- [Opera/9.0* (Windows 98*)*]
11292
- Parent=Opera 9.0
11293
- Platform=Win98
11294
- Win32=true
11295
-
11296
- [Opera/9.0* (Windows CE*)*]
11297
- Parent=Opera 9.0
11298
- Platform=WinCE
11299
- Win32=true
11300
-
11301
- [Opera/9.0* (Windows ME*)*]
11302
- Parent=Opera 9.0
11303
- Platform=WinME
11304
- Win32=true
11305
-
11306
- [Opera/9.0* (Windows NT 4.0*)*]
11307
- Parent=Opera 9.0
11308
- Platform=WinNT
11309
- Win32=true
11310
-
11311
- [Opera/9.0* (Windows NT 5.0*)*]
11312
- Parent=Opera 9.0
11313
- Platform=Win2000
11314
- Win32=true
11315
-
11316
- [Opera/9.0* (Windows NT 5.1*)*]
11317
- Parent=Opera 9.0
11318
- Platform=WinXP
11319
- Win32=true
11320
-
11321
- [Opera/9.0* (Windows NT 5.2*)*]
11322
- Parent=Opera 9.0
11323
- Platform=Win2003
11324
- Win32=true
11325
-
11326
- [Opera/9.0* (Windows NT 6.0*)*]
11327
- Parent=Opera 9.0
11328
- Platform=WinVista
11329
- Win32=true
11330
-
11331
- [Opera/9.0* (Windows XP*)*]
11332
- Parent=Opera 9.0
11333
- Platform=WinXP
11334
- Win32=true
11335
-
11336
- [Opera/9.0* (X11; FreeBSD*)*]
11337
- Parent=Opera 9.0
11338
- Platform=FreeBSD
11339
-
11340
- [Opera/9.0* (X11; Linux*)*]
11341
- Parent=Opera 9.0
11342
- Platform=Linux
11343
-
11344
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.1
11345
-
11346
- [Opera 9.1]
11347
- Parent=DefaultProperties
11348
- Browser="Opera"
11349
- Version=9.1
11350
- MajorVer=9
11351
- MinorVer=1
11352
- Frames=true
11353
- IFrames=true
11354
- Tables=true
11355
- Cookies=true
11356
- BackgroundSounds=true
11357
- JavaApplets=true
11358
- JavaScript=true
11359
- CssVersion=2
11360
- supportsCSS=true
11361
-
11362
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.1*]
11363
- Parent=Opera 9.1
11364
- Platform=Linux
11365
-
11366
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.1*]
11367
- Parent=Opera 9.1
11368
- Platform=MacOSX
11369
-
11370
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC;*) Opera 9.1*]
11371
- Parent=Opera 9.1
11372
- Platform=MacPPC
11373
-
11374
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.1*]
11375
- Parent=Opera 9.1
11376
- Platform=Win2000
11377
- Win32=true
11378
-
11379
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.1*]
11380
- Parent=Opera 9.1
11381
- Platform=Win95
11382
- Win32=true
11383
-
11384
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.1*]
11385
- Parent=Opera 9.1
11386
- Platform=Win98
11387
- Win32=true
11388
-
11389
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.1*]
11390
- Parent=Opera 9.1
11391
- Platform=WinCE
11392
- Win32=true
11393
-
11394
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.1*]
11395
- Parent=Opera 9.1
11396
- Platform=WinME
11397
- Win32=true
11398
-
11399
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.1*]
11400
- Parent=Opera 9.1
11401
- Platform=WinNT
11402
- Win32=true
11403
-
11404
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.1*]
11405
- Parent=Opera 9.1
11406
- Platform=Win2000
11407
- Win32=true
11408
-
11409
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.1*]
11410
- Parent=Opera 9.1
11411
- Platform=WinXP
11412
- Win32=true
11413
-
11414
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.1*]
11415
- Parent=Opera 9.1
11416
- Platform=Win2003
11417
- Win32=true
11418
-
11419
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.1*]
11420
- Parent=Opera 9.1
11421
- Platform=WinVista
11422
- Win32=true
11423
-
11424
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.1*]
11425
- Parent=Opera 9.1
11426
- Platform=WinXP
11427
- Win32=true
11428
-
11429
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.1*]
11430
- Parent=Opera 9.1
11431
- Platform=FreeBSD
11432
-
11433
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.1*]
11434
- Parent=Opera 9.1
11435
- Platform=Linux
11436
-
11437
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.1*]
11438
- Parent=Opera 9.1
11439
- Platform=SunOS
11440
-
11441
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.1*]
11442
- Parent=Opera 9.1
11443
- Platform=MacOSX
11444
-
11445
- [Mozilla/* (Windows 2000;*) Opera 9.1*]
11446
- Parent=Opera 9.1
11447
- Platform=Win2000
11448
- Win32=true
11449
-
11450
- [Mozilla/* (Windows 95;*) Opera 9.1*]
11451
- Parent=Opera 9.1
11452
- Platform=Win95
11453
- Win32=true
11454
-
11455
- [Mozilla/* (Windows 98;*) Opera 9.1*]
11456
- Parent=Opera 9.1
11457
- Platform=Win98
11458
- Win32=true
11459
-
11460
- [Mozilla/* (Windows ME;*) Opera 9.1*]
11461
- Parent=Opera 9.1
11462
- Platform=WinME
11463
- Win32=true
11464
-
11465
- [Mozilla/* (Windows NT 4.0;*) Opera 9.1*]
11466
- Parent=Opera 9.1
11467
- Platform=WinNT
11468
- Win32=true
11469
-
11470
- [Mozilla/* (Windows NT 5.0;*) Opera 9.1*]
11471
- Parent=Opera 9.1
11472
- Platform=Win2000
11473
- Win32=true
11474
-
11475
- [Mozilla/* (Windows NT 5.1;*) Opera 9.1*]
11476
- Parent=Opera 9.1
11477
- Platform=WinXP
11478
- Win32=true
11479
-
11480
- [Mozilla/* (Windows NT 5.2;*) Opera 9.1*]
11481
- Parent=Opera 9.1
11482
- Platform=Win2003
11483
- Win32=true
11484
-
11485
- [Mozilla/* (X11; Linux*) Opera 9.1*]
11486
- Parent=Opera 9.1
11487
- Platform=Linux
11488
-
11489
- [Opera/9.1* (Linux*)*]
11490
- Parent=Opera 9.1
11491
- Platform=Linux
11492
-
11493
- [Opera/9.1* (Macintosh; *Mac OS X;*)*]
11494
- Parent=Opera 9.1
11495
- Platform=MacOSX
11496
-
11497
- [Opera/9.1* (Windows 95*)*]
11498
- Parent=Opera 9.1
11499
- Platform=Win95
11500
- Win32=true
11501
-
11502
- [Opera/9.1* (Windows 98*)*]
11503
- Parent=Opera 9.1
11504
- Platform=Win98
11505
- Win32=true
11506
-
11507
- [Opera/9.1* (Windows CE*)*]
11508
- Parent=Opera 9.1
11509
- Platform=WinCE
11510
- Win32=true
11511
-
11512
- [Opera/9.1* (Windows ME*)*]
11513
- Parent=Opera 9.1
11514
- Platform=WinME
11515
- Win32=true
11516
-
11517
- [Opera/9.1* (Windows NT 4.0*)*]
11518
- Parent=Opera 9.1
11519
- Platform=WinNT
11520
- Win32=true
11521
-
11522
- [Opera/9.1* (Windows NT 5.0*)*]
11523
- Parent=Opera 9.1
11524
- Platform=Win2000
11525
- Win32=true
11526
-
11527
- [Opera/9.1* (Windows NT 5.1*)*]
11528
- Parent=Opera 9.1
11529
- Platform=WinXP
11530
- Win32=true
11531
-
11532
- [Opera/9.1* (Windows NT 5.2*)*]
11533
- Parent=Opera 9.1
11534
- Platform=Win2003
11535
- Win32=true
11536
-
11537
- [Opera/9.1* (Windows NT 6.0*)*]
11538
- Parent=Opera 9.1
11539
- Platform=WinVista
11540
- Win32=true
11541
-
11542
- [Opera/9.1* (Windows XP*)*]
11543
- Parent=Opera 9.1
11544
- Platform=WinXP
11545
- Win32=true
11546
-
11547
- [Opera/9.1* (X11; FreeBSD*)*]
11548
- Parent=Opera 9.1
11549
- Platform=FreeBSD
11550
-
11551
- [Opera/9.1* (X11; Linux*)*]
11552
- Parent=Opera 9.1
11553
- Platform=Linux
11554
-
11555
- [Opera/9.1* (X11; SunOS*)*]
11556
- Parent=Opera 9.1
11557
- Platform=SunOS
11558
-
11559
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.2
11560
-
11561
- [Opera 9.2]
11562
- Parent=DefaultProperties
11563
- Browser="Opera"
11564
- Version=9.2
11565
- MajorVer=9
11566
- MinorVer=2
11567
- Frames=true
11568
- IFrames=true
11569
- Tables=true
11570
- Cookies=true
11571
- BackgroundSounds=true
11572
- JavaApplets=true
11573
- JavaScript=true
11574
- CssVersion=2
11575
- supportsCSS=true
11576
-
11577
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.2*]
11578
- Parent=Opera 9.2
11579
- Platform=Linux
11580
-
11581
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.2*]
11582
- Parent=Opera 9.2
11583
- Platform=MacOSX
11584
-
11585
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.2*]
11586
- Parent=Opera 9.2
11587
- Platform=MacPPC
11588
-
11589
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.2*]
11590
- Parent=Opera 9.2
11591
- Platform=Win2000
11592
- Win32=true
11593
-
11594
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.2*]
11595
- Parent=Opera 9.2
11596
- Platform=Win95
11597
- Win32=true
11598
-
11599
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.2*]
11600
- Parent=Opera 9.2
11601
- Platform=Win98
11602
- Win32=true
11603
-
11604
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.2*]
11605
- Parent=Opera 9.2
11606
- Platform=WinCE
11607
- Win32=true
11608
-
11609
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.2*]
11610
- Parent=Opera 9.2
11611
- Platform=WinME
11612
- Win32=true
11613
-
11614
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.2*]
11615
- Parent=Opera 9.2
11616
- Platform=WinNT
11617
- Win32=true
11618
-
11619
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.2*]
11620
- Parent=Opera 9.2
11621
- Platform=Win2000
11622
- Win32=true
11623
-
11624
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.2*]
11625
- Parent=Opera 9.2
11626
- Platform=WinXP
11627
- Win32=true
11628
-
11629
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.2*]
11630
- Parent=Opera 9.2
11631
- Platform=Win2003
11632
- Win32=true
11633
-
11634
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.2*]
11635
- Parent=Opera 9.2
11636
- Platform=WinVista
11637
- Win32=true
11638
-
11639
- [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.2*]
11640
- Parent=Opera 9.2
11641
- Platform=Win7
11642
-
11643
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.2*]
11644
- Parent=Opera 9.2
11645
- Platform=WinXP
11646
- Win32=true
11647
-
11648
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.2*]
11649
- Parent=Opera 9.2
11650
- Platform=FreeBSD
11651
-
11652
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.2*]
11653
- Parent=Opera 9.2
11654
- Platform=Linux
11655
-
11656
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.2*]
11657
- Parent=Opera 9.2
11658
- Platform=SunOS
11659
-
11660
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.2*]
11661
- Parent=Opera 9.2
11662
- Platform=MacOSX
11663
-
11664
- [Mozilla/* (Windows 2000;*) Opera 9.2*]
11665
- Parent=Opera 9.2
11666
- Platform=Win2000
11667
- Win32=true
11668
-
11669
- [Mozilla/* (Windows 95;*) Opera 9.2*]
11670
- Parent=Opera 9.2
11671
- Platform=Win95
11672
- Win32=true
11673
-
11674
- [Mozilla/* (Windows 98;*) Opera 9.2*]
11675
- Parent=Opera 9.2
11676
- Platform=Win98
11677
- Win32=true
11678
-
11679
- [Mozilla/* (Windows ME;*) Opera 9.2*]
11680
- Parent=Opera 9.2
11681
- Platform=WinME
11682
- Win32=true
11683
-
11684
- [Mozilla/* (Windows NT 4.0;*) Opera 9.2*]
11685
- Parent=Opera 9.2
11686
- Platform=WinNT
11687
- Win32=true
11688
-
11689
- [Mozilla/* (Windows NT 5.0;*) Opera 9.2*]
11690
- Parent=Opera 9.2
11691
- Platform=Win2000
11692
- Win32=true
11693
-
11694
- [Mozilla/* (Windows NT 5.1;*) Opera 9.2*]
11695
- Parent=Opera 9.2
11696
- Platform=WinXP
11697
- Win32=true
11698
-
11699
- [Mozilla/* (Windows NT 5.2;*) Opera 9.2*]
11700
- Parent=Opera 9.2
11701
- Platform=Win2003
11702
- Win32=true
11703
-
11704
- [Mozilla/* (Windows NT 6.0;*) Opera 9.2*]
11705
- Parent=Opera 9.2
11706
- Platform=WinVista
11707
-
11708
- [Mozilla/* (Windows NT 6.1;*) Opera 9.2*]
11709
- Parent=Opera 9.2
11710
- Platform=Win7
11711
-
11712
- [Mozilla/* (X11; Linux*) Opera 9.2*]
11713
- Parent=Opera 9.2
11714
- Platform=Linux
11715
-
11716
- [Opera/9.2* (Linux*)*]
11717
- Parent=Opera 9.2
11718
- Platform=Linux
11719
-
11720
- [Opera/9.2* (Macintosh; *Mac OS X;*)*]
11721
- Parent=Opera 9.2
11722
- Platform=MacOSX
11723
-
11724
- [Opera/9.2* (Windows 95*)*]
11725
- Parent=Opera 9.2
11726
- Platform=Win95
11727
- Win32=true
11728
-
11729
- [Opera/9.2* (Windows 98*)*]
11730
- Parent=Opera 9.2
11731
- Platform=Win98
11732
- Win32=true
11733
-
11734
- [Opera/9.2* (Windows CE*)*]
11735
- Parent=Opera 9.2
11736
- Platform=WinCE
11737
- Win32=true
11738
-
11739
- [Opera/9.2* (Windows ME*)*]
11740
- Parent=Opera 9.2
11741
- Platform=WinME
11742
- Win32=true
11743
-
11744
- [Opera/9.2* (Windows NT 4.0*)*]
11745
- Parent=Opera 9.2
11746
- Platform=WinNT
11747
- Win32=true
11748
-
11749
- [Opera/9.2* (Windows NT 5.0*)*]
11750
- Parent=Opera 9.2
11751
- Platform=Win2000
11752
- Win32=true
11753
-
11754
- [Opera/9.2* (Windows NT 5.1*)*]
11755
- Parent=Opera 9.2
11756
- Platform=WinXP
11757
- Win32=true
11758
-
11759
- [Opera/9.2* (Windows NT 5.2*)*]
11760
- Parent=Opera 9.2
11761
- Platform=Win2003
11762
- Win32=true
11763
-
11764
- [Opera/9.2* (Windows NT 6.0*)*]
11765
- Parent=Opera 9.2
11766
- Platform=WinVista
11767
- Win32=true
11768
-
11769
- [Opera/9.2* (Windows NT 6.1*)*]
11770
- Parent=Opera 9.2
11771
- Platform=Win7
11772
-
11773
- [Opera/9.2* (Windows XP*)*]
11774
- Parent=Opera 9.2
11775
- Platform=WinXP
11776
- Win32=true
11777
-
11778
- [Opera/9.2* (X11; FreeBSD*)*]
11779
- Parent=Opera 9.2
11780
- Platform=FreeBSD
11781
-
11782
- [Opera/9.2* (X11; Linux*)*]
11783
- Parent=Opera 9.2
11784
- Platform=Linux
11785
-
11786
- [Opera/9.2* (X11; SunOS*)*]
11787
- Parent=Opera 9.2
11788
- Platform=SunOS
11789
-
11790
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.3
11791
-
11792
- [Opera 9.3]
11793
- Parent=DefaultProperties
11794
- Browser="Opera"
11795
- Version=9.3
11796
- MajorVer=9
11797
- MinorVer=3
11798
- Frames=true
11799
- IFrames=true
11800
- Tables=true
11801
- Cookies=true
11802
- BackgroundSounds=true
11803
- JavaApplets=true
11804
- JavaScript=true
11805
- CssVersion=2
11806
- supportsCSS=true
11807
-
11808
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.3*]
11809
- Parent=Opera 9.3
11810
- Platform=Linux
11811
-
11812
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.3*]
11813
- Parent=Opera 9.3
11814
- Platform=MacOSX
11815
-
11816
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.3*]
11817
- Parent=Opera 9.3
11818
- Platform=MacPPC
11819
-
11820
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.3*]
11821
- Parent=Opera 9.3
11822
- Platform=Win2000
11823
- Win32=true
11824
-
11825
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.3*]
11826
- Parent=Opera 9.3
11827
- Platform=Win95
11828
- Win32=true
11829
-
11830
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.3*]
11831
- Parent=Opera 9.3
11832
- Platform=Win98
11833
- Win32=true
11834
-
11835
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.3*]
11836
- Parent=Opera 9.3
11837
- Platform=WinCE
11838
- Win32=true
11839
-
11840
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.3*]
11841
- Parent=Opera 9.3
11842
- Platform=WinME
11843
- Win32=true
11844
-
11845
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.3*]
11846
- Parent=Opera 9.3
11847
- Platform=WinNT
11848
- Win32=true
11849
-
11850
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.3*]
11851
- Parent=Opera 9.3
11852
- Platform=Win2000
11853
- Win32=true
11854
-
11855
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.3*]
11856
- Parent=Opera 9.3
11857
- Platform=WinXP
11858
- Win32=true
11859
-
11860
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.3*]
11861
- Parent=Opera 9.3
11862
- Platform=Win2003
11863
- Win32=true
11864
-
11865
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.3*]
11866
- Parent=Opera 9.3
11867
- Platform=WinVista
11868
- Win32=true
11869
-
11870
- [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.3*]
11871
- Parent=Opera 9.3
11872
- Platform=Win7
11873
-
11874
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.3*]
11875
- Parent=Opera 9.3
11876
- Platform=WinXP
11877
- Win32=true
11878
-
11879
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.3*]
11880
- Parent=Opera 9.3
11881
- Platform=FreeBSD
11882
-
11883
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.3*]
11884
- Parent=Opera 9.3
11885
- Platform=Linux
11886
-
11887
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.3*]
11888
- Parent=Opera 9.3
11889
- Platform=SunOS
11890
-
11891
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.3*]
11892
- Parent=Opera 9.3
11893
- Platform=MacOSX
11894
-
11895
- [Mozilla/* (Windows 2000;*) Opera 9.3*]
11896
- Parent=Opera 9.3
11897
- Platform=Win2000
11898
- Win32=true
11899
-
11900
- [Mozilla/* (Windows 95;*) Opera 9.3*]
11901
- Parent=Opera 9.3
11902
- Platform=Win95
11903
- Win32=true
11904
-
11905
- [Mozilla/* (Windows 98;*) Opera 9.3*]
11906
- Parent=Opera 9.3
11907
- Platform=Win98
11908
- Win32=true
11909
-
11910
- [Mozilla/* (Windows ME;*) Opera 9.3*]
11911
- Parent=Opera 9.3
11912
- Platform=WinME
11913
- Win32=true
11914
-
11915
- [Mozilla/* (Windows NT 4.0;*) Opera 9.3*]
11916
- Parent=Opera 9.3
11917
- Platform=WinNT
11918
- Win32=true
11919
-
11920
- [Mozilla/* (Windows NT 5.0;*) Opera 9.3*]
11921
- Parent=Opera 9.3
11922
- Platform=Win2000
11923
- Win32=true
11924
-
11925
- [Mozilla/* (Windows NT 5.1;*) Opera 9.3*]
11926
- Parent=Opera 9.3
11927
- Platform=WinXP
11928
- Win32=true
11929
-
11930
- [Mozilla/* (Windows NT 5.2;*) Opera 9.3*]
11931
- Parent=Opera 9.3
11932
- Platform=Win2003
11933
- Win32=true
11934
-
11935
- [Mozilla/* (Windows NT 6.0;*) Opera 9.3*]
11936
- Parent=Opera 9.3
11937
- Platform=WinVista
11938
-
11939
- [Mozilla/* (Windows NT 6.1;*) Opera 9.3*]
11940
- Parent=Opera 9.3
11941
- Platform=Win7
11942
-
11943
- [Mozilla/* (X11; Linux*) Opera 9.3*]
11944
- Parent=Opera 9.3
11945
- Platform=Linux
11946
-
11947
- [Opera/9.3* (Linux*)*]
11948
- Parent=Opera 9.3
11949
- Platform=Linux
11950
-
11951
- [Opera/9.3* (Macintosh; *Mac OS X;*)*]
11952
- Parent=Opera 9.3
11953
- Platform=MacOSX
11954
-
11955
- [Opera/9.3* (Windows 95*)*]
11956
- Parent=Opera 9.3
11957
- Platform=Win95
11958
- Win32=true
11959
-
11960
- [Opera/9.3* (Windows 98*)*]
11961
- Parent=Opera 9.3
11962
- Platform=Win98
11963
- Win32=true
11964
-
11965
- [Opera/9.3* (Windows CE*)*]
11966
- Parent=Opera 9.3
11967
- Platform=WinCE
11968
- Win32=true
11969
-
11970
- [Opera/9.3* (Windows ME*)*]
11971
- Parent=Opera 9.3
11972
- Platform=WinME
11973
- Win32=true
11974
-
11975
- [Opera/9.3* (Windows NT 4.0*)*]
11976
- Parent=Opera 9.3
11977
- Platform=WinNT
11978
- Win32=true
11979
-
11980
- [Opera/9.3* (Windows NT 5.0*)*]
11981
- Parent=Opera 9.3
11982
- Platform=Win2000
11983
- Win32=true
11984
-
11985
- [Opera/9.3* (Windows NT 5.1*)*]
11986
- Parent=Opera 9.3
11987
- Platform=WinXP
11988
- Win32=true
11989
-
11990
- [Opera/9.3* (Windows NT 5.2*)*]
11991
- Parent=Opera 9.3
11992
- Platform=Win2003
11993
- Win32=true
11994
-
11995
- [Opera/9.3* (Windows NT 6.0*)*]
11996
- Parent=Opera 9.3
11997
- Platform=WinVista
11998
- Win32=true
11999
-
12000
- [Opera/9.3* (Windows NT 6.1*)*]
12001
- Parent=Opera 9.3
12002
- Platform=Win7
12003
-
12004
- [Opera/9.3* (Windows XP*)*]
12005
- Parent=Opera 9.3
12006
- Platform=WinXP
12007
- Win32=true
12008
-
12009
- [Opera/9.3* (X11; FreeBSD*)*]
12010
- Parent=Opera 9.3
12011
- Platform=FreeBSD
12012
-
12013
- [Opera/9.3* (X11; Linux*)*]
12014
- Parent=Opera 9.3
12015
- Platform=Linux
12016
-
12017
- [Opera/9.3* (X11; SunOS*)*]
12018
- Parent=Opera 9.3
12019
- Platform=SunOS
12020
-
12021
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.4
12022
-
12023
- [Opera 9.4]
12024
- Parent=DefaultProperties
12025
- Browser="Opera"
12026
- Version=9.4
12027
- MajorVer=9
12028
- MinorVer=4
12029
- Frames=true
12030
- IFrames=true
12031
- Tables=true
12032
- Cookies=true
12033
- BackgroundSounds=true
12034
- JavaApplets=true
12035
- JavaScript=true
12036
- CssVersion=2
12037
- supportsCSS=true
12038
-
12039
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.4*]
12040
- Parent=Opera 9.4
12041
- Platform=Linux
12042
-
12043
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.4*]
12044
- Parent=Opera 9.4
12045
- Platform=MacOSX
12046
-
12047
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.4*]
12048
- Parent=Opera 9.4
12049
- Platform=MacPPC
12050
-
12051
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.4*]
12052
- Parent=Opera 9.4
12053
- Platform=Win2000
12054
- Win32=true
12055
-
12056
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.4*]
12057
- Parent=Opera 9.4
12058
- Platform=Win95
12059
- Win32=true
12060
-
12061
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.4*]
12062
- Parent=Opera 9.4
12063
- Platform=Win98
12064
- Win32=true
12065
-
12066
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.4*]
12067
- Parent=Opera 9.4
12068
- Platform=WinCE
12069
- Win32=true
12070
-
12071
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.4*]
12072
- Parent=Opera 9.4
12073
- Platform=WinME
12074
- Win32=true
12075
-
12076
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.4*]
12077
- Parent=Opera 9.4
12078
- Platform=WinNT
12079
- Win32=true
12080
-
12081
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.4*]
12082
- Parent=Opera 9.4
12083
- Platform=Win2000
12084
- Win32=true
12085
-
12086
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.4*]
12087
- Parent=Opera 9.4
12088
- Platform=WinXP
12089
- Win32=true
12090
-
12091
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.4*]
12092
- Parent=Opera 9.4
12093
- Platform=Win2003
12094
- Win32=true
12095
-
12096
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.4*]
12097
- Parent=Opera 9.4
12098
- Platform=WinVista
12099
- Win32=true
12100
-
12101
- [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.4*]
12102
- Parent=Opera 9.4
12103
- Platform=Win7
12104
-
12105
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.4*]
12106
- Parent=Opera 9.4
12107
- Platform=WinXP
12108
- Win32=true
12109
-
12110
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.4*]
12111
- Parent=Opera 9.4
12112
- Platform=FreeBSD
12113
-
12114
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.4*]
12115
- Parent=Opera 9.4
12116
- Platform=Linux
12117
-
12118
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.4*]
12119
- Parent=Opera 9.4
12120
- Platform=SunOS
12121
-
12122
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.4*]
12123
- Parent=Opera 9.4
12124
- Platform=MacOSX
12125
-
12126
- [Mozilla/* (Windows 2000;*) Opera 9.4*]
12127
- Parent=Opera 9.4
12128
- Platform=Win2000
12129
- Win32=true
12130
-
12131
- [Mozilla/* (Windows 95;*) Opera 9.4*]
12132
- Parent=Opera 9.4
12133
- Platform=Win95
12134
- Win32=true
12135
-
12136
- [Mozilla/* (Windows 98;*) Opera 9.4*]
12137
- Parent=Opera 9.4
12138
- Platform=Win98
12139
- Win32=true
12140
-
12141
- [Mozilla/* (Windows ME;*) Opera 9.4*]
12142
- Parent=Opera 9.4
12143
- Platform=WinME
12144
- Win32=true
12145
-
12146
- [Mozilla/* (Windows NT 4.0;*) Opera 9.4*]
12147
- Parent=Opera 9.4
12148
- Platform=WinNT
12149
- Win32=true
12150
-
12151
- [Mozilla/* (Windows NT 5.0;*) Opera 9.4*]
12152
- Parent=Opera 9.4
12153
- Platform=Win2000
12154
- Win32=true
12155
-
12156
- [Mozilla/* (Windows NT 5.1;*) Opera 9.4*]
12157
- Parent=Opera 9.4
12158
- Platform=WinXP
12159
- Win32=true
12160
-
12161
- [Mozilla/* (Windows NT 5.2;*) Opera 9.4*]
12162
- Parent=Opera 9.4
12163
- Platform=Win2003
12164
- Win32=true
12165
-
12166
- [Mozilla/* (Windows NT 6.0;*) Opera 9.4*]
12167
- Parent=Opera 9.4
12168
- Platform=WinVista
12169
-
12170
- [Mozilla/* (Windows NT 6.1;*) Opera 9.4*]
12171
- Parent=Opera 9.4
12172
- Platform=Win7
12173
-
12174
- [Mozilla/* (X11; Linux*) Opera 9.4*]
12175
- Parent=Opera 9.4
12176
- Platform=Linux
12177
-
12178
- [Opera/9.4* (Linux*)*]
12179
- Parent=Opera 9.4
12180
- Platform=Linux
12181
-
12182
- [Opera/9.4* (Macintosh; *Mac OS X;*)*]
12183
- Parent=Opera 9.4
12184
- Platform=MacOSX
12185
-
12186
- [Opera/9.4* (Windows 95*)*]
12187
- Parent=Opera 9.4
12188
- Platform=Win95
12189
- Win32=true
12190
-
12191
- [Opera/9.4* (Windows 98*)*]
12192
- Parent=Opera 9.4
12193
- Platform=Win98
12194
- Win32=true
12195
-
12196
- [Opera/9.4* (Windows CE*)*]
12197
- Parent=Opera 9.4
12198
- Platform=WinCE
12199
- Win32=true
12200
-
12201
- [Opera/9.4* (Windows ME*)*]
12202
- Parent=Opera 9.4
12203
- Platform=WinME
12204
- Win32=true
12205
-
12206
- [Opera/9.4* (Windows NT 4.0*)*]
12207
- Parent=Opera 9.4
12208
- Platform=WinNT
12209
- Win32=true
12210
-
12211
- [Opera/9.4* (Windows NT 5.0*)*]
12212
- Parent=Opera 9.4
12213
- Platform=Win2000
12214
- Win32=true
12215
-
12216
- [Opera/9.4* (Windows NT 5.1*)*]
12217
- Parent=Opera 9.4
12218
- Platform=WinXP
12219
- Win32=true
12220
-
12221
- [Opera/9.4* (Windows NT 5.2*)*]
12222
- Parent=Opera 9.4
12223
- Platform=Win2003
12224
- Win32=true
12225
-
12226
- [Opera/9.4* (Windows NT 6.0*)*]
12227
- Parent=Opera 9.4
12228
- Platform=WinVista
12229
- Win32=true
12230
-
12231
- [Opera/9.4* (Windows NT 6.1*)*]
12232
- Parent=Opera 9.4
12233
- Platform=Win7
12234
-
12235
- [Opera/9.4* (Windows XP*)*]
12236
- Parent=Opera 9.4
12237
- Platform=WinXP
12238
- Win32=true
12239
-
12240
- [Opera/9.4* (X11; FreeBSD*)*]
12241
- Parent=Opera 9.4
12242
- Platform=FreeBSD
12243
-
12244
- [Opera/9.4* (X11; Linux*)*]
12245
- Parent=Opera 9.4
12246
- Platform=Linux
12247
-
12248
- [Opera/9.4* (X11; SunOS*)*]
12249
- Parent=Opera 9.4
12250
- Platform=SunOS
12251
-
12252
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.5
12253
-
12254
- [Opera 9.5]
12255
- Parent=DefaultProperties
12256
- Browser="Opera"
12257
- Version=9.5
12258
- MajorVer=9
12259
- MinorVer=5
12260
- Frames=true
12261
- IFrames=true
12262
- Tables=true
12263
- Cookies=true
12264
- BackgroundSounds=true
12265
- JavaApplets=true
12266
- JavaScript=true
12267
- CssVersion=2
12268
- supportsCSS=true
12269
-
12270
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.5*]
12271
- Parent=Opera 9.5
12272
- Platform=Linux
12273
-
12274
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.5*]
12275
- Parent=Opera 9.5
12276
- Platform=MacOSX
12277
-
12278
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.5*]
12279
- Parent=Opera 9.5
12280
- Platform=MacPPC
12281
-
12282
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.5*]
12283
- Parent=Opera 9.5
12284
- Platform=Win2000
12285
- Win32=true
12286
-
12287
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.5*]
12288
- Parent=Opera 9.5
12289
- Platform=Win95
12290
- Win32=true
12291
-
12292
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.5*]
12293
- Parent=Opera 9.5
12294
- Platform=Win98
12295
- Win32=true
12296
-
12297
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.5*]
12298
- Parent=Opera 9.5
12299
- Platform=WinCE
12300
- Win32=true
12301
-
12302
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.5*]
12303
- Parent=Opera 9.5
12304
- Platform=WinME
12305
- Win32=true
12306
-
12307
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.5*]
12308
- Parent=Opera 9.5
12309
- Platform=WinNT
12310
- Win32=true
12311
-
12312
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.5*]
12313
- Parent=Opera 9.5
12314
- Platform=Win2000
12315
- Win32=true
12316
-
12317
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.5*]
12318
- Parent=Opera 9.5
12319
- Platform=WinXP
12320
- Win32=true
12321
-
12322
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.5*]
12323
- Parent=Opera 9.5
12324
- Platform=Win2003
12325
- Win32=true
12326
-
12327
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.5*]
12328
- Parent=Opera 9.5
12329
- Platform=WinVista
12330
- Win32=true
12331
-
12332
- [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.5*]
12333
- Parent=Opera 9.5
12334
- Platform=Win7
12335
-
12336
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.5*]
12337
- Parent=Opera 9.5
12338
- Platform=WinXP
12339
- Win32=true
12340
-
12341
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.5*]
12342
- Parent=Opera 9.5
12343
- Platform=FreeBSD
12344
-
12345
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.5*]
12346
- Parent=Opera 9.5
12347
- Platform=Linux
12348
-
12349
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.5*]
12350
- Parent=Opera 9.5
12351
- Platform=SunOS
12352
-
12353
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.5*]
12354
- Parent=Opera 9.5
12355
- Platform=MacOSX
12356
-
12357
- [Mozilla/* (Windows 2000;*) Opera 9.5*]
12358
- Parent=Opera 9.5
12359
- Platform=Win2000
12360
- Win32=true
12361
-
12362
- [Mozilla/* (Windows 95;*) Opera 9.5*]
12363
- Parent=Opera 9.5
12364
- Platform=Win95
12365
- Win32=true
12366
-
12367
- [Mozilla/* (Windows 98;*) Opera 9.5*]
12368
- Parent=Opera 9.5
12369
- Platform=Win98
12370
- Win32=true
12371
-
12372
- [Mozilla/* (Windows ME;*) Opera 9.5*]
12373
- Parent=Opera 9.5
12374
- Platform=WinME
12375
- Win32=true
12376
-
12377
- [Mozilla/* (Windows NT 4.0;*) Opera 9.5*]
12378
- Parent=Opera 9.5
12379
- Platform=WinNT
12380
- Win32=true
12381
-
12382
- [Mozilla/* (Windows NT 5.0;*) Opera 9.5*]
12383
- Parent=Opera 9.5
12384
- Platform=Win2000
12385
- Win32=true
12386
-
12387
- [Mozilla/* (Windows NT 5.1;*) Opera 9.5*]
12388
- Parent=Opera 9.5
12389
- Platform=WinXP
12390
- Win32=true
12391
-
12392
- [Mozilla/* (Windows NT 5.2;*) Opera 9.5*]
12393
- Parent=Opera 9.5
12394
- Platform=Win2003
12395
- Win32=true
12396
-
12397
- [Mozilla/* (Windows NT 6.0;*) Opera 9.5*]
12398
- Parent=Opera 9.5
12399
- Platform=WinVista
12400
-
12401
- [Mozilla/* (Windows NT 6.1;*) Opera 9.5*]
12402
- Parent=Opera 9.5
12403
- Platform=Win7
12404
-
12405
- [Mozilla/* (X11; Linux*) Opera 9.5*]
12406
- Parent=Opera 9.5
12407
- Platform=Linux
12408
-
12409
- [Opera/9.5* (Linux*)*]
12410
- Parent=Opera 9.5
12411
- Platform=Linux
12412
-
12413
- [Opera/9.5* (Macintosh; *Mac OS X;*)*]
12414
- Parent=Opera 9.5
12415
- Platform=MacOSX
12416
-
12417
- [Opera/9.5* (Windows 95*)*]
12418
- Parent=Opera 9.5
12419
- Platform=Win95
12420
- Win32=true
12421
-
12422
- [Opera/9.5* (Windows 98*)*]
12423
- Parent=Opera 9.5
12424
- Platform=Win98
12425
- Win32=true
12426
-
12427
- [Opera/9.5* (Windows CE*)*]
12428
- Parent=Opera 9.5
12429
- Platform=WinCE
12430
- Win32=true
12431
-
12432
- [Opera/9.5* (Windows ME*)*]
12433
- Parent=Opera 9.5
12434
- Platform=WinME
12435
- Win32=true
12436
-
12437
- [Opera/9.5* (Windows NT 4.0*)*]
12438
- Parent=Opera 9.5
12439
- Platform=WinNT
12440
- Win32=true
12441
-
12442
- [Opera/9.5* (Windows NT 5.0*)*]
12443
- Parent=Opera 9.5
12444
- Platform=Win2000
12445
- Win32=true
12446
-
12447
- [Opera/9.5* (Windows NT 5.1*)*]
12448
- Parent=Opera 9.5
12449
- Platform=WinXP
12450
- Win32=true
12451
-
12452
- [Opera/9.5* (Windows NT 5.2*)*]
12453
- Parent=Opera 9.5
12454
- Platform=Win2003
12455
- Win32=true
12456
-
12457
- [Opera/9.5* (Windows NT 6.0*)*]
12458
- Parent=Opera 9.5
12459
- Platform=WinVista
12460
- Win32=true
12461
-
12462
- [Opera/9.5* (Windows NT 6.1*)*]
12463
- Parent=Opera 9.5
12464
- Platform=Win7
12465
-
12466
- [Opera/9.5* (Windows XP*)*]
12467
- Parent=Opera 9.5
12468
- Platform=WinXP
12469
- Win32=true
12470
-
12471
- [Opera/9.5* (X11; FreeBSD*)*]
12472
- Parent=Opera 9.5
12473
- Platform=FreeBSD
12474
-
12475
- [Opera/9.5* (X11; Linux*)*]
12476
- Parent=Opera 9.5
12477
- Platform=Linux
12478
-
12479
- [Opera/9.5* (X11; SunOS*)*]
12480
- Parent=Opera 9.5
12481
- Platform=SunOS
12482
-
12483
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.6
12484
-
12485
- [Opera 9.6]
12486
- Parent=DefaultProperties
12487
- Browser="Opera"
12488
- Version=9.6
12489
- MajorVer=9
12490
- MinorVer=6
12491
- Frames=true
12492
- IFrames=true
12493
- Tables=true
12494
- Cookies=true
12495
- BackgroundSounds=true
12496
- JavaApplets=true
12497
- JavaScript=true
12498
- CssVersion=2
12499
- supportsCSS=true
12500
-
12501
- [Mozilla/* (compatible; MSIE*; Linux*) Opera 9.6*]
12502
- Parent=Opera 9.6
12503
- Platform=Linux
12504
-
12505
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.6*]
12506
- Parent=Opera 9.6
12507
- Platform=MacOSX
12508
-
12509
- [Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.6*]
12510
- Parent=Opera 9.6
12511
- Platform=MacPPC
12512
-
12513
- [Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.6*]
12514
- Parent=Opera 9.6
12515
- Platform=Win2000
12516
- Win32=true
12517
-
12518
- [Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.6*]
12519
- Parent=Opera 9.6
12520
- Platform=Win95
12521
- Win32=true
12522
-
12523
- [Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.6*]
12524
- Parent=Opera 9.6
12525
- Platform=Win98
12526
- Win32=true
12527
-
12528
- [Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.6*]
12529
- Parent=Opera 9.6
12530
- Platform=WinCE
12531
- Win32=true
12532
-
12533
- [Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.6*]
12534
- Parent=Opera 9.6
12535
- Platform=WinME
12536
- Win32=true
12537
-
12538
- [Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.6*]
12539
- Parent=Opera 9.6
12540
- Platform=WinNT
12541
- Win32=true
12542
-
12543
- [Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.6*]
12544
- Parent=Opera 9.6
12545
- Platform=Win2000
12546
- Win32=true
12547
-
12548
- [Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.6*]
12549
- Parent=Opera 9.6
12550
- Platform=WinXP
12551
- Win32=true
12552
-
12553
- [Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.6*]
12554
- Parent=Opera 9.6
12555
- Platform=Win2003
12556
- Win32=true
12557
-
12558
- [Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.6*]
12559
- Parent=Opera 9.6
12560
- Platform=WinVista
12561
- Win32=true
12562
-
12563
- [Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.6*]
12564
- Parent=Opera 9.6
12565
- Platform=Win7
12566
-
12567
- [Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.6*]
12568
- Parent=Opera 9.6
12569
- Platform=WinXP
12570
- Win32=true
12571
-
12572
- [Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.6*]
12573
- Parent=Opera 9.6
12574
- Platform=FreeBSD
12575
-
12576
- [Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.6*]
12577
- Parent=Opera 9.6
12578
- Platform=Linux
12579
-
12580
- [Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.6*]
12581
- Parent=Opera 9.6
12582
- Platform=SunOS
12583
-
12584
- [Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.6*]
12585
- Parent=Opera 9.6
12586
- Platform=MacOSX
12587
-
12588
- [Mozilla/* (Windows 2000;*) Opera 9.6*]
12589
- Parent=Opera 9.6
12590
- Platform=Win2000
12591
- Win32=true
12592
-
12593
- [Mozilla/* (Windows 95;*) Opera 9.6*]
12594
- Parent=Opera 9.6
12595
- Platform=Win95
12596
- Win32=true
12597
-
12598
- [Mozilla/* (Windows 98;*) Opera 9.6*]
12599
- Parent=Opera 9.6
12600
- Platform=Win98
12601
- Win32=true
12602
-
12603
- [Mozilla/* (Windows ME;*) Opera 9.6*]
12604
- Parent=Opera 9.6
12605
- Platform=WinME
12606
- Win32=true
12607
-
12608
- [Mozilla/* (Windows NT 4.0;*) Opera 9.6*]
12609
- Parent=Opera 9.6
12610
- Platform=WinNT
12611
- Win32=true
12612
-
12613
- [Mozilla/* (Windows NT 5.0;*) Opera 9.6*]
12614
- Parent=Opera 9.6
12615
- Platform=Win2000
12616
- Win32=true
12617
-
12618
- [Mozilla/* (Windows NT 5.1;*) Opera 9.6*]
12619
- Parent=Opera 9.6
12620
- Platform=WinXP
12621
- Win32=true
12622
-
12623
- [Mozilla/* (Windows NT 5.2;*) Opera 9.6*]
12624
- Parent=Opera 9.6
12625
- Platform=Win2003
12626
- Win32=true
12627
-
12628
- [Mozilla/* (Windows NT 6.0;*) Opera 9.6*]
12629
- Parent=Opera 9.6
12630
- Platform=WinVista
12631
-
12632
- [Mozilla/* (Windows NT 6.1;*) Opera 9.6*]
12633
- Parent=Opera 9.6
12634
- Platform=Win7
12635
-
12636
- [Mozilla/* (X11; Linux*) Opera 9.6*]
12637
- Parent=Opera 9.6
12638
- Platform=Linux
12639
-
12640
- [Opera/9.6* (Linux*)*]
12641
- Parent=Opera 9.6
12642
- Platform=Linux
12643
-
12644
- [Opera/9.6* (Macintosh; *Mac OS X;*)*]
12645
- Parent=Opera 9.6
12646
- Platform=MacOSX
12647
-
12648
- [Opera/9.6* (Windows 95*)*]
12649
- Parent=Opera 9.6
12650
- Platform=Win95
12651
- Win32=true
12652
-
12653
- [Opera/9.6* (Windows 98*)*]
12654
- Parent=Opera 9.6
12655
- Platform=Win98
12656
- Win32=true
12657
-
12658
- [Opera/9.6* (Windows CE*)*]
12659
- Parent=Opera 9.6
12660
- Platform=WinCE
12661
- Win32=true
12662
-
12663
- [Opera/9.6* (Windows ME*)*]
12664
- Parent=Opera 9.6
12665
- Platform=WinME
12666
- Win32=true
12667
-
12668
- [Opera/9.6* (Windows NT 4.0*)*]
12669
- Parent=Opera 9.6
12670
- Platform=WinNT
12671
- Win32=true
12672
-
12673
- [Opera/9.6* (Windows NT 5.0*)*]
12674
- Parent=Opera 9.6
12675
- Platform=Win2000
12676
- Win32=true
12677
-
12678
- [Opera/9.6* (Windows NT 5.1*)*]
12679
- Parent=Opera 9.6
12680
- Platform=WinXP
12681
- Win32=true
12682
-
12683
- [Opera/9.6* (Windows NT 5.2*)*]
12684
- Parent=Opera 9.6
12685
- Platform=Win2003
12686
- Win32=true
12687
-
12688
- [Opera/9.6* (Windows NT 6.0*)*]
12689
- Parent=Opera 9.6
12690
- Platform=WinVista
12691
- Win32=true
12692
-
12693
- [Opera/9.6* (Windows NT 6.1*)*]
12694
- Parent=Opera 9.6
12695
- Platform=Win7
12696
-
12697
- [Opera/9.6* (Windows XP*)*]
12698
- Parent=Opera 9.6
12699
- Platform=WinXP
12700
- Win32=true
12701
-
12702
- [Opera/9.6* (X11; FreeBSD*)*]
12703
- Parent=Opera 9.6
12704
- Platform=FreeBSD
12705
-
12706
- [Opera/9.6* (X11; Linux*)*]
12707
- Parent=Opera 9.6
12708
- Platform=Linux
12709
-
12710
- [Opera/9.6* (X11; SunOS*)*]
12711
- Parent=Opera 9.6
12712
- Platform=SunOS
12713
-
12714
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.0
12715
-
12716
- [Netscape 4.0]
12717
- Parent=DefaultProperties
12718
- Browser="Netscape"
12719
- Version=4.0
12720
- MajorVer=4
12721
- Frames=true
12722
- Tables=true
12723
- Cookies=true
12724
- JavaApplets=true
12725
- JavaScript=true
12726
- CssVersion=1
12727
- supportsCSS=true
12728
-
12729
- [Mozilla/4.0*(Macintosh*]
12730
- Parent=Netscape 4.0
12731
- Version=4.03
12732
- MinorVer=03
12733
- Platform=MacPPC
12734
-
12735
- [Mozilla/4.0*(Win95;*]
12736
- Parent=Netscape 4.0
12737
- Platform=Win95
12738
-
12739
- [Mozilla/4.0*(Win98;*]
12740
- Parent=Netscape 4.0
12741
- Version=4.03
12742
- MinorVer=03
12743
- Platform=Win98
12744
-
12745
- [Mozilla/4.0*(WinNT*]
12746
- Parent=Netscape 4.0
12747
- Version=4.03
12748
- MinorVer=03
12749
- Platform=WinNT
12750
-
12751
- [Mozilla/4.0*(X11;*)]
12752
- Parent=Netscape