impostor 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/.gemtest +0 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/.rvmrc +1 -0
  5. data/Gemfile +17 -0
  6. data/Gemfile.lock +47 -0
  7. data/History.txt +8 -0
  8. data/Manifest.txt +87 -55
  9. data/README.txt +11 -11
  10. data/Rakefile +16 -20
  11. data/lib/impostor/auth.rb +103 -0
  12. data/lib/impostor/config.rb +171 -0
  13. data/lib/impostor/errors.rb +67 -0
  14. data/lib/impostor/phpbb2.rb +202 -0
  15. data/lib/impostor/phpbb3.rb +199 -0
  16. data/lib/impostor/post.rb +111 -0
  17. data/lib/impostor/topic.rb +115 -0
  18. data/lib/impostor/wwf79.rb +186 -0
  19. data/lib/impostor/wwf80.rb +190 -0
  20. data/lib/impostor.rb +108 -5
  21. data/spec/auth_spec.rb +148 -0
  22. data/spec/base_spec_helper.rb +12 -0
  23. data/{test/test_helper.rb → spec/caged_net_http.rb} +8 -17
  24. data/spec/config_spec.rb +136 -0
  25. data/spec/fixtures/junk.html +1 -0
  26. data/{test → spec}/fixtures/phpbb2-get-new_topic-form-good-response.html +0 -0
  27. data/{test → spec}/fixtures/phpbb2-get-viewtopic-for-new-topic-good-response.html +11 -11
  28. data/{test → spec}/fixtures/phpbb2-get-viewtopic-for-new-topic-malformed-response.html +0 -0
  29. data/{test → spec}/fixtures/phpbb2-index.html +0 -0
  30. data/{test → spec}/fixtures/phpbb2-logged-in.html +0 -0
  31. data/{test → spec}/fixtures/phpbb2-login.html +0 -0
  32. data/{test → spec}/fixtures/phpbb2-not-logged-in.html +0 -0
  33. data/{test → spec}/fixtures/phpbb2-post-new_topic-good-response.html +0 -0
  34. data/{test → spec}/fixtures/phpbb2-post-reply-good-response.html +0 -0
  35. data/{test → spec}/fixtures/phpbb2-post-reply-throttled-response.html +0 -0
  36. data/{test → spec}/fixtures/phpbb2-too-many-posts.html +0 -0
  37. data/{test → spec}/fixtures/phpbb3-get-new-topic-form-good-response.html +0 -0
  38. data/{test → spec}/fixtures/phpbb3-get-reply-form-good-response.html +0 -0
  39. data/{test → spec}/fixtures/phpbb3-logged-in.html +0 -0
  40. data/{test → spec}/fixtures/phpbb3-login.html +0 -0
  41. data/{test → spec}/fixtures/phpbb3-not-logged-in.html +0 -0
  42. data/{test → spec}/fixtures/phpbb3-post-new_topic-good-response.html +0 -0
  43. data/{test → spec}/fixtures/phpbb3-post-reply-good-response.html +0 -0
  44. data/spec/fixtures/vcr_cassettes/phpbb2-should-be-overlimit-creating-topic.yml +1308 -0
  45. data/spec/fixtures/vcr_cassettes/phpbb2-should-create-topic.yml +923 -0
  46. data/spec/fixtures/vcr_cassettes/phpbb2-should-login.yml +360 -0
  47. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-create-new-topic.yml +497 -0
  48. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-login.yml +287 -0
  49. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-post.yml +497 -0
  50. data/spec/fixtures/vcr_cassettes/phpbb2-should-overlimit-error-post.yml +1140 -0
  51. data/spec/fixtures/vcr_cassettes/phpbb2-should-post.yml +751 -0
  52. data/spec/fixtures/vcr_cassettes/phpbb3-should-be-overlimit-creating-topic.yml +995 -0
  53. data/spec/fixtures/vcr_cassettes/phpbb3-should-create-topic.yml +675 -0
  54. data/spec/fixtures/vcr_cassettes/phpbb3-should-login.yml +245 -0
  55. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-create-new-topic.yml +350 -0
  56. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-login.yml +253 -0
  57. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-post.yml +350 -0
  58. data/spec/fixtures/vcr_cassettes/phpbb3-should-overlimit-error-post.yml +1046 -0
  59. data/spec/fixtures/vcr_cassettes/phpbb3-should-post.yml +605 -0
  60. data/{test → spec}/fixtures/wwf79-forum_posts.html +0 -0
  61. data/{test → spec}/fixtures/wwf79-general-new-topic-error.html +0 -0
  62. data/{test → spec}/fixtures/wwf79-general-posting-error.html +0 -0
  63. data/{test → spec}/fixtures/wwf79-good-post-forum_posts.html +1 -1
  64. data/{test → spec}/fixtures/wwf79-index.html +0 -0
  65. data/{test → spec}/fixtures/wwf79-logged-in.html +0 -0
  66. data/{test → spec}/fixtures/wwf79-login.html +0 -0
  67. data/{test → spec}/fixtures/wwf79-new-topic-forum_posts-response.html +0 -0
  68. data/{test → spec}/fixtures/wwf79-new-topic-post_message_form.html +0 -0
  69. data/{test → spec}/fixtures/wwf79-not-logged-in.html +0 -0
  70. data/{test → spec}/fixtures/wwf79-too-many-posts.html +0 -0
  71. data/{test → spec}/fixtures/wwf79-too-many-topics.html +0 -0
  72. data/{test → spec}/fixtures/wwf80-general-posting-error.html +0 -0
  73. data/{test → spec}/fixtures/wwf80-get-new_topic-form-good-response.html +0 -0
  74. data/{test → spec}/fixtures/wwf80-get-viewtopic-for-new-topic-good-response.html +0 -0
  75. data/{test → spec}/fixtures/wwf80-index.html +0 -0
  76. data/{test → spec}/fixtures/wwf80-logged-in.html +0 -0
  77. data/{test → spec}/fixtures/wwf80-login.html +0 -0
  78. data/{test → spec}/fixtures/wwf80-new_reply_form.html +0 -0
  79. data/{test → spec}/fixtures/wwf80-not-logged-in.html +0 -0
  80. data/{test → spec}/fixtures/wwf80-post-new_topic-good-response.html +1 -1
  81. data/{test → spec}/fixtures/wwf80-post-reply-good-response.html +0 -0
  82. data/{test → spec}/fixtures/wwf80-too-many-posts.html +0 -0
  83. data/spec/impostor_spec_helper.rb +162 -0
  84. data/spec/integration/phpbb2_spec.rb +111 -0
  85. data/spec/integration/phpbb3_spec.rb +109 -0
  86. data/spec/integration_spec_helper.rb +7 -0
  87. data/spec/phpbb2_spec.rb +346 -0
  88. data/spec/phpbb3_spec.rb +332 -0
  89. data/spec/post_spec.rb +134 -0
  90. data/spec/spec_helper.rb +2 -0
  91. data/spec/test_impostor.rb +12 -0
  92. data/spec/topic_spec.rb +143 -0
  93. data/spec/wwf79_spec.rb +342 -0
  94. data/spec/wwf80_spec.rb +339 -0
  95. metadata +156 -87
  96. data/lib/www/impostor/phpbb2.rb +0 -258
  97. data/lib/www/impostor/phpbb3.rb +0 -236
  98. data/lib/www/impostor/wwf79.rb +0 -254
  99. data/lib/www/impostor/wwf80.rb +0 -264
  100. data/lib/www/impostor.rb +0 -269
  101. data/test/test_github.rb +0 -12
  102. data/test/test_www_impostor.rb +0 -165
  103. data/test/test_www_impostor_phpbb2.rb +0 -536
  104. data/test/test_www_impostor_phpbb3.rb +0 -483
  105. data/test/test_www_impostor_wwf79.rb +0 -535
  106. data/test/test_www_impostor_wwf80.rb +0 -535
  107. data/vendor/plugins/impostor/lib/autotest/discover.rb +0 -3
  108. data/vendor/plugins/impostor/lib/autotest/impostor.rb +0 -49
@@ -0,0 +1,136 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe "impostor's configuration" do
4
+
5
+ it "should have an expected set of keys" do
6
+ lambda { config }.should_not raise_error(Impostor::ConfigError)
7
+ expected = [:type, :username, :password, :app_root, :login_page]
8
+ expected.each do |key|
9
+ config = { :type => :test,
10
+ :username => "user",
11
+ :password => "password",
12
+ :app_root => "http://example.com",
13
+ :login_page => "/login"
14
+ }
15
+ config.delete(key)
16
+ lambda {
17
+ Impostor::Config.new(config)
18
+ }.should raise_error(Impostor::ConfigError)
19
+ end
20
+ end
21
+
22
+ it "should key off symbols or strings" do
23
+ config = config(:foo => "bar")
24
+ config.config(:foo).should == "bar"
25
+ config.config("foo").should == "bar"
26
+ end
27
+
28
+ it "should set up an agent" do
29
+ config.agent.should respond_to(:get)
30
+ end
31
+
32
+ it "should load a topics cache persisted in a file" do
33
+ cache = Tempfile.new('foo')
34
+ topics = {"1" => {"2" => "Hello World"}}
35
+ cache.write(topics.to_yaml)
36
+ cache.close
37
+
38
+ YAML.should_receive(:load_file).with(cache.path).and_return(topics)
39
+ config(:topics_cache => cache.path).topics.should == topics
40
+ end
41
+
42
+ it "should load a topics cache persisted in memory" do
43
+ YAML.should_not_receive(:load_file)
44
+ config.topics.should == {}
45
+ end
46
+
47
+ it "should add a subject" do
48
+ c = config
49
+ c.topics.should == {}
50
+ c.add_subject(1, 2, "Hello World")
51
+ c.topics.should == {"1" => {"2" => "Hello World"}}
52
+ end
53
+
54
+ it "should get a subject" do
55
+ c = config
56
+ c.add_subject(1, 2, "Hello World")
57
+ c.topics.should == {"1" => {"2" => "Hello World"}}
58
+ c.get_subject(1, 2).should == "Hello World"
59
+ end
60
+
61
+ it "should save topics when it has a file to persist to" do
62
+ cache = Tempfile.new('foo')
63
+ topics = {"1" => {"2" => "Hello World"}}
64
+ cache.write(topics.to_yaml)
65
+ cache.close
66
+
67
+ c = config(:topics_cache => cache.path)
68
+ c.add_subject(1, 3, "Foo Bar")
69
+ c.save_topics
70
+
71
+ YAML::load_file(cache.path).should ==
72
+ {"1" => {"2" => "Hello World", "3" => "Foo Bar"}}
73
+ end
74
+
75
+ it "should have an app root" do
76
+ config(:app_root => "http://example.com").app_root.
77
+ should == "http://example.com"
78
+ end
79
+
80
+ it "should have a topics cache config entry" do
81
+ config(:topics_cache => "/hello/world").topics_cache.should == "/hello/world"
82
+ end
83
+
84
+ it "should have a username" do
85
+ config.username.should == "user"
86
+ end
87
+
88
+ it "should have a password" do
89
+ config.password.should == "password"
90
+ end
91
+
92
+ it "should have a default user agent" do
93
+ config.user_agent.should == "Mechanize"
94
+ end
95
+
96
+ it "should have a default user agent" do
97
+ config(:user_agent => "Linux Mozilla").user_agent.should == "Linux Mozilla"
98
+ end
99
+
100
+ it "should have a cookie jar" do
101
+ config(:cookie_jar => "/hello/world").cookie_jar.should == "/hello/world"
102
+ end
103
+
104
+ it "should have zero for sleep setting" do
105
+ config.sleep_before_post.should be_zero
106
+ end
107
+
108
+ it "should have for sleep setting" do
109
+ config(:sleep_before_post => 1).sleep_before_post.should == 1
110
+ end
111
+
112
+ it "should have a logger" do
113
+ log_file = Tempfile.new('log')
114
+ mechanize = mock "mechanize"
115
+ logger = mock "logger"
116
+ mechanize.should_receive(:log=).with(logger)
117
+ mechanize.should_receive(:user_agent_alias=).with("Mechanize")
118
+ Mechanize.should_receive(:new).and_yield(mechanize).and_return(mechanize)
119
+ Logger.should_receive(:new).with(log_file.path).and_return(logger)
120
+ self.config(:logger => log_file.path)
121
+ end
122
+
123
+ it "should have a cookie jar" do
124
+ jar_file = Tempfile.new('cookies')
125
+ jar_file.close
126
+ config = self.config(:cookie_jar => jar_file.path)
127
+ config.agent.cookie_jar.should_receive(:save_as).with(jar_file.path).once
128
+
129
+ config.save_cookie_jar
130
+ end
131
+
132
+ it "should have a type" do
133
+ config(:type => :foo).type.should == :foo
134
+ end
135
+
136
+ end
@@ -0,0 +1 @@
1
+ <html><head><title>junk</title></head><body>some junk</body></html>
@@ -5,8 +5,8 @@
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
6
  <meta http-equiv="Content-Style-Type" content="text/css">
7
7
 
8
- <link rel="prev" href="http://localhost/phpBB2/viewtopic.php?t=29&amp;view=previous" title="View previous topic">
9
- <link rel="next" href="http://localhost/phpBB2/viewtopic.php?t=29&amp;view=next" title="View next topic">
8
+ <link rel="prev" href="http://localhost/phpBB2/viewtopic.php?t=2&amp;view=previous" title="View previous topic">
9
+ <link rel="next" href="http://localhost/phpBB2/viewtopic.php?t=2&amp;view=next" title="View next topic">
10
10
  <link rel="up" href="http://localhost/phpBB2/viewforum.php?f=2" title="Cell Photo Bot">
11
11
  <link rel="chapter forum" href="http://localhost/phpBB2/viewforum.php?f=1" title="Test Forum 1">
12
12
  <link rel="chapter forum" href="http://localhost/phpBB2/viewforum.php?f=2" title="Cell Photo Bot"><title>yourdomain.com :: View topic - test</title><!-- link rel="stylesheet" href="templates/subSilver/subSilver.css" type="text/css" -->
@@ -249,7 +249,7 @@ input.liteoption {
249
249
 
250
250
  <table border="0" cellpadding="2" cellspacing="2" width="100%">
251
251
  <tbody><tr>
252
- <td colspan="2" align="left" valign="bottom"><a class="maintitle" href="http://localhost/phpBB2/viewtopic.php?t=29&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=">test</a><br>
252
+ <td colspan="2" align="left" valign="bottom"><a class="maintitle" href="http://localhost/phpBB2/viewtopic.php?t=2&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=">test</a><br>
253
253
  <span class="gensmall"><b></b><br>
254
254
  &nbsp; </span></td>
255
255
  </tr>
@@ -257,7 +257,7 @@ input.liteoption {
257
257
 
258
258
  <table border="0" cellpadding="2" cellspacing="2" width="100%">
259
259
  <tbody><tr>
260
- <td align="left" nowrap="nowrap" valign="bottom"><span class="nav"><a href="http://localhost/phpBB2/posting.php?mode=newtopic&amp;f=2"><img src="viewtopic.php_files/post.gif" alt="Post new topic" align="middle" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/posting.php?mode=reply&amp;t=29"><img src="viewtopic.php_files/reply.gif" alt="Reply to topic" align="middle" border="0"></a></span></td>
260
+ <td align="left" nowrap="nowrap" valign="bottom"><span class="nav"><a href="http://localhost/phpBB2/posting.php?mode=newtopic&amp;f=2"><img src="viewtopic.php_files/post.gif" alt="Post new topic" align="middle" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/posting.php?mode=reply&amp;t=2"><img src="viewtopic.php_files/reply.gif" alt="Reply to topic" align="middle" border="0"></a></span></td>
261
261
  <td align="left" valign="middle" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/index.php" class="nav">yourdomain.com Forum Index</a>
262
262
  -&gt; <a href="http://localhost/phpBB2/viewforum.php?f=2" class="nav">Cell Photo Bot</a></span></td>
263
263
  </tr>
@@ -265,7 +265,7 @@ input.liteoption {
265
265
 
266
266
  <table class="forumline" border="0" cellpadding="3" cellspacing="1" width="100%">
267
267
  <tbody><tr align="right">
268
- <td class="catHead" colspan="2" height="28"><span class="nav"><a href="http://localhost/phpBB2/viewtopic.php?t=29&amp;view=previous" class="nav">View previous topic</a> :: <a href="http://localhost/phpBB2/viewtopic.php?t=29&amp;view=next" class="nav">View next topic</a> &nbsp;</span></td>
268
+ <td class="catHead" colspan="2" height="28"><span class="nav"><a href="http://localhost/phpBB2/viewtopic.php?t=2&amp;view=previous" class="nav">View previous topic</a> :: <a href="http://localhost/phpBB2/viewtopic.php?t=2&amp;view=next" class="nav">View next topic</a> &nbsp;</span></td>
269
269
  </tr>
270
270
 
271
271
  <tr>
@@ -277,7 +277,7 @@ input.liteoption {
277
277
  <td class="row1" height="28" valign="top" width="100%"><table border="0" cellpadding="0" cellspacing="0" width="100%">
278
278
  <tbody><tr>
279
279
  <td width="100%"><a href="http://localhost/phpBB2/viewtopic.php?p=60#60"><img src="viewtopic.php_files/icon_minipost.gif" alt="Post" title="Post" border="0" height="9" width="12"></a><span class="postdetails">Posted: Sat Sep 01, 2007 6:59 am<span class="gen">&nbsp;</span>&nbsp; &nbsp;Post subject: test</span></td>
280
- <td nowrap="nowrap" valign="top"><a href="http://localhost/phpBB2/posting.php?mode=quote&amp;p=60"><img src="viewtopic.php_files/icon_quote.gif" alt="Reply with quote" title="Reply with quote" border="0"></a> <a href="http://localhost/phpBB2/posting.php?mode=editpost&amp;p=60"><img src="viewtopic.php_files/icon_edit.gif" alt="Edit/Delete this post" title="Edit/Delete this post" border="0"></a> <a href="http://localhost/phpBB2/posting.php?mode=delete&amp;p=60&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/icon_delete.gif" alt="Delete this post" title="Delete this post" border="0"></a> <a href="http://localhost/phpBB2/modcp.php?mode=ip&amp;p=60&amp;t=29&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/icon_ip.gif" alt="View IP address of poster" title="View IP address of poster" border="0"></a></td>
280
+ <td nowrap="nowrap" valign="top"><a href="http://localhost/phpBB2/posting.php?mode=quote&amp;p=60"><img src="viewtopic.php_files/icon_quote.gif" alt="Reply with quote" title="Reply with quote" border="0"></a> <a href="http://localhost/phpBB2/posting.php?mode=editpost&amp;p=60"><img src="viewtopic.php_files/icon_edit.gif" alt="Edit/Delete this post" title="Edit/Delete this post" border="0"></a> <a href="http://localhost/phpBB2/posting.php?mode=delete&amp;p=60&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/icon_delete.gif" alt="Delete this post" title="Delete this post" border="0"></a> <a href="http://localhost/phpBB2/modcp.php?mode=ip&amp;p=60&amp;t=2&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/icon_ip.gif" alt="View IP address of poster" title="View IP address of poster" border="0"></a></td>
281
281
  </tr>
282
282
  <tr>
283
283
  <td colspan="2"><hr></td>
@@ -307,7 +307,7 @@ input.liteoption {
307
307
  </tr>
308
308
  <tr align="center">
309
309
  <td class="catBottom" colspan="2" height="28"><table border="0" cellpadding="0" cellspacing="0">
310
- <tbody><tr><form method="post" action="viewtopic.php?t=29&amp;start=0"></form>
310
+ <tbody><tr><form method="post" action="viewtopic.php?t=2&amp;start=0"></form>
311
311
  <td align="center"><span class="gensmall">Display posts from previous: <select name="postdays"><option value="0" selected="selected">All Posts</option><option value="1">1 Day</option><option value="7">7 Days</option><option value="14">2 Weeks</option><option value="30">1 Month</option><option value="90">3 Months</option><option value="180">6 Months</option><option value="364">1 Year</option></select>&nbsp;<select name="postorder"><option value="asc" selected="selected">Oldest First</option><option value="desc">Newest First</option></select>&nbsp;<input value="Go" class="liteoption" name="submit" type="submit"></span></td>
312
312
  </tr>
313
313
  </tbody></table></td>
@@ -316,7 +316,7 @@ input.liteoption {
316
316
 
317
317
  <table align="center" border="0" cellpadding="2" cellspacing="2" width="100%">
318
318
  <tbody><tr>
319
- <td align="left" nowrap="nowrap" valign="middle"><span class="nav"><a href="http://localhost/phpBB2/posting.php?mode=newtopic&amp;f=2"><img src="viewtopic.php_files/post.gif" alt="Post new topic" align="middle" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/posting.php?mode=reply&amp;t=29"><img src="viewtopic.php_files/reply.gif" alt="Reply to topic" align="middle" border="0"></a></span></td>
319
+ <td align="left" nowrap="nowrap" valign="middle"><span class="nav"><a href="http://localhost/phpBB2/posting.php?mode=newtopic&amp;f=2"><img src="viewtopic.php_files/post.gif" alt="Post new topic" align="middle" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/posting.php?mode=reply&amp;t=2"><img src="viewtopic.php_files/reply.gif" alt="Reply to topic" align="middle" border="0"></a></span></td>
320
320
  <td align="left" valign="middle" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="http://localhost/phpBB2/index.php" class="nav">yourdomain.com Forum Index</a>
321
321
  -&gt; <a href="http://localhost/phpBB2/viewforum.php?f=2" class="nav">Cell Photo Bot</a></span></td>
322
322
  <td align="right" nowrap="nowrap" valign="top"><span class="gensmall">All times are GMT</span><br><span class="nav"></span>
@@ -329,9 +329,9 @@ input.liteoption {
329
329
 
330
330
  <table align="center" border="0" cellspacing="2" width="100%">
331
331
  <tbody><tr>
332
- <td align="left" nowrap="nowrap" valign="top" width="40%"><span class="gensmall"><a href="http://localhost/phpBB2/viewtopic.php?t=29&amp;watch=topic&amp;start=0&amp;sid=634167992ee20b38119f42ea4f619682">Watch this topic for replies</a></span><br>
332
+ <td align="left" nowrap="nowrap" valign="top" width="40%"><span class="gensmall"><a href="http://localhost/phpBB2/viewtopic.php?t=2&amp;watch=topic&amp;start=0&amp;sid=634167992ee20b38119f42ea4f619682">Watch this topic for replies</a></span><br>
333
333
  &nbsp;<br>
334
- <a href="http://localhost/phpBB2/modcp.php?t=29&amp;mode=delete&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_delete.gif" alt="Delete this topic" title="Delete this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=29&amp;mode=move&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_move.gif" alt="Move this topic" title="Move this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=29&amp;mode=lock&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_lock.gif" alt="Lock this topic" title="Lock this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=29&amp;mode=split&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_split.gif" alt="Split this topic" title="Split this topic" border="0"></a>&nbsp;</td>
334
+ <a href="http://localhost/phpBB2/modcp.php?t=2&amp;mode=delete&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_delete.gif" alt="Delete this topic" title="Delete this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=2&amp;mode=move&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_move.gif" alt="Move this topic" title="Move this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=2&amp;mode=lock&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_lock.gif" alt="Lock this topic" title="Lock this topic" border="0"></a>&nbsp;<a href="http://localhost/phpBB2/modcp.php?t=2&amp;mode=split&amp;sid=634167992ee20b38119f42ea4f619682"><img src="viewtopic.php_files/topic_split.gif" alt="Split this topic" title="Split this topic" border="0"></a>&nbsp;</td>
335
335
  <td align="right" nowrap="nowrap" valign="top">
336
336
  <form method="get" name="jumpbox" action="viewforum.php" onsubmit="if(document.jumpbox.f.value == -1){return false;}"><table border="0" cellpadding="0" cellspacing="0">
337
337
  <tbody><tr>
@@ -361,4 +361,4 @@ Powered by <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">php
361
361
  </tbody></table>
362
362
 
363
363
 
364
- </body></html>
364
+ </body></html>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes