Completely rewrote the scrapers, and added subforums for multi-subforum concurrent scraping
parent
9719ee099c
commit
cb3dbf264e
3
Gemfile
3
Gemfile
|
@ -58,6 +58,7 @@ gem 'cancancan' # Authorization adapter
|
|||
#######################
|
||||
gem 'reverse_markdown'
|
||||
gem 'nokogiri' # To parse HTML, for the scraper
|
||||
gem 'typhoeus' # Concurrent HTTP requests handler
|
||||
|
||||
# Testing
|
||||
#######################
|
||||
|
@ -75,6 +76,8 @@ group :development, :test do
|
|||
gem 'factory_girl_rails' # Models factories for Rspec
|
||||
gem 'forgery' # Create random text for testing, like lorem ipsum or random names
|
||||
gem 'capybara'
|
||||
gem 'rspec-its'
|
||||
gem 'rspec-mocks'
|
||||
end
|
||||
|
||||
group :test do
|
||||
|
|
10
Gemfile.lock
10
Gemfile.lock
|
@ -116,6 +116,8 @@ GEM
|
|||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
erubis (2.7.0)
|
||||
ethon (0.7.4)
|
||||
ffi (>= 1.3.0)
|
||||
eventmachine (1.0.7)
|
||||
execjs (2.5.2)
|
||||
factory_girl (4.5.0)
|
||||
|
@ -269,6 +271,9 @@ GEM
|
|||
rspec-expectations (3.3.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.3.0)
|
||||
rspec-its (1.2.0)
|
||||
rspec-core (>= 3.0.0)
|
||||
rspec-expectations (>= 3.0.0)
|
||||
rspec-mocks (3.3.2)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.3.0)
|
||||
|
@ -321,6 +326,8 @@ GEM
|
|||
tilt (1.4.1)
|
||||
turbolinks (2.5.3)
|
||||
coffee-rails
|
||||
typhoeus (0.7.2)
|
||||
ethon (>= 0.7.4)
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (2.7.1)
|
||||
|
@ -375,6 +382,8 @@ DEPENDENCIES
|
|||
rails_12factor
|
||||
redcarpet
|
||||
reverse_markdown
|
||||
rspec-its
|
||||
rspec-mocks
|
||||
rspec-rails
|
||||
sass (~> 3.4.0)
|
||||
sass-rails
|
||||
|
@ -383,6 +392,7 @@ DEPENDENCIES
|
|||
spring-commands-rspec
|
||||
susy (~> 2.0)
|
||||
turbolinks
|
||||
typhoeus
|
||||
tzinfo-data
|
||||
uglifier (>= 1.3.0)
|
||||
unicorn
|
||||
|
|
|
@ -9,15 +9,14 @@ ActiveAdmin.register ForumPost do
|
|||
:title_changed, :not_a_mod, :mod_id
|
||||
controller do
|
||||
def scoped_collection
|
||||
ForumPost.includes(:mod)
|
||||
ForumPost.includes(:mod, :subforum)
|
||||
end
|
||||
end
|
||||
|
||||
collection_action :scrap, method: :post do
|
||||
scraper = ForumPostsScraper.new
|
||||
posts = scraper.scrap
|
||||
manager = Scraper::SubforumManager.new Subforum.for_scraping
|
||||
ForumPost.transaction do
|
||||
posts.each(&:save!)
|
||||
manager.run
|
||||
end
|
||||
render json: {}
|
||||
end
|
||||
|
@ -56,8 +55,7 @@ ActiveAdmin.register ForumPost do
|
|||
filter :not_a_mod
|
||||
|
||||
index do
|
||||
selectable_column
|
||||
id_column
|
||||
column(:subforum) { |p| link_to(p.subforum.name, [:edit, :admin, p.subforum]) if p.subforum }
|
||||
|
||||
column :post_number, sortable: :post_number do |post|
|
||||
link_to post.post_number, post.url
|
||||
|
@ -67,12 +65,10 @@ ActiveAdmin.register ForumPost do
|
|||
link_to post.title, post.url
|
||||
end
|
||||
|
||||
column :published_at, sortable: :published_at do |post|
|
||||
span distance_of_time_in_words_to_now(post.published_at), title: post.published_at
|
||||
end
|
||||
|
||||
column :last_post_at, sortable: :last_post_at do |post|
|
||||
span distance_of_time_in_words_to_now(post.last_post_at), title: post.last_post_at
|
||||
[:published_at, :last_post_at, :created_at, :updated_at].each do |time_column|
|
||||
column time_column, sortable: time_column do |post|
|
||||
span distance_of_time_in_words_to_now(post[time_column]), title: post[time_column]
|
||||
end
|
||||
end
|
||||
|
||||
column :comments_count
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
ActiveAdmin.register Subforum do
|
||||
config.filters = false
|
||||
permit_params :url, :name, :game_version_id, :scrap, :number
|
||||
|
||||
before_save do |subforum|
|
||||
subforum.scrap_itself
|
||||
end
|
||||
|
||||
controller do
|
||||
def scoped_collection
|
||||
Subforum.includes(:game_version)
|
||||
end
|
||||
end
|
||||
|
||||
index do
|
||||
column :id
|
||||
column :number
|
||||
column :name
|
||||
column(:url){ |s| link_to s.url, s.url }
|
||||
column(:game_version){ |s| s.game_version.number }
|
||||
column :scrap
|
||||
actions
|
||||
end
|
||||
|
||||
form do |f|
|
||||
f.inputs do
|
||||
f.input :url
|
||||
f.input :game_version
|
||||
f.input :scrap
|
||||
end
|
||||
|
||||
f.actions
|
||||
end
|
||||
end
|
|
@ -67,11 +67,16 @@ class ModsController < ApplicationController
|
|||
|
||||
@mod.authors_list = forum_post.author_name
|
||||
@mod.forum_url = forum_post.url
|
||||
|
||||
if forum_post.published_at
|
||||
mod_version.released_at = forum_post.published_at
|
||||
end
|
||||
scraper = ForumPostScraper.new forum_post
|
||||
scraper.scrap
|
||||
|
||||
if forum_post.subforum and forum_post.subforum.game_version
|
||||
mod_version.game_versions = [forum_post.subforum.game_version]
|
||||
end
|
||||
# scraper = ForumPostScraper.new forum_post
|
||||
# scraper.scrap
|
||||
# @mod.description = forum_post.markdown_content
|
||||
end
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
class ForumPost < ActiveRecord::Base
|
||||
belongs_to :mod
|
||||
belongs_to :subforum, counter_cache: true
|
||||
|
||||
scope :sort_by_newer_to_older, ->{ order('last_post_at desc') }
|
||||
scope :for_mod_creation, ->{ where(mod: nil, not_a_mod: false) }
|
||||
|
@ -10,4 +11,9 @@ class ForumPost < ActiveRecord::Base
|
|||
def markdown_content
|
||||
@markdown_content ||= ReverseMarkdown.convert content
|
||||
end
|
||||
|
||||
def title=(val)
|
||||
self.title_changed = title_was != val
|
||||
super(val)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -92,7 +92,6 @@ class Mod < ActiveRecord::Base
|
|||
before_save do
|
||||
if forum_url_changed?
|
||||
self.forum_post = ForumPost.find_by_url(forum_url)
|
||||
# self.forum_posts << forum_post
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
require 'typhoeus'
|
||||
require 'nokogiri'
|
||||
|
||||
class Subforum < ActiveRecord::Base
|
||||
belongs_to :game_version
|
||||
has_many :forum_posts
|
||||
|
||||
scope :for_scraping, ->{ where(scrap: true) }
|
||||
|
||||
validates :number, presence: true
|
||||
validates :url, presence: true
|
||||
|
||||
def url=(val)
|
||||
if val.kind_of? String
|
||||
match = val.match(/f=([0-9]+)/)
|
||||
self.number = match ? match[1].to_i : nil
|
||||
else
|
||||
self.number = nil
|
||||
end
|
||||
super(val)
|
||||
end
|
||||
|
||||
def scrap_itself
|
||||
doc = Nokogiri::HTML(Typhoeus.get(url).body)
|
||||
self.name = doc.search('#page-body > h2 a').text
|
||||
end
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
class CreateSubforums < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :subforums do |t|
|
||||
t.string :url
|
||||
t.string :name, default: '', null: false
|
||||
t.references :game_version, index: true
|
||||
t.boolean :scrap
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddNumberToSubforums < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :subforums, :number, :integer
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddSubforumIdToForumPost < ActiveRecord::Migration
|
||||
def change
|
||||
add_reference :forum_posts, :subforum, index: true
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddDefaultTitleChangedToForumPosts < ActiveRecord::Migration
|
||||
def change
|
||||
change_column :forum_posts, :title_changed, :boolean, default: true, null: false
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddForumPostsCountToSubforums < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :subforums, :forum_posts_count, :integer
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddLastScrapAtToSubforums < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :subforums, :last_scrap_at, :datetime
|
||||
end
|
||||
end
|
18
db/schema.rb
18
db/schema.rb
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20150721162608) do
|
||||
ActiveRecord::Schema.define(version: 20150722233819) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -91,12 +91,14 @@ ActiveRecord::Schema.define(version: 20150721162608) do
|
|||
t.datetime "edited_at"
|
||||
t.integer "mod_id"
|
||||
t.integer "post_number"
|
||||
t.boolean "title_changed"
|
||||
t.boolean "title_changed", default: true, null: false
|
||||
t.boolean "not_a_mod", default: false
|
||||
t.integer "subforum_id"
|
||||
end
|
||||
|
||||
add_index "forum_posts", ["mod_id"], name: "index_forum_posts_on_mod_id", using: :btree
|
||||
add_index "forum_posts", ["post_number"], name: "index_forum_posts_on_post_number", using: :btree
|
||||
add_index "forum_posts", ["subforum_id"], name: "index_forum_posts_on_subforum_id", using: :btree
|
||||
|
||||
create_table "game_versions", force: true do |t|
|
||||
t.string "number"
|
||||
|
@ -233,6 +235,18 @@ ActiveRecord::Schema.define(version: 20150721162608) do
|
|||
t.datetime "created_at"
|
||||
end
|
||||
|
||||
create_table "subforums", force: true do |t|
|
||||
t.string "url"
|
||||
t.string "name"
|
||||
t.integer "game_version_id"
|
||||
t.boolean "scrap"
|
||||
t.integer "number"
|
||||
t.integer "forum_posts_count"
|
||||
t.datetime "last_scrap_at"
|
||||
end
|
||||
|
||||
add_index "subforums", ["game_version_id"], name: "index_subforums_on_game_version_id", using: :btree
|
||||
|
||||
create_table "tags", force: true do |t|
|
||||
t.string "name"
|
||||
t.integer "mods_count", default: 0, null: false
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
require 'net/http'
|
||||
require 'nokogiri'
|
||||
|
||||
class ForumPostScraper < Scraper::Base
|
||||
|
||||
def initialize(forum_post)
|
||||
@forum_post = forum_post
|
||||
super()
|
||||
end
|
||||
|
||||
def scrap
|
||||
page = get_next_page
|
||||
|
||||
@forum_post.content = page.doc.search('.content').first.children.to_s
|
||||
|
||||
@forum_post
|
||||
end
|
||||
|
||||
def page_base(number)
|
||||
@forum_post.url
|
||||
end
|
||||
|
||||
def next_page_url_from_dom
|
||||
nil
|
||||
end
|
||||
end
|
|
@ -1,75 +0,0 @@
|
|||
require 'net/http'
|
||||
require 'nokogiri'
|
||||
|
||||
class ForumPostsScraper < Scraper::Base
|
||||
def scrap
|
||||
array = []
|
||||
while page = get_next_page
|
||||
### UTC
|
||||
utc_string = page.doc.search('.navbar .linklist .rightside').text.match(/are\s*(.*)\s*(hours)?\s*$/)[1]
|
||||
utc_string.gsub!(' ', '')
|
||||
|
||||
page.doc.search('.forumbg:not(.announcement) .row').each do |row|
|
||||
### Post Number
|
||||
post_number = row.search('dt a[href^="./viewtopic"]').attribute('href').value.match(/t=([0-9]+)/)[1].to_i
|
||||
|
||||
### Find the post or create if it doesn't exist
|
||||
post = ForumPost.find_or_create_by(post_number: post_number)
|
||||
|
||||
### Title
|
||||
title = row.search('.topictitle').text
|
||||
post.title_changed = post.title != title if not post.title_changed
|
||||
post.title = title
|
||||
|
||||
### Published Date At
|
||||
date_string = row.search('dl dt').text.match(/»\s*(.+)\s*$/)[1]
|
||||
date_string += " #{utc_string}"
|
||||
post.published_at = DateTime.parse date_string
|
||||
|
||||
### Last Post At
|
||||
date_string = row.search('.lastpost span').text.match(/\s{2,}(.+)$/m)[1]
|
||||
date_string += " #{utc_string}"
|
||||
post.last_post_at = DateTime.parse date_string
|
||||
|
||||
### Views Count
|
||||
post.views_count = row.search('.views').text.to_i
|
||||
|
||||
### Comments Count
|
||||
post.comments_count = row.search('.posts').text.to_i
|
||||
|
||||
### Author Name
|
||||
post.author_name = row.search('dt a[href^="./memberlist"]').text.strip
|
||||
|
||||
### URL
|
||||
post.url = page_post post.post_number
|
||||
|
||||
### Edited At
|
||||
# TODO: Gotta check inside the post
|
||||
|
||||
array.push post
|
||||
end
|
||||
end
|
||||
array
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def page_post(post_id)
|
||||
"http://www.factorioforums.com/forum/viewtopic.php?f=14&t=#{post_id}"
|
||||
end
|
||||
|
||||
def page_base(page_number)
|
||||
page_number = page_number.kind_of?(String) ? page_number : page_number * 25
|
||||
"http://www.factorioforums.com/forum/viewforum.php?f=87&start=#{page_number}"
|
||||
end
|
||||
|
||||
def next_page_url_from_dom(page)
|
||||
link = page.doc.search('.display-options .right-box.right').first
|
||||
if link
|
||||
number = link.attribute('href').value.match(/start=([0-9]+)/)[1]
|
||||
page_base number.to_s
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,8 +1,4 @@
|
|||
module Scraper
|
||||
class NoServerConnection < StandardError; end
|
||||
class InvalidGame < StandardError; end
|
||||
class InvalidReview < StandardError; end
|
||||
class TooManyRedirects < StandardError; end
|
||||
class UnexpectedResponse < StandardError; end
|
||||
class UnexpectedURI < StandardError; end
|
||||
class NoPageProcessorFoundError < StandardError; end
|
||||
class InvalidProcessorError < StandardError; end
|
||||
end
|
|
@ -1,40 +1,62 @@
|
|||
require 'typhoeus'
|
||||
require 'nokogiri'
|
||||
|
||||
module Scraper
|
||||
class Base
|
||||
def initialize
|
||||
@current_page_number = -1
|
||||
@current_page = nil
|
||||
@@processors = []
|
||||
def self.register_processor(processor_class)
|
||||
unless processor_class.kind_of?(Class) and processor_class.ancestors.include? Scraper::BaseProcessor
|
||||
raise InvalidProcessorError
|
||||
end
|
||||
@@processors.push processor_class
|
||||
end
|
||||
|
||||
def page_base(page_number)
|
||||
''
|
||||
def initialize(initial_url)
|
||||
@multi_urls = initial_url.kind_of? Array
|
||||
@initial_urls = @multi_urls ? initial_url : [initial_url]
|
||||
@hydra = Typhoeus::Hydra.hydra
|
||||
@urls_queued = []
|
||||
end
|
||||
|
||||
def get_next_page
|
||||
url = next_page_url(@current_page)
|
||||
@last_page = @current_page
|
||||
if url
|
||||
page = Page.new(url)
|
||||
@current_page = page.is_end_page? ? nil : page
|
||||
def scrap
|
||||
@data = {}
|
||||
@initial_urls.each do |initial_url|
|
||||
@data[initial_url] = []
|
||||
add_to_queue initial_url, initial_url
|
||||
end
|
||||
@hydra.run
|
||||
|
||||
@multi_urls ? @data : @data.values.first
|
||||
end
|
||||
|
||||
def process_page(doc, request, response)
|
||||
end
|
||||
|
||||
def process_response(response, initial_url)
|
||||
document = Nokogiri::HTML(response.body)
|
||||
processor_class = @@processors.detect{ |processor_class| processor_class.regexp.match response.request.url }
|
||||
if processor_class
|
||||
processor = processor_class.new(document, response.request, response, self, initial_url)
|
||||
@data[initial_url].method(processor_class.addition_method).call processor.process_page
|
||||
else
|
||||
@current_page = nil
|
||||
raise NoPageProcessorFoundError
|
||||
end
|
||||
end
|
||||
|
||||
def next_page_url(page = nil)
|
||||
if page
|
||||
next_page_url_from_dom(page)
|
||||
# Find it in the DOM
|
||||
else
|
||||
next_page_url_from_number
|
||||
def add_to_queue(url, initial_url)
|
||||
request = Typhoeus::Request.new(url)
|
||||
request.on_complete do |response|
|
||||
process_response response, initial_url
|
||||
end
|
||||
@urls_queued << url
|
||||
@hydra.queue request
|
||||
end
|
||||
|
||||
def next_page_url_from_number
|
||||
page_base @current_page_number+1
|
||||
end
|
||||
|
||||
def next_page_url_from_dom(current_page)
|
||||
false
|
||||
# Queue the URL unless we already queued it before
|
||||
def add_to_queue_unless_there(url, initial_url)
|
||||
unless @urls_queued.include? url
|
||||
add_to_queue(url, initial_url)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,31 @@
|
|||
class Scraper::BaseProcessor
|
||||
def initialize(doc, request, response, scraper, initial_url)
|
||||
@data = nil
|
||||
@doc = doc
|
||||
@request = request
|
||||
@response = response
|
||||
@scraper = scraper
|
||||
@initial_url = initial_url
|
||||
end
|
||||
|
||||
attr_accessor :data
|
||||
|
||||
def process_page
|
||||
end
|
||||
|
||||
def add_to_queue_unless_there(url)
|
||||
@scraper.add_to_queue_unless_there(url, @initial_url)
|
||||
end
|
||||
|
||||
def add_to_queue(url)
|
||||
@scraper.add_to_queue(url, @initial_url)
|
||||
end
|
||||
|
||||
def self.regexp(value = nil)
|
||||
(@regexp = value if value) || @regexp || /(?!)/
|
||||
end
|
||||
|
||||
def self.addition_method(value = nil)
|
||||
(@addition_method = value if value) || @addition_method || :push
|
||||
end
|
||||
end
|
|
@ -1,69 +0,0 @@
|
|||
module Scraper
|
||||
class Page
|
||||
attr_reader :response
|
||||
attr_reader :url
|
||||
|
||||
def initialize(url)
|
||||
@url = url
|
||||
end
|
||||
|
||||
def uri
|
||||
@uri ||= URI url
|
||||
end
|
||||
|
||||
def raw
|
||||
@raw ||= get_page
|
||||
end
|
||||
|
||||
def doc
|
||||
@doc ||= (raw == -1) ? nil : Nokogiri::HTML(raw)
|
||||
end
|
||||
|
||||
def add_cookies(name, value)
|
||||
@cookies ||= []
|
||||
@cookies.push [name, value]
|
||||
end
|
||||
|
||||
def is_end_page?
|
||||
false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_page(redirects_limit = 10, retries_limit = 10)
|
||||
raise TooManyRedirects if redirects_limit == 0
|
||||
raise NoServerConnection if retries_limit == 0
|
||||
|
||||
begin
|
||||
uri = URI url
|
||||
raise UnexpectedURI unless uri.respond_to?(:request_uri)
|
||||
request = Net::HTTP::Get.new(uri)
|
||||
|
||||
request.add_field 'Cookie', @cookies.map{|a|a.join('=')}.join('; ') unless @cookies.blank?
|
||||
|
||||
response = Net::HTTP.new(uri.host, uri.port).start do |http|
|
||||
http.request(request)
|
||||
end
|
||||
rescue Errno::ETIMEDOUT, Timeout::Error => e
|
||||
seconds = 10 + (10 - retries_limit)*3
|
||||
sleep seconds unless Rails.env.test?
|
||||
return get_page(url, redirects_limit, retries_limit - 1)
|
||||
end
|
||||
|
||||
@response = response
|
||||
|
||||
case response
|
||||
when Net::HTTPSuccess then response.body
|
||||
when Net::HTTPRedirection then
|
||||
# TODO: Think of something better
|
||||
if response['location'] =~ /\/app\//
|
||||
get_page(response['location'], redirects_limit - 1, retries_limit)
|
||||
else
|
||||
return -1
|
||||
end
|
||||
else
|
||||
raise UnexpectedResponse
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,3 @@
|
|||
class Scraper::PostProcessor < Scraper::BaseProcessor
|
||||
|
||||
end
|
|
@ -0,0 +1,36 @@
|
|||
class Scraper::SubforumManager
|
||||
def initialize(subforums)
|
||||
@subforums = subforums
|
||||
end
|
||||
|
||||
def run
|
||||
@forum_posts = []
|
||||
urls = @subforums.map(&:url)
|
||||
scraper = Scraper::Base.new(urls)
|
||||
posts_data = scraper.scrap
|
||||
@subforums.each do |subforum|
|
||||
subforum_posts_data = posts_data[subforum.url]
|
||||
process_posts(subforum, subforum_posts_data)
|
||||
end
|
||||
end
|
||||
|
||||
def process_posts(subforum, posts_data)
|
||||
forum_posts = posts_data.map do |post_data|
|
||||
forum_post = ForumPost.find_or_initialize_by(post_number: post_data[:post_number])
|
||||
forum_post.title = post_data[:title]
|
||||
forum_post.published_at = post_data[:published_at]
|
||||
forum_post.last_post_at = post_data[:last_post_at]
|
||||
forum_post.views_count = post_data[:views_count]
|
||||
forum_post.comments_count = post_data[:comments_count]
|
||||
forum_post.author_name = post_data[:author_name]
|
||||
forum_post.url = post_data[:url]
|
||||
forum_post.subforum = subforum
|
||||
forum_post.save! # This should never happen, as there are no validations. But if it happens, I want to know.
|
||||
forum_post
|
||||
end
|
||||
|
||||
subforum.update_column(:last_scrap_at, Time.now)
|
||||
|
||||
@forum_posts.concat(forum_posts)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,65 @@
|
|||
class Scraper::SubforumProcessor < Scraper::BaseProcessor
|
||||
Scraper::Base.register_processor(self)
|
||||
addition_method :concat
|
||||
regexp %r{\Ahttps?://(www\.)?factorioforums.com/forum/viewforum\.php\?f=[0-9]+(&start=[0-9]+)?\Z}
|
||||
|
||||
def process_page
|
||||
posts = []
|
||||
### UTC timezone
|
||||
utc_string = @doc.search('.navbar .linklist .rightside').text.match(/are\s*(.*)\s*(hours)?\s*$/)[1]
|
||||
utc_string.gsub!(' ', '')
|
||||
|
||||
@doc.search('.topiclist.topics .row:not(.sticky)').each do |row|
|
||||
post = {}
|
||||
|
||||
### Title
|
||||
post[:title] = row.search('.topictitle').text
|
||||
|
||||
### Published Date At
|
||||
date_string = row.search('dl dt').text.match(/»\s*(.+)\s*$/)[1]
|
||||
post[:published_at] = DateTime.parse(date_string + " #{utc_string}")
|
||||
|
||||
### Last Post At
|
||||
date_string = row.search('.lastpost span').text.match(/\s{2,}(.+)$/m)[1]
|
||||
post[:last_post_at] = DateTime.parse(date_string + " #{utc_string}")
|
||||
|
||||
### Views Count
|
||||
post[:views_count] = row.search('.views').text.to_i
|
||||
|
||||
### Comments Count
|
||||
post[:comments_count] = row.search('.posts').text.to_i
|
||||
|
||||
### Author Name
|
||||
post[:author_name] = row.search('dt a[href^="./memberlist"]').text.strip
|
||||
|
||||
### URL
|
||||
post[:url] = link_url row.search('.topictitle')
|
||||
|
||||
### Post number
|
||||
post[:post_number] = URI::decode_www_form(URI(post[:url]).query).to_h['t'].to_i
|
||||
|
||||
posts << post
|
||||
end
|
||||
|
||||
### Subforum pages
|
||||
@doc.search('.pagination').first.search('span a').each do |a|
|
||||
add_to_queue_unless_there link_url(a)
|
||||
end
|
||||
|
||||
posts
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Extract the URL from the HREF of a link, and
|
||||
# returns it as an absolute path
|
||||
def link_url(a)
|
||||
parse_url a.attribute('href').value
|
||||
end
|
||||
|
||||
# We remove the session ID appended to the URL
|
||||
# And then we return the absolute URL
|
||||
def parse_url(relative_url)
|
||||
URI.join(@request.url, relative_url.gsub(/&sid=[^&]+/, '')).to_s
|
||||
end
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
FactoryGirl.define do
|
||||
factory :subforum do
|
||||
sequence(:url) { |n| "http://www.factorioforums.com/forum/viewforum.php?f=#{n}" }
|
||||
sequence(:name) { |n| "Subforum #{n}" }
|
||||
game_version nil
|
||||
scrap true
|
||||
sequence(:number) { |n| n }
|
||||
end
|
||||
end
|
|
@ -188,19 +188,19 @@ feature 'Modder creates a new mod' do
|
|||
scenario 'admin tries to create a mod from the forum_posts dashboard, so it has pre-filled attributes' do
|
||||
sign_in_admin
|
||||
released_at = 5.days.ago
|
||||
game_version = create :game_version
|
||||
subforum = create :subforum, game_version: game_version
|
||||
forum_post = create :forum_post, title: '[0.11.x] Potato mod',
|
||||
author_name: 'SuperGuy',
|
||||
published_at: released_at,
|
||||
author_name: 'SuperGuy',
|
||||
published_at: released_at,
|
||||
subforum: subforum,
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=6742'
|
||||
|
||||
# We mock the forum post page here
|
||||
mocked_page = File.read File.expand_path("../../fixtures/forum_post/basic_post.html", __FILE__)
|
||||
stub_request(:get, forum_post.url).to_return body: mocked_page
|
||||
|
||||
visit "/mods/new?forum_post_id=#{forum_post.id}"
|
||||
expect(find('#mod_name').value).to eq '[0.11.x] Potato mod'
|
||||
expect(find('#mod_authors_list').value).to eq 'SuperGuy'
|
||||
expect(find('#mod_forum_url').value).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=6742'
|
||||
expect(find('[id$=game_version_ids]').value).to eq [game_version.id.to_s]
|
||||
expect(find('[id$=released_at]').value).to eq released_at.strftime('%Y-%m-%d')
|
||||
end
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,647 +0,0 @@
|
|||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-gb" xml:lang="en-gb">
|
||||
<head>
|
||||
<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="content-style-type" content="text/css" />
|
||||
<meta http-equiv="content-language" content="en-gb" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta name="resource-type" content="document" />
|
||||
<meta name="distribution" content="global" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="" />
|
||||
|
||||
<title>Forums • View forum - Mods</title>
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="Feed - Forums" href="http://www.factorioforums.com/forum/feed.php" /><link rel="alternate" type="application/atom+xml" title="Feed - New Topics" href="http://www.factorioforums.com/forum/feed.php?mode=topics" /><link rel="alternate" type="application/atom+xml" title="Feed - Forum - Mods" href="http://www.factorioforums.com/forum/feed.php?f=14" />
|
||||
|
||||
<!--
|
||||
phpBB style name: Factorio
|
||||
Based on style: prosilver (this is the default phpBB3 style)
|
||||
Original author: Tom Beddard ( http://www.subBlue.com/ )
|
||||
Modified by: Graphic Albert (http://www.Factorio.com)
|
||||
-->
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var jump_page = 'Enter the page number you wish to go to:';
|
||||
var on_page = '5';
|
||||
var per_page = '25';
|
||||
var base_url = './viewforum.php?f=14';
|
||||
var style_cookie = 'phpBBstyle';
|
||||
var style_cookie_settings = '; path=/; domain=factorioforums.com';
|
||||
var onload_functions = new Array();
|
||||
var onunload_functions = new Array();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Find a member
|
||||
*/
|
||||
function find_username(url)
|
||||
{
|
||||
popup(url, 760, 570, '_usersearch');
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
|
||||
*/
|
||||
window.onload = function()
|
||||
{
|
||||
for (var i = 0; i < onload_functions.length; i++)
|
||||
{
|
||||
eval(onload_functions[i]);
|
||||
}
|
||||
};
|
||||
|
||||
window.onunload = function()
|
||||
{
|
||||
for (var i = 0; i < onunload_functions.length; i++)
|
||||
{
|
||||
eval(onunload_functions[i]);
|
||||
}
|
||||
};
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
<script type="text/javascript" src="./styles/prosilver/template/styleswitcher.js"></script>
|
||||
<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js"></script>
|
||||
|
||||
<link href="./styles/factorio/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" />
|
||||
<link href="./style.php?id=4&lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
<link href="./styles/factorio/theme/normal.css" rel="stylesheet" type="text/css" title="A" />
|
||||
<link href="./styles/factorio/theme/medium.css" rel="alternate stylesheet" type="text/css" title="A+" />
|
||||
<link href="./styles/factorio/theme/large.css" rel="alternate stylesheet" type="text/css" title="A++" />
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var spoiler_show = "[Reveal]";
|
||||
var spoiler_hide = "[Obscure]";
|
||||
//--></script>
|
||||
<script type="text/javascript" src="./styles/factorio/template/prime_bbcode_spoiler.js"></script>
|
||||
<link href="./styles/factorio/theme/prime_bbcode_spoiler.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body id="phpbb" class="section-viewforum ltr">
|
||||
<div id="wrap">
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div id="site-description">
|
||||
<a href="./index.php" title="Board index" id="logo"><img src="./styles/factorio/imageset/factorio.png" width="625" height="110" alt="" title="" /></a>
|
||||
<h1>Forums</h1>
|
||||
<p>www.factorio.com</p>
|
||||
<p class="skiplink"><a href="#start_here">Skip to content</a></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="search-box">
|
||||
<form action="./search.php" method="get" id="search">
|
||||
<fieldset>
|
||||
<input name="keywords" id="keywords" type="text" maxlength="128" title="Search for keywords" class="inputbox search" value="Search…" onclick="if(this.value=='Search…')this.value='';" onblur="if(this.value=='')this.value='Search…';" />
|
||||
<input class="button2" value="Search" type="submit" /><br />
|
||||
<a href="./search.php" title="View the advanced search options">Advanced search</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="navbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<ul class="linklist navlinks">
|
||||
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a> <strong>‹</strong> <a href="./viewforum.php?f=10">Contributions</a> <strong>‹</strong> <a href="./viewforum.php?f=14">Mods</a></li>
|
||||
|
||||
<li class="rightside"><a href="#" onclick="fontsizeup(); return false;" onkeypress="return fontsizeup(event);" class="fontsize" title="Change font size">Change font size</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="linklist leftside">
|
||||
<li class="icon-ucp">
|
||||
<a href="./ucp.php" title="User Control Panel" accesskey="e">User Control Panel</a>
|
||||
(<a href="./ucp.php?i=pm&folder=inbox"><strong>0</strong> new messages</a>) •
|
||||
<a href="./search.php?search_id=egosearch">View your posts</a>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="linklist rightside">
|
||||
<li class="icon-faq"><a href="./faq.php" title="Frequently Asked Questions">FAQ</a></li>
|
||||
<li class="icon-members"><a href="./memberlist.php" title="View complete list of members">Members</a></li>
|
||||
<li class="icon-logout"><a href="./ucp.php?mode=logout&sid=7420f2c130acc17f2c30599a86c505c8" title="Logout [ Zequez ]" accesskey="x">Logout [ Zequez ]</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<a name="start_here"></a>
|
||||
<div id="page-body">
|
||||
|
||||
<h2><a href="./viewforum.php?f=14&start=100">Mods</a></h2>
|
||||
|
||||
|
||||
<div>
|
||||
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the forum body --><div style="display: none !important;">Current mods and mod development.<br /></div>
|
||||
</div>
|
||||
|
||||
<ul class="linklist">
|
||||
<li class="rightside"><a href="./viewforum.php?hash=2067b57b&f=14&mark=forums">Mark subforums read</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="forabg">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<ul class="topiclist">
|
||||
<li class="header">
|
||||
<dl class="icon">
|
||||
<dt>Forum</dt>
|
||||
<dd class="topics">Topics</dd>
|
||||
<dd class="posts">Posts</dd>
|
||||
<dd class="lastpost"><span>Last post</span></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="topiclist forums">
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Modding discussion" href="http://www.factorioforums.com/forum/feed.php?f=34"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding discussion" /></a> -->
|
||||
<a href="./viewforum.php?f=34" class="forumtitle">Modding discussion</a><br />
|
||||
Place to post guides, observations, things related to modding that are not mods themselves.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">28 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">205 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=1693">bobingabout</a>
|
||||
<a href="./viewtopic.php?f=34&p=40360#p40360"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Thu Aug 07, 2014 4:15 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Modding help" href="http://www.factorioforums.com/forum/feed.php?f=25"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding help" /></a> -->
|
||||
<a href="./viewforum.php?f=25" class="forumtitle">Modding help</a><br />
|
||||
Place to get help with not working mods / modding interface.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">325 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">2039 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=147">FreeER</a>
|
||||
<a href="./viewtopic.php?f=25&p=40794#p40794"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Sun Aug 10, 2014 4:01 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Work In Progress Mods" href="http://www.factorioforums.com/forum/feed.php?f=32"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Work In Progress Mods" /></a> -->
|
||||
<a href="./viewforum.php?f=32" class="forumtitle">Work In Progress Mods</a><br />
|
||||
Place for concepts / mods that are in development / obsolete mods not working with latest Factorio version.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">44 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">671 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=1209">y.petremann</a>
|
||||
<a href="./viewtopic.php?f=32&p=40472#p40472"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Aug 08, 2014 12:05 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Ideas and Requests For Mods" href="http://www.factorioforums.com/forum/feed.php?f=33"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Ideas and Requests For Mods" /></a> -->
|
||||
<a href="./viewforum.php?f=33" class="forumtitle">Ideas and Requests For Mods</a><br />
|
||||
This is the place to request new mods or give ideas about what could be done.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">95 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">404 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=507">ssilk</a>
|
||||
<a href="./viewtopic.php?f=33&p=40865#p40865"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 6:04 am</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Modding interface requests" href="http://www.factorioforums.com/forum/feed.php?f=28"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding interface requests" /></a> -->
|
||||
<a href="./viewforum.php?f=28" class="forumtitle">Modding interface requests</a><br />
|
||||
Place to ask discuss and request the modding support of Factorio. Don't request mods here.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">98 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">432 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=3005">JLBShecky</a>
|
||||
<a href="./viewtopic.php?f=28&p=40890#p40890"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 11:30 am</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Obsolete mods" href="http://www.factorioforums.com/forum/feed.php?f=40"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Obsolete mods" /></a> -->
|
||||
<a href="./viewforum.php?f=40" class="forumtitle">Obsolete mods</a><br />
|
||||
Mods that haven't been updated for a long time so they are not compatible with recent versions, or mods that are no longer needed as their function is obsolete because of the Factorio changes.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">6 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">77 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=1693">bobingabout</a>
|
||||
<a href="./viewtopic.php?f=40&p=39756#p39756"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Sun Aug 03, 2014 11:33 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="forabg">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<ul class="topiclist">
|
||||
<li class="header">
|
||||
<dl class="icon">
|
||||
<dt><a href="./viewforum.php?f=42">Big mods</a></dt>
|
||||
<dd class="topics">Topics</dd>
|
||||
<dd class="posts">Posts</dd>
|
||||
<dd class="lastpost"><span>Last post</span></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="topiclist forums">
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - DyTech" href="http://www.factorioforums.com/forum/feed.php?f=43"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - DyTech" /></a> -->
|
||||
<a href="./viewforum.php?f=43" class="forumtitle">DyTech</a><br />
|
||||
A mod that extends some machines of the base game, but adds alot more then that.<br />DyTech is an Endgame mod! And VERY Hard with the newly added Biters!
|
||||
|
||||
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&u=732">Dysoch</a>
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">53 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">1839 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=3335">Undecided</a>
|
||||
<a href="./viewtopic.php?f=43&p=40892#p40892"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 11:44 am</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Treefarm" href="http://www.factorioforums.com/forum/feed.php?f=44"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Treefarm" /></a> -->
|
||||
<a href="./viewforum.php?f=44" class="forumtitle">Treefarm</a><br />
|
||||
Adds a Treefarm, coal-processing and a production-chain for organic plastic.
|
||||
|
||||
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&u=377">drs9999</a>
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">9 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">361 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=377">drs9999</a>
|
||||
<a href="./viewtopic.php?f=44&p=40899#p40899"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 12:52 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - F mod" href="http://www.factorioforums.com/forum/feed.php?f=45"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - F mod" /></a> -->
|
||||
<a href="./viewforum.php?f=45" class="forumtitle">F mod</a><br />
|
||||
Underground mining drills and more!
|
||||
|
||||
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&u=219">ficolas</a>
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">6 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">728 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=923">L0771</a>
|
||||
<a href="./viewtopic.php?f=45&p=40337#p40337"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Thu Aug 07, 2014 2:24 pm</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
<li class="row">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
|
||||
<dt title="Unread posts">
|
||||
<!-- <a class="feed-icon-forum" title="Feed - Test mode" href="http://www.factorioforums.com/forum/feed.php?f=46"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Test mode" /></a> -->
|
||||
<a href="./viewforum.php?f=46" class="forumtitle">Test mode</a><br />
|
||||
Kind of like creative mode.
|
||||
|
||||
</dt>
|
||||
|
||||
<dd class="topics">4 <dfn>Topics</dfn></dd>
|
||||
<dd class="posts">123 <dfn>Posts</dfn></dd>
|
||||
<dd class="lastpost"><span>
|
||||
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&u=147">FreeER</a>
|
||||
<a href="./viewtopic.php?f=46&p=36468#p36468"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Jul 11, 2014 8:40 am</span>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="topic-actions" style="margin-top: 2em;">
|
||||
|
||||
|
||||
<div class="buttons">
|
||||
<div class="post-icon" title="Post a new topic"><a href="./posting.php?mode=post&f=14"><span></span>Post a new topic</a></div>
|
||||
</div>
|
||||
|
||||
<div class="search-box">
|
||||
<form method="get" id="forum-search" action="./search.php">
|
||||
<fieldset>
|
||||
<input class="inputbox search tiny" type="text" name="keywords" id="search_keywords" size="20" value="Search this forum…" onclick="if (this.value == 'Search this forum…') this.value = '';" onblur="if (this.value == '') this.value = 'Search this forum…';" />
|
||||
<input class="button2" type="submit" value="Search" />
|
||||
<input type="hidden" name="fid[0]" value="14" />
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="pagination">
|
||||
<a href="./viewforum.php?hash=2067b57b&f=14&mark=topics" accesskey="m">Mark topics read</a> • 102 topics • <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…">Page <strong>5</strong> of <strong>5</strong></a> • <span><a href="./viewforum.php?f=14">1</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=25">2</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=50">3</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=75">4</a><span class="page-sep">, </span><strong>5</strong></span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="forumbg announcement">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<ul class="topiclist">
|
||||
<li class="header">
|
||||
<dl class="icon">
|
||||
<dt>Announcements</dt>
|
||||
<dd class="posts">Replies</dd>
|
||||
<dd class="views">Views</dd>
|
||||
<dd class="lastpost"><span>Last post</span></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="topiclist topics">
|
||||
|
||||
|
||||
<li class="row bg1 announce">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/announce_read.png); background-repeat: no-repeat;">
|
||||
<dt title="No unread posts"><a href="./viewtopic.php?f=14&t=947" class="topictitle">Mod forum rules</a>
|
||||
<br />
|
||||
by <a href="./memberlist.php?mode=viewprofile&u=54">slpwnd</a> » Tue Jun 11, 2013 9:16 am
|
||||
</dt>
|
||||
<dd class="posts">0 <dfn>Replies</dfn></dd>
|
||||
<dd class="views">996 <dfn>Views</dfn></dd>
|
||||
<dd class="lastpost"><span><dfn>Last post </dfn>by <a href="./memberlist.php?mode=viewprofile&u=54">slpwnd</a>
|
||||
<a href="./viewtopic.php?f=14&t=947&p=6590#p6590"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Tue Jun 11, 2013 9:16 am</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="forumbg">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<ul class="topiclist">
|
||||
<li class="header">
|
||||
<dl class="icon">
|
||||
<dt>Topics</dt>
|
||||
<dd class="posts">Replies</dd>
|
||||
<dd class="views">Views</dd>
|
||||
<dd class="lastpost"><span>Last post</span></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="topiclist topics">
|
||||
|
||||
|
||||
<li class="row bg2">
|
||||
<dl class="icon" style="background-image: url(./styles/factorio/imageset/topic_read.png); background-repeat: no-repeat;">
|
||||
<dt title="No unread posts"><a href="./viewtopic.php?f=14&t=195" class="topictitle">[MOD 0.2.7] Explosive Bullet Magazine Mod</a>
|
||||
<br />
|
||||
by <a href="./memberlist.php?mode=viewprofile&u=84">Poiasdope</a> » Thu Feb 21, 2013 12:58 am
|
||||
</dt>
|
||||
<dd class="posts">9 <dfn>Replies</dfn></dd>
|
||||
<dd class="views">1503 <dfn>Views</dfn></dd>
|
||||
<dd class="lastpost"><span><dfn>Last post </dfn>by <a href="./memberlist.php?mode=viewprofile&u=66">NatLaTomate</a>
|
||||
<a href="./viewtopic.php?f=14&t=195&p=1076#p1076"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Feb 22, 2013 1:49 pm</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<form method="post" action="./viewforum.php?f=14&start=100">
|
||||
<fieldset class="display-options">
|
||||
<a href="./viewforum.php?f=14&start=75" class="left-box left">Previous</a>
|
||||
<label>Display topics from previous: <select name="st" id="st"><option value="0" selected="selected">All Topics</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="365">1 year</option></select></label>
|
||||
<label>Sort by <select name="sk" id="sk"><option value="a">Author</option><option value="t" selected="selected">Post time</option><option value="r">Replies</option><option value="s">Subject</option><option value="v">Views</option></select></label>
|
||||
<label><select name="sd" id="sd"><option value="a">Ascending</option><option value="d" selected="selected">Descending</option></select> <input type="submit" name="sort" value="Go" class="button2" /></label>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
<hr />
|
||||
|
||||
<div class="topic-actions">
|
||||
|
||||
<div class="buttons">
|
||||
<div class="post-icon" title="Post a new topic"><a href="./posting.php?mode=post&f=14"><span></span>Post a new topic</a></div>
|
||||
</div>
|
||||
|
||||
<div class="pagination">
|
||||
<a href="./viewforum.php?hash=2067b57b&f=14&mark=topics">Mark topics read</a> • 102 topics • <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…">Page <strong>5</strong> of <strong>5</strong></a>
|
||||
• <span><a href="./viewforum.php?f=14">1</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=25">2</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=50">3</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&start=75">4</a><span class="page-sep">, </span><strong>5</strong></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p></p><p><a href="./index.php" class="left-box left" accesskey="r">Return to Board index</a></p>
|
||||
|
||||
<form method="post" id="jumpbox" action="./viewforum.php" onsubmit="if(this.f.value == -1){return false;}">
|
||||
|
||||
|
||||
<fieldset class="jumpbox">
|
||||
|
||||
<label for="f" accesskey="j">Jump to:</label>
|
||||
<select name="f" id="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }">
|
||||
|
||||
<option value="-1">Select a forum</option>
|
||||
<option value="-1">------------------</option>
|
||||
<option value="21">General</option>
|
||||
|
||||
<option value="3"> News</option>
|
||||
|
||||
<option value="38"> Updates</option>
|
||||
|
||||
<option value="5"> General discussion</option>
|
||||
|
||||
<option value="8"> Show your Creations</option>
|
||||
|
||||
<option value="19"> Spread the Word</option>
|
||||
|
||||
<option value="27"> Off topic</option>
|
||||
|
||||
<option value="17">Support</option>
|
||||
|
||||
<option value="18"> Gameplay Help</option>
|
||||
|
||||
<option value="49"> Technical Help</option>
|
||||
|
||||
<option value="7"> Bug Reports</option>
|
||||
|
||||
<option value="11"> Resolved Problems and Bugs</option>
|
||||
|
||||
<option value="30"> Resolved for the next release</option>
|
||||
|
||||
<option value="23"> Not a bug</option>
|
||||
|
||||
<option value="29"> Pending</option>
|
||||
|
||||
<option value="35"> 1 / 0 magic</option>
|
||||
|
||||
<option value="41"> Known issues</option>
|
||||
|
||||
<option value="47"> Duplicates</option>
|
||||
|
||||
<option value="48"> Minor issues</option>
|
||||
|
||||
<option value="20">Factorio Direction</option>
|
||||
|
||||
<option value="9"> Development Proposals</option>
|
||||
|
||||
<option value="6"> Ideas and Suggestions</option>
|
||||
|
||||
<option value="16"> Balancing</option>
|
||||
|
||||
<option value="10">Contributions</option>
|
||||
|
||||
<option value="14" selected="selected"> Mods</option>
|
||||
|
||||
<option value="34"> Modding discussion</option>
|
||||
|
||||
<option value="25"> Modding help</option>
|
||||
|
||||
<option value="32"> Work In Progress Mods</option>
|
||||
|
||||
<option value="33"> Ideas and Requests For Mods</option>
|
||||
|
||||
<option value="28"> Modding interface requests</option>
|
||||
|
||||
<option value="40"> Obsolete mods</option>
|
||||
|
||||
<option value="42"> Big mods</option>
|
||||
|
||||
<option value="43"> DyTech</option>
|
||||
|
||||
<option value="44"> Treefarm</option>
|
||||
|
||||
<option value="45"> F mod</option>
|
||||
|
||||
<option value="46"> Test mode</option>
|
||||
|
||||
<option value="36"> Maps and Scenarios</option>
|
||||
|
||||
<option value="12"> Translations</option>
|
||||
|
||||
<option value="15"> Texture Packs</option>
|
||||
|
||||
<option value="50"> Wiki Talk</option>
|
||||
|
||||
</select>
|
||||
<input type="submit" value="Go" class="button2" />
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
<h3><a href="./viewonline.php">Who is online</a></h3>
|
||||
<p>Users browsing this forum: <span style="color: #9E8DA7;" class="username-coloured">Bing [Bot]</span>, <a href="./memberlist.php?mode=viewprofile&u=1553">Zequez</a> and 6 guests</p>
|
||||
|
||||
<h3>Forum permissions</h3>
|
||||
<p>You <strong>can</strong> post new topics in this forum<br />You <strong>can</strong> reply to topics in this forum<br />You <strong>can</strong> edit your posts in this forum<br />You <strong>can</strong> delete your posts in this forum<br />You <strong>can</strong> post attachments in this forum<br /></p>
|
||||
</div>
|
||||
|
||||
<div id="page-footer">
|
||||
|
||||
<div class="navbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<ul class="linklist">
|
||||
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a></li>
|
||||
<li class="icon-subscribe"><a href="./viewforum.php?uid=1553&f=14&watch=forum&start=100&hash=d2425fcc" title="Subscribe forum">Subscribe forum</a></li>
|
||||
<li class="rightside"><a href="./memberlist.php?mode=leaders">The team</a> • <a href="./ucp.php?mode=delete_cookies">Delete all board cookies</a> • All times are UTC - 3 hours </li>
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="copyright">Powered by <a href="http://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,513 +0,0 @@
|
|||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-gb" xml:lang="en-gb">
|
||||
<head>
|
||||
<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="content-style-type" content="text/css" />
|
||||
<meta http-equiv="content-language" content="en-gb" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<meta name="resource-type" content="document" />
|
||||
<meta name="distribution" content="global" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="" />
|
||||
|
||||
<title>Forums • View topic - [0.11.x] Tankwerkz Unlimited v0.1.1</title>
|
||||
|
||||
<link rel="alternate" type="application/atom+xml" title="Feed - Forums" href="http://www.factorioforums.com/forum/feed.php" /><link rel="alternate" type="application/atom+xml" title="Feed - New Topics" href="http://www.factorioforums.com/forum/feed.php?mode=topics" /><link rel="alternate" type="application/atom+xml" title="Feed - Forum - Mods" href="http://www.factorioforums.com/forum/feed.php?f=14" /><link rel="alternate" type="application/atom+xml" title="Feed - Topic - [0.11.x] Tankwerkz Unlimited v0.1.1" href="http://www.factorioforums.com/forum/feed.php?f=14&t=6751" />
|
||||
|
||||
<!--
|
||||
phpBB style name: Factorio
|
||||
Based on style: prosilver (this is the default phpBB3 style)
|
||||
Original author: Tom Beddard ( http://www.subBlue.com/ )
|
||||
Modified by: Graphic Albert (http://www.Factorio.com)
|
||||
-->
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var jump_page = 'Enter the page number you wish to go to:';
|
||||
var on_page = '1';
|
||||
var per_page = '';
|
||||
var base_url = '';
|
||||
var style_cookie = 'phpBBstyle';
|
||||
var style_cookie_settings = '; path=/; domain=factorioforums.com';
|
||||
var onload_functions = new Array();
|
||||
var onunload_functions = new Array();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Find a member
|
||||
*/
|
||||
function find_username(url)
|
||||
{
|
||||
popup(url, 760, 570, '_usersearch');
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
|
||||
*/
|
||||
window.onload = function()
|
||||
{
|
||||
for (var i = 0; i < onload_functions.length; i++)
|
||||
{
|
||||
eval(onload_functions[i]);
|
||||
}
|
||||
};
|
||||
|
||||
window.onunload = function()
|
||||
{
|
||||
for (var i = 0; i < onunload_functions.length; i++)
|
||||
{
|
||||
eval(onunload_functions[i]);
|
||||
}
|
||||
};
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
<script type="text/javascript" src="./styles/prosilver/template/styleswitcher.js"></script>
|
||||
<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js"></script>
|
||||
|
||||
<link href="./styles/factorio/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" />
|
||||
<link href="./style.php?id=4&lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
<link href="./styles/factorio/theme/normal.css" rel="stylesheet" type="text/css" title="A" />
|
||||
<link href="./styles/factorio/theme/medium.css" rel="alternate stylesheet" type="text/css" title="A+" />
|
||||
<link href="./styles/factorio/theme/large.css" rel="alternate stylesheet" type="text/css" title="A++" />
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var spoiler_show = "[Reveal]";
|
||||
var spoiler_hide = "[Obscure]";
|
||||
//--></script>
|
||||
<script type="text/javascript" src="./styles/factorio/template/prime_bbcode_spoiler.js"></script>
|
||||
<link href="./styles/factorio/theme/prime_bbcode_spoiler.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body id="phpbb" class="section-viewtopic ltr">
|
||||
<div id="wrap">
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div id="site-description">
|
||||
<a href="./index.php" title="Board index" id="logo"><img src="./styles/factorio/imageset/factorio.png" width="625" height="110" alt="" title="" /></a>
|
||||
<h1>Forums</h1>
|
||||
<p>www.factorio.com</p>
|
||||
<p class="skiplink"><a href="#start_here">Skip to content</a></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="search-box">
|
||||
<form action="./search.php" method="get" id="search">
|
||||
<fieldset>
|
||||
<input name="keywords" id="keywords" type="text" maxlength="128" title="Search for keywords" class="inputbox search" value="Search…" onclick="if(this.value=='Search…')this.value='';" onblur="if(this.value=='')this.value='Search…';" />
|
||||
<input class="button2" value="Search" type="submit" /><br />
|
||||
<a href="./search.php" title="View the advanced search options">Advanced search</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="navbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<ul class="linklist navlinks">
|
||||
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a> <strong>‹</strong> <a href="./viewforum.php?f=10">Contributions</a> <strong>‹</strong> <a href="./viewforum.php?f=14">Mods</a></li>
|
||||
|
||||
<li class="rightside"><a href="#" onclick="fontsizeup(); return false;" onkeypress="return fontsizeup(event);" class="fontsize" title="Change font size">Change font size</a></li>
|
||||
|
||||
<li class="rightside"><a href="./memberlist.php?mode=email&t=6751" title="E-mail friend" class="sendemail">E-mail friend</a></li><li class="rightside"><a href="./viewtopic.php?f=14&t=6751&view=print" title="Print view" accesskey="p" class="print">Print view</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="linklist leftside">
|
||||
<li class="icon-ucp">
|
||||
<a href="./ucp.php" title="User Control Panel" accesskey="e">User Control Panel</a>
|
||||
(<a href="./ucp.php?i=pm&folder=inbox"><strong>0</strong> new messages</a>) •
|
||||
<a href="./search.php?search_id=egosearch">View your posts</a>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="linklist rightside">
|
||||
<li class="icon-faq"><a href="./faq.php" title="Frequently Asked Questions">FAQ</a></li>
|
||||
<li class="icon-members"><a href="./memberlist.php" title="View complete list of members">Members</a></li>
|
||||
<li class="icon-logout"><a href="./ucp.php?mode=logout&sid=1a8d7a3d47addb3d0b72a48329089ef0" title="Logout [ Zequez ]" accesskey="x">Logout [ Zequez ]</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<a name="start_here"></a>
|
||||
<div id="page-body">
|
||||
|
||||
<h2><a href="./viewtopic.php?f=14&t=6751">[0.11.x] Tankwerkz Unlimited v0.1.1</a></h2>
|
||||
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body --><div style="display: none !important;">Current mods and mod development.<br /></div>
|
||||
|
||||
<div class="topic-actions">
|
||||
|
||||
<div class="buttons">
|
||||
|
||||
<div class="reply-icon"><a href="./posting.php?mode=reply&f=14&t=6751" title="Post a reply"><span></span>Post a reply</a></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="search-box">
|
||||
<form method="get" id="topic-search" action="./search.php">
|
||||
<fieldset>
|
||||
<input class="inputbox search tiny" type="text" name="keywords" id="search_keywords" size="20" value="Search this topic…" onclick="if(this.value=='Search this topic…')this.value='';" onblur="if(this.value=='')this.value='Search this topic…';" />
|
||||
<input class="button2" type="submit" value="Search" />
|
||||
<input type="hidden" name="t" value="6751" />
|
||||
<input type="hidden" name="sf" value="msgonly" />
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="pagination">
|
||||
<a href="#unread">First unread post</a> • 3 posts
|
||||
• Page <strong>1</strong> of <strong>1</strong>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
<a id="unread"></a>
|
||||
<div id="p52731" class="post bg2 unreadpost">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div class="postbody">
|
||||
|
||||
<ul class="profile-icons">
|
||||
<li class="report-icon"><a href="./report.php?f=14&p=52731" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&f=14&p=52731" title="Reply with quote"><span>Reply with quote</span></a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 class="first"><a href="#p52731">[0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
|
||||
<p class="author"><a href="./viewtopic.php?p=52731#p52731"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&u=2953">thegreyman</a></strong> » Mon Nov 17, 2014 2:19 pm </p>
|
||||
|
||||
|
||||
|
||||
<div class="content"><h3>Hey there</h3><strong>I'm here to kill you!</strong><ul><li>And a list of stuff!</li><li>And more stuff!</li></ul></div>
|
||||
|
||||
|
||||
<dl class="attachbox">
|
||||
<dt>Attachments</dt>
|
||||
|
||||
<dd>
|
||||
<dl class="file">
|
||||
<dt><img src="./styles/factorio/imageset/icon_topic_attach.png" width="16" height="16" alt="" title="" /> <a class="postlink" href="./download/file.php?id=2351">tankwerkz_0.1.1.zip</a></dt>
|
||||
|
||||
<dd>(255.19 KiB) Downloaded 162 times</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<dl class="postprofile" id="profile52731">
|
||||
<dt>
|
||||
<a href="./memberlist.php?mode=viewprofile&u=2953">thegreyman</a>
|
||||
</dt>
|
||||
|
||||
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
|
||||
|
||||
<dd> </dd>
|
||||
|
||||
<dd><strong>Posts:</strong> 15</dd><dd><strong>Joined:</strong> Tue Jul 15, 2014 10:08 am</dd>
|
||||
<dd>
|
||||
<ul class="profile-icons">
|
||||
<li class="pm-icon"><a href="./ucp.php?i=pm&mode=compose&action=quotepost&p=52731" title="Private message"><span>Private message</span></a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<hr class="divider" />
|
||||
|
||||
<div id="p54263" class="post bg1 unreadpost">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div class="postbody">
|
||||
|
||||
<ul class="profile-icons">
|
||||
<li class="report-icon"><a href="./report.php?f=14&p=54263" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&f=14&p=54263" title="Reply with quote"><span>Reply with quote</span></a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 ><a href="#p54263">Re: [0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
|
||||
<p class="author"><a href="./viewtopic.php?p=54263#p54263"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&u=3204">vedrit</a></strong> » Thu Nov 27, 2014 7:15 am </p>
|
||||
|
||||
|
||||
|
||||
<div class="content">I put in the mod and I noticed that the recipie for the High Explosive round requires a High Explosive round. Kind of problematic...</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<dl class="postprofile" id="profile54263">
|
||||
<dt>
|
||||
<a href="./memberlist.php?mode=viewprofile&u=3204">vedrit</a>
|
||||
</dt>
|
||||
|
||||
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
|
||||
|
||||
<dd> </dd>
|
||||
|
||||
<dd><strong>Posts:</strong> 16</dd><dd><strong>Joined:</strong> Sat Aug 02, 2014 11:25 pm</dd>
|
||||
<dd>
|
||||
<ul class="profile-icons">
|
||||
<li class="pm-icon"><a href="./ucp.php?i=pm&mode=compose&action=quotepost&p=54263" title="Private message"><span>Private message</span></a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<hr class="divider" />
|
||||
|
||||
<div id="p54289" class="post bg2 unreadpost">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div class="postbody">
|
||||
|
||||
<ul class="profile-icons">
|
||||
<li class="report-icon"><a href="./report.php?f=14&p=54289" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&f=14&p=54289" title="Reply with quote"><span>Reply with quote</span></a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 ><a href="#p54289">Re: [0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
|
||||
<p class="author"><a href="./viewtopic.php?p=54289#p54289"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&u=3542">Damrus</a></strong> » Thu Nov 27, 2014 9:41 am </p>
|
||||
|
||||
|
||||
|
||||
<div class="content">I think I fixed it. (hope the Original auther doesn't mind and if so Ill remove it)<br /><br />DL link<br /><!-- m --><a class="postlink" href="https://www.dropbox.com/s/cgb3bcb71rali7s/ammo.lua?dl=0">https://www.dropbox.com/s/cgb3bcb71rali7s/ammo.lua?dl=0</a><!-- m --><br /><br />Put the file in: Factorio\mods\tankwerkz_0.1.1\prototypes\recipe<br />And overwrite the other one.</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<dl class="postprofile" id="profile54289">
|
||||
<dt>
|
||||
<a href="./memberlist.php?mode=viewprofile&u=3542">Damrus</a>
|
||||
</dt>
|
||||
|
||||
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
|
||||
|
||||
<dd> </dd>
|
||||
|
||||
<dd><strong>Posts:</strong> 8</dd><dd><strong>Joined:</strong> Sat Aug 23, 2014 9:41 am</dd>
|
||||
<dd>
|
||||
<ul class="profile-icons">
|
||||
<li class="pm-icon"><a href="./ucp.php?i=pm&mode=compose&action=quotepost&p=54289" title="Private message"><span>Private message</span></a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
|
||||
</dl>
|
||||
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<hr class="divider" />
|
||||
|
||||
<form id="viewtopic" method="post" action="./viewtopic.php?f=14&t=6751">
|
||||
|
||||
<fieldset class="display-options" style="margin-top: 0; ">
|
||||
|
||||
<label>Display posts from previous: <select name="st" id="st"><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="365">1 year</option></select></label>
|
||||
<label>Sort by <select name="sk" id="sk"><option value="a">Author</option><option value="t" selected="selected">Post time</option><option value="s">Subject</option></select></label> <label><select name="sd" id="sd"><option value="a" selected="selected">Ascending</option><option value="d">Descending</option></select> <input type="submit" name="sort" value="Go" class="button2" /></label>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<hr />
|
||||
|
||||
|
||||
<div class="topic-actions">
|
||||
<div class="buttons">
|
||||
|
||||
<div class="reply-icon"><a href="./posting.php?mode=reply&f=14&t=6751" title="Post a reply"><span></span>Post a reply</a></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pagination">
|
||||
3 posts
|
||||
• Page <strong>1</strong> of <strong>1</strong>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<p></p><p><a href="./viewforum.php?f=14" class="left-box left" accesskey="r">Return to Mods</a></p>
|
||||
|
||||
<form method="post" id="jumpbox" action="./viewforum.php" onsubmit="if(this.f.value == -1){return false;}">
|
||||
|
||||
|
||||
<fieldset class="jumpbox">
|
||||
|
||||
<label for="f" accesskey="j">Jump to:</label>
|
||||
<select name="f" id="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }">
|
||||
|
||||
<option value="-1">Select a forum</option>
|
||||
<option value="-1">------------------</option>
|
||||
<option value="21">General</option>
|
||||
|
||||
<option value="3"> Releases</option>
|
||||
|
||||
<option value="38"> News</option>
|
||||
|
||||
<option value="5"> General discussion</option>
|
||||
|
||||
<option value="53"> Multiplayer</option>
|
||||
|
||||
<option value="8"> Show your Creations</option>
|
||||
|
||||
<option value="54"> Videos</option>
|
||||
|
||||
<option value="19"> Spread the Word</option>
|
||||
|
||||
<option value="27"> Off topic</option>
|
||||
|
||||
<option value="17">Support</option>
|
||||
|
||||
<option value="18"> Gameplay Help</option>
|
||||
|
||||
<option value="49"> Technical Help</option>
|
||||
|
||||
<option value="7"> Bug Reports</option>
|
||||
|
||||
<option value="11"> Resolved Problems and Bugs</option>
|
||||
|
||||
<option value="30"> Resolved for the next release</option>
|
||||
|
||||
<option value="23"> Not a bug</option>
|
||||
|
||||
<option value="29"> Pending</option>
|
||||
|
||||
<option value="35"> 1 / 0 magic</option>
|
||||
|
||||
<option value="41"> Known issues</option>
|
||||
|
||||
<option value="47"> Duplicates</option>
|
||||
|
||||
<option value="48"> Minor issues</option>
|
||||
|
||||
<option value="52"> Multiplayer bugs</option>
|
||||
|
||||
<option value="20">Factorio Direction</option>
|
||||
|
||||
<option value="9"> Development Proposals</option>
|
||||
|
||||
<option value="6"> Ideas and Suggestions</option>
|
||||
|
||||
<option value="16"> Balancing</option>
|
||||
|
||||
<option value="10">Contributions</option>
|
||||
|
||||
<option value="14" selected="selected"> Mods</option>
|
||||
|
||||
<option value="34"> Modding discussion</option>
|
||||
|
||||
<option value="25"> Modding help</option>
|
||||
|
||||
<option value="32"> Work In Progress Mods</option>
|
||||
|
||||
<option value="33"> Ideas and Requests For Mods</option>
|
||||
|
||||
<option value="28"> Modding interface requests</option>
|
||||
|
||||
<option value="40"> Obsolete mods</option>
|
||||
|
||||
<option value="42"> Big mods</option>
|
||||
|
||||
<option value="43"> DyTech</option>
|
||||
|
||||
<option value="44"> Treefarm</option>
|
||||
|
||||
<option value="45"> F mod</option>
|
||||
|
||||
<option value="46"> Test mode</option>
|
||||
|
||||
<option value="51"> Bob's mods</option>
|
||||
|
||||
<option value="36"> Maps and Scenarios</option>
|
||||
|
||||
<option value="12"> Translations</option>
|
||||
|
||||
<option value="15"> Texture Packs</option>
|
||||
|
||||
<option value="50"> Wiki Talk</option>
|
||||
|
||||
</select>
|
||||
<input type="submit" value="Go" class="button2" />
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
<h3><a href="./viewonline.php">Who is online</a></h3>
|
||||
<p>Users browsing this forum: <a href="./memberlist.php?mode=viewprofile&u=923">L0771</a>, <a href="./memberlist.php?mode=viewprofile&u=3971">laige</a>, <a href="./memberlist.php?mode=viewprofile&u=4525">shock</a> and 6 guests</p>
|
||||
</div>
|
||||
|
||||
<div id="page-footer">
|
||||
|
||||
<div class="navbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<ul class="linklist">
|
||||
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a></li>
|
||||
<li class="icon-subscribe"><a href="./viewtopic.php?uid=1553&f=14&t=6751&watch=topic&start=0&hash=cb5dd3d8" title="Subscribe topic">Subscribe topic</a></li><li class="icon-bookmark"><a href="./viewtopic.php?f=14&t=6751&bookmark=1&hash=cb5dd3d8" title="Bookmark topic">Bookmark topic</a></li>
|
||||
<li class="rightside"><a href="./memberlist.php?mode=leaders">The team</a> • <a href="./ucp.php?mode=delete_cookies">Delete all board cookies</a> • All times are UTC - 3 hours </li>
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
|
||||
<div class="copyright">Powered by <a href="http://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
3194
spec/fixtures/vcr_cassettes/_cassette_name_subforum_multiple_pages_record_new_episodes_.yml
vendored
Normal file
3194
spec/fixtures/vcr_cassettes/_cassette_name_subforum_multiple_pages_record_new_episodes_.yml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
525
spec/fixtures/vcr_cassettes/_cassette_name_subforum_single_page_record_new_episodes_.yml
vendored
Normal file
525
spec/fixtures/vcr_cassettes/_cassette_name_subforum_single_page_record_new_episodes_.yml
vendored
Normal file
|
@ -0,0 +1,525 @@
|
|||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: get
|
||||
uri: http://www.factorioforums.com/forum/viewforum.php?f=91
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
User-Agent:
|
||||
- Typhoeus - https://github.com/typhoeus/typhoeus
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
headers:
|
||||
Date:
|
||||
- Wed, 22 Jul 2015 18:32:25 GMT
|
||||
Server:
|
||||
- Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_fcgid/2.3.7
|
||||
X-Powered-By:
|
||||
- PHP/5.4.37
|
||||
Cache-Control:
|
||||
- private, no-cache="set-cookie"
|
||||
Expires:
|
||||
- '0'
|
||||
Pragma:
|
||||
- no-cache
|
||||
Set-Cookie:
|
||||
- phpbb3_cobst_k=; expires=Thu, 21-Jul-2016 18:32:25 GMT; path=/; domain=factorioforums.com;
|
||||
HttpOnly
|
||||
- phpbb3_cobst_sid=83ebe7264f354102778c7d6569d0eb4e; expires=Thu, 21-Jul-2016
|
||||
18:32:25 GMT; path=/; domain=factorioforums.com; HttpOnly
|
||||
- phpbb3_cobst_u=1; expires=Thu, 21-Jul-2016 18:32:25 GMT; path=/; domain=factorioforums.com;
|
||||
HttpOnly
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
Content-Type:
|
||||
- text/html; charset=UTF-8
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html
|
||||
xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en-gb\" xml:lang=\"en-gb\">\n<head>\n<link
|
||||
href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext'
|
||||
rel='stylesheet' type='text/css'>\n<meta http-equiv=\"content-type\" content=\"text/html;
|
||||
charset=UTF-8\" />\n<meta http-equiv=\"content-style-type\" content=\"text/css\"
|
||||
/>\n<meta http-equiv=\"content-language\" content=\"en-gb\" />\n<meta http-equiv=\"imagetoolbar\"
|
||||
content=\"no\" />\n<meta name=\"resource-type\" content=\"document\" />\n<meta
|
||||
name=\"distribution\" content=\"global\" />\n<meta name=\"keywords\" content=\"\"
|
||||
/>\n<meta name=\"description\" content=\"\" />\n\n<title>Forums • View
|
||||
forum - General Mods (0.12)</title>\n\n<link rel=\"alternate\" type=\"application/atom+xml\"
|
||||
title=\"Feed - Forums\" href=\"http://www.factorioforums.com/forum/feed.php\"
|
||||
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - News\"
|
||||
href=\"http://www.factorioforums.com/forum/feed.php?mode=news\" /><link rel=\"alternate\"
|
||||
type=\"application/atom+xml\" title=\"Feed - New Topics\" href=\"http://www.factorioforums.com/forum/feed.php?mode=topics\"
|
||||
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - Forum
|
||||
- General Mods (0.12)\" href=\"http://www.factorioforums.com/forum/feed.php?f=91\"
|
||||
/>\n\n<!--\n\tphpBB style name: Factorio\n\tBased on style: prosilver (this
|
||||
is the default phpBB3 style)\n\tOriginal author: Tom Beddard ( http://www.subBlue.com/
|
||||
)\n\tModified by: Graphic Albert (http://www.Factorio.com)\n-->\n\n<script
|
||||
type=\"text/javascript\">\n// <![CDATA[\n\tvar jump_page = 'Enter the page
|
||||
number you wish to go to:';\n\tvar on_page = '1';\n\tvar per_page = '';\n\tvar
|
||||
base_url = '';\n\tvar style_cookie = 'phpBBstyle';\n\tvar style_cookie_settings
|
||||
= '; path=/; domain=factorioforums.com';\n\tvar onload_functions = new Array();\n\tvar
|
||||
onunload_functions = new Array();\n\n\t\n\n\t/**\n\t* Find a member\n\t*/\n\tfunction
|
||||
find_username(url)\n\t{\n\t\tpopup(url, 760, 570, '_usersearch');\n\t\treturn
|
||||
false;\n\t}\n\n\t/**\n\t* New function for handling multiple calls to window.onload
|
||||
and window.unload by pentapenguin\n\t*/\n\twindow.onload = function()\n\t{\n\t\tfor
|
||||
(var i = 0; i < onload_functions.length; i++)\n\t\t{\n\t\t\teval(onload_functions[i]);\n\t\t}\n\t};\n\n\twindow.onunload
|
||||
= function()\n\t{\n\t\tfor (var i = 0; i < onunload_functions.length; i++)\n\t\t{\n\t\t\teval(onunload_functions[i]);\n\t\t}\n\t};\n\n//
|
||||
]]>\n</script>\n<script type=\"text/javascript\" src=\"./styles/prosilver/template/styleswitcher.js\"></script>\n<script
|
||||
type=\"text/javascript\" src=\"./styles/prosilver/template/forum_fn.js\"></script>\n\n<link
|
||||
href=\"./styles/factorio/theme/print.css\" rel=\"stylesheet\" type=\"text/css\"
|
||||
media=\"print\" title=\"printonly\" />\n<link href=\"./style.php?id=4&lang=en&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" />\n\n<link
|
||||
href=\"./styles/factorio/theme/normal.css\" rel=\"stylesheet\" type=\"text/css\"
|
||||
title=\"A\" />\n<link href=\"./styles/factorio/theme/medium.css\" rel=\"alternate
|
||||
stylesheet\" type=\"text/css\" title=\"A+\" />\n<link href=\"./styles/factorio/theme/large.css\"
|
||||
rel=\"alternate stylesheet\" type=\"text/css\" title=\"A++\" />\n\n<script
|
||||
type=\"text/javascript\"><!--\n\tvar spoiler_show = \"[Reveal]\";\n\tvar spoiler_hide
|
||||
= \"[Obscure]\";\n//--></script>\n<script type=\"text/javascript\" src=\"./styles/factorio/template/prime_bbcode_spoiler.js\"></script>\n<link
|
||||
href=\"./styles/factorio/theme/prime_bbcode_spoiler.css\" rel=\"stylesheet\"
|
||||
type=\"text/css\" />\n</head>\n\n<body id=\"phpbb\" class=\"section-viewforum
|
||||
ltr\">\n<div id=\"wrap\">\n<a id=\"top\" name=\"top\" accesskey=\"t\"></a>\n\t<div
|
||||
id=\"page-header\">\n\t\t<div class=\"headerbar\">\n\t\t\t<div class=\"inner\"><span
|
||||
class=\"corners-top\"><span></span></span>\n\n\t\t\t<div id=\"site-description\">\n\t\t\t\t<a
|
||||
href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\" title=\"Board index\"
|
||||
id=\"logo\"><img src=\"./styles/factorio/imageset/factorio.png\" width=\"625\"
|
||||
height=\"110\" alt=\"\" title=\"\" /></a>\n\t\t\t\t<h1>Forums</h1>\n\t\t\t\t<p><a
|
||||
href=\"http://www.factorio.com\">www.factorio.com</a></p>\n\t\t\t\t<p class=\"skiplink\"><a
|
||||
href=\"#start_here\">Skip to content</a></p>\n\t\t\t</div>\n\n\t\t\n\t\t\t<div
|
||||
id=\"search-box\">\n\t\t\t\t<form action=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
method=\"get\" id=\"search\">\n\t\t\t\t<fieldset>\n\t\t\t\t\t<input name=\"keywords\"
|
||||
id=\"keywords\" type=\"text\" maxlength=\"128\" title=\"Search for keywords\"
|
||||
class=\"inputbox search\" value=\"Search…\" onclick=\"if(this.value=='Search…')this.value='';\"
|
||||
onblur=\"if(this.value=='')this.value='Search…';\" />\n\t\t\t\t\t<input class=\"button2\"
|
||||
value=\"Search\" type=\"submit\" /><br />\n\t\t\t\t\t<a href=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
title=\"View the advanced search options\">Advanced search</a> <input type=\"hidden\"
|
||||
name=\"sid\" value=\"a46c00652e981d14bf9dd33114cb89e5\" />\n\n\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t\t<div
|
||||
class=\"navbar\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\t<ul
|
||||
class=\"linklist navlinks\">\n\t\t\t\t<li class=\"icon-home\"><a href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
accesskey=\"h\">Board index</a> <strong>‹</strong> <a href=\"./viewforum.php?f=10&sid=a46c00652e981d14bf9dd33114cb89e5\">Contributions</a>
|
||||
<strong>‹</strong> <a href=\"./viewforum.php?f=14&sid=a46c00652e981d14bf9dd33114cb89e5\">Mods</a>
|
||||
<strong>‹</strong> <a href=\"./viewforum.php?f=83&sid=a46c00652e981d14bf9dd33114cb89e5\">Mods
|
||||
for 0.12</a> <strong>‹</strong> <a href=\"./viewforum.php?f=91&sid=a46c00652e981d14bf9dd33114cb89e5\">General
|
||||
Mods (0.12)</a></li>\n\n\t\t\t\t<li class=\"rightside\"><a href=\"#\" onclick=\"fontsizeup();
|
||||
return false;\" onkeypress=\"return fontsizeup(event);\" class=\"fontsize\"
|
||||
title=\"Change font size\">Change font size</a></li>\n\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t\n\n\t\t\t<ul
|
||||
class=\"linklist rightside\">\n\t\t\t\t<li class=\"icon-faq\"><a href=\"./faq.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
title=\"Frequently Asked Questions\">FAQ</a></li>\n\t\t\t\t<li class=\"icon-register\"><a
|
||||
href=\"./ucp.php?mode=register&sid=a46c00652e981d14bf9dd33114cb89e5\">Register</a></li>\n\t\t\t\t\t<li
|
||||
class=\"icon-logout\"><a href=\"./ucp.php?mode=login&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
title=\"Login\" accesskey=\"x\">Login</a></li>\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t</div>\n\n\t<a
|
||||
name=\"start_here\"></a>\n\t<div id=\"page-body\">\n\t\t\n<h2><a href=\"./viewforum.php?f=91&sid=a46c00652e981d14bf9dd33114cb89e5\">General
|
||||
Mods (0.12)</a></h2>\n\n\n<div>\n\t<!-- NOTE: remove the style=\"display:
|
||||
none\" when you want to have the forum description on the forum body --><div
|
||||
style=\"display: none !important;\">Mods, that cannot be sorted into other
|
||||
categories or new/incoming mods which doesn't fit into another category go
|
||||
here.<br />Please use the "report"-button, if you want to have it
|
||||
moved to another board.<br /></div>\n</div>\n\n\t<div class=\"rules\">\n\t\t<div
|
||||
class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\n\t\t\t<a
|
||||
href=\"http://www.factorioforums.com/forum/viewtopic.php?f=89&t=13493\">Forum
|
||||
rules</a>\n\t\t\n\n\t\t<span class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t\t<div
|
||||
class=\"forabg\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t\t<ul
|
||||
class=\"topiclist\">\n\t\t\t\t<li class=\"header\">\n\t\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t\t<dt>Forum</dt>\n\t\t\t\t\t\t<dd
|
||||
class=\"topics\">Topics</dd>\n\t\t\t\t\t\t<dd class=\"posts\">Posts</dd>\n\t\t\t\t\t\t<dd
|
||||
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t\t</dl>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<ul
|
||||
class=\"topiclist forums\">\n\t\n\t\t<li class=\"row\">\n\t\t\t<dl class=\"icon\"
|
||||
style=\"background-image: url(./styles/factorio/imageset/forum_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t<!--
|
||||
<a class=\"feed-icon-forum\" title=\"Feed - Bugs & Suggestions\" href=\"http://www.factorioforums.com/forum/feed.php?f=122\"><img
|
||||
src=\"./styles/factorio/theme/images/feed.gif\" alt=\"Feed - Bugs & Suggestions\"
|
||||
/></a> -->\n\t\t\t\t\t<a href=\"./viewforum.php?f=122&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"forumtitle\">Bugs & Suggestions</a><br />\n\t\t\t\t\tTo keep the
|
||||
simple mod-threads as clean as possible the mod-author is offered to create
|
||||
a second thread here and link the mod- and bug-threads together.\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t\t\t<dd
|
||||
class=\"topics\">1 <dfn>Topics</dfn></dd>\n\t\t\t\t\t<dd class=\"posts\">1
|
||||
<dfn>Posts</dfn></dd>\n\t\t\t\t\t<dd class=\"lastpost\"><span>\n\t\t\t\t\t\t<dfn>Last
|
||||
post</dfn> by <a href=\"./memberlist.php?mode=viewprofile&u=507&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a>\n\t\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=122&p=93123&sid=a46c00652e981d14bf9dd33114cb89e5#p93123\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Tue
|
||||
Jul 21, 2015 5:48 pm</span>\n\t\t\t\t\t</dd>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t<li
|
||||
class=\"row\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/forum_link.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t\n\t\t\t\t\t<a
|
||||
href=\"http://www.factorioforums.com/forum/viewforum.php?f=120\" class=\"forumtitle\">Unofficial
|
||||
Updated Mods / Unofficial Patches</a><br />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t\t</ul>\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\t\n\t<div
|
||||
class=\"topic-actions\" style=\"margin-top: 2em;\">\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
|
||||
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&f=91&sid=a46c00652e981d14bf9dd33114cb89e5\"><span></span>Post
|
||||
a new topic</a></div>\n\t\t</div>\n\t\n\t\t<div class=\"search-box\">\n\t\t\t<form
|
||||
method=\"get\" id=\"forum-search\" action=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\">\n\t\t\t<fieldset>\n\t\t\t\t<input
|
||||
class=\"inputbox search tiny\" type=\"text\" name=\"keywords\" id=\"search_keywords\"
|
||||
size=\"20\" value=\"Search this forum…\" onclick=\"if (this.value == 'Search
|
||||
this forum…') this.value = '';\" onblur=\"if (this.value == '') this.value
|
||||
= 'Search this forum…';\" />\n\t\t\t\t<input class=\"button2\" type=\"submit\"
|
||||
value=\"Search\" />\n\t\t\t\t<input type=\"hidden\" name=\"fid[0]\" value=\"91\"
|
||||
/>\n<input type=\"hidden\" name=\"sid\" value=\"a46c00652e981d14bf9dd33114cb89e5\"
|
||||
/>\n\n\t\t\t</fieldset>\n\t\t\t</form>\n\t\t</div>\n\t\n\t\t<div class=\"pagination\">\n\t\t\t13
|
||||
topics • Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\n\n\t</div>\n\n\t\t<div
|
||||
class=\"forumbg\">\n\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t<ul
|
||||
class=\"topiclist\">\n\t\t\t<li class=\"header\">\n\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t<dt>Topics</dt>\n\t\t\t\t\t<dd
|
||||
class=\"posts\">Replies</dd>\n\t\t\t\t\t<dd class=\"views\">Views</dd>\n\t\t\t\t\t<dd
|
||||
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t</dl>\n\t\t\t</li>\n\t\t</ul>\n\t\t<ul
|
||||
class=\"topiclist topics\">\n\t\n\n\t\t<li class=\"row bg1 sticky\">\n\t\t\t<dl
|
||||
class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/sticky_read_locked.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"This topic is locked,
|
||||
you cannot edit posts or make further replies.\"><a href=\"./viewtopic.php?f=91&t=13835&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Forum Example Template Mod Thread</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\tby <a href=\"./memberlist.php?mode=viewprofile&u=507&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a> » Tue
|
||||
Jul 21, 2015 5:45 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">0 <dfn>Replies</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"views\">120 <dfn>Views</dfn></dd>\n\t\t\t\t<dd class=\"lastpost\"><span><dfn>Last
|
||||
post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=507&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=13835&p=93122&sid=a46c00652e981d14bf9dd33114cb89e5#p93122\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Tue
|
||||
Jul 21, 2015 5:45 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=5891&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Larger Inventory</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&t=5891&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=5891&sid=a46c00652e981d14bf9dd33114cb89e5&start=10\">2</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=5891&sid=a46c00652e981d14bf9dd33114cb89e5&start=20\">3</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Sat Sep 20, 2014 12:04 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">20
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8463 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=5891&p=93490&sid=a46c00652e981d14bf9dd33114cb89e5#p93490\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 4:06 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=4973&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Landfill (2.1.5)</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&t=4973&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=91&t=4973&sid=a46c00652e981d14bf9dd33114cb89e5&start=60\">7</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4973&sid=a46c00652e981d14bf9dd33114cb89e5&start=70\">8</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4973&sid=a46c00652e981d14bf9dd33114cb89e5&start=80\">9</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Fri Jul 25, 2014 1:44 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">82
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">27460 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=1561&sid=a46c00652e981d14bf9dd33114cb89e5\">GotLag</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=4973&p=93424&sid=a46c00652e981d14bf9dd33114cb89e5#p93424\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 12:58 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=13562&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Natural Evolution v3.0.6 - All things Alien!</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<img src=\"./styles/factorio/imageset/icon_topic_attach.png\"
|
||||
width=\"16\" height=\"16\" alt=\"Attachment(s)\" title=\"Attachment(s)\" />
|
||||
by <a href=\"./memberlist.php?mode=viewprofile&u=919&sid=a46c00652e981d14bf9dd33114cb89e5\">TheSAguy</a>
|
||||
» Fri Jul 17, 2015 10:35 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">8
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1070 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2231&sid=a46c00652e981d14bf9dd33114cb89e5\">billw</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=13562&p=93399&sid=a46c00652e981d14bf9dd33114cb89e5#p93399\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 11:24 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=13567&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.11.x - 0.12.x] Marathon</a>\n\t\t\t\t\t<br />\n\t\t\t\t\tby
|
||||
<a href=\"./memberlist.php?mode=viewprofile&u=7073&sid=a46c00652e981d14bf9dd33114cb89e5\">Afforess</a>
|
||||
» Fri Jul 17, 2015 11:15 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">2
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">889 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=7073&sid=a46c00652e981d14bf9dd33114cb89e5\">Afforess</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=13567&p=93268&sid=a46c00652e981d14bf9dd33114cb89e5#p93268\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 12:38 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=13782&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[0.12.x] Harder Energy</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=1507&sid=a46c00652e981d14bf9dd33114cb89e5\">Molay</a>
|
||||
» Mon Jul 20, 2015 8:50 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">0
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">557 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=1507&sid=a46c00652e981d14bf9dd33114cb89e5\">Molay</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=13782&p=92790&sid=a46c00652e981d14bf9dd33114cb89e5#p92790\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
|
||||
Jul 20, 2015 8:50 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=5372&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Ore Expansion</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Fri Aug 15, 2014 4:13 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">4
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">5443 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=6027&sid=a46c00652e981d14bf9dd33114cb89e5\">jockeril</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=5372&p=92636&sid=a46c00652e981d14bf9dd33114cb89e5#p92636\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
|
||||
Jul 20, 2015 1:59 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=6065&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Loot-able Rocks</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Tue Oct 07, 2014 12:15 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">9
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">3290 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=1493&sid=a46c00652e981d14bf9dd33114cb89e5\">Talguy</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=6065&p=92199&sid=a46c00652e981d14bf9dd33114cb89e5#p92199\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
|
||||
Jul 19, 2015 10:15 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=4845&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Compression Chests: virtually unlimited
|
||||
storage</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong class=\"pagination\"><span><a
|
||||
href=\"./viewtopic.php?f=91&t=4845&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=91&t=4845&sid=a46c00652e981d14bf9dd33114cb89e5&start=30\">4</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4845&sid=a46c00652e981d14bf9dd33114cb89e5&start=40\">5</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4845&sid=a46c00652e981d14bf9dd33114cb89e5&start=50\">6</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Mon Jul 14, 2014 11:02 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">50
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">9987 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=8143&sid=a46c00652e981d14bf9dd33114cb89e5\">Enigmatica</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=4845&p=91872&sid=a46c00652e981d14bf9dd33114cb89e5#p91872\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sat
|
||||
Jul 18, 2015 1:44 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=13539&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[0.12.0] Hebrew RTL Fixer/Inverter</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<img src=\"./styles/factorio/imageset/icon_topic_attach.png\"
|
||||
width=\"16\" height=\"16\" alt=\"Attachment(s)\" title=\"Attachment(s)\" />
|
||||
by <a href=\"./memberlist.php?mode=viewprofile&u=8168&sid=a46c00652e981d14bf9dd33114cb89e5\">Dev-iL</a>
|
||||
» Fri Jul 17, 2015 7:20 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">4
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">634 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=8168&sid=a46c00652e981d14bf9dd33114cb89e5\">Dev-iL</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=13539&p=91732&sid=a46c00652e981d14bf9dd33114cb89e5#p91732\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sat
|
||||
Jul 18, 2015 7:19 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=7119&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Stainless Steel wagon - a larger cargo wagon</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&t=7119&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=7119&sid=a46c00652e981d14bf9dd33114cb89e5&start=10\">2</a></span></strong>by
|
||||
<a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Sat Dec 06, 2014 2:31 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">13
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">4304 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=7119&p=68768&sid=a46c00652e981d14bf9dd33114cb89e5#p68768\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Fri
|
||||
Feb 13, 2015 2:29 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=4757&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.X] Explosive Termites 1.1.6: extreme deforestation</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&t=4757&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4757&sid=a46c00652e981d14bf9dd33114cb89e5&start=10\">2</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=4757&sid=a46c00652e981d14bf9dd33114cb89e5&start=20\">3</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Wed Jul 09, 2014 3:29 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">23
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8032 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=4757&p=62391&sid=a46c00652e981d14bf9dd33114cb89e5#p62391\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Thu
|
||||
Jan 08, 2015 8:37 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=91&t=5412&sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
class=\"topictitle\">[MOD 0.12.x] Fluid Void</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&t=5412&sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&t=5412&sid=a46c00652e981d14bf9dd33114cb89e5&start=10\">2</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2533&sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
|
||||
» Sun Aug 17, 2014 5:00 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">16
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8377 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2688&sid=a46c00652e981d14bf9dd33114cb89e5\">Kikkers</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=91&t=5412&p=59137&sid=a46c00652e981d14bf9dd33114cb89e5#p59137\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
|
||||
Dec 21, 2014 1:18 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\t\t\t</ul>\n\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\t\n\t<form
|
||||
method=\"post\" action=\"./viewforum.php?f=91&sid=a46c00652e981d14bf9dd33114cb89e5\">\n\t\t<fieldset
|
||||
class=\"display-options\">\n\t\t\t\n\t\t\t<label>Display topics from previous:
|
||||
<select name=\"st\" id=\"st\"><option value=\"0\" selected=\"selected\">All
|
||||
Topics</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=\"365\">1 year</option></select></label>\n\t\t\t<label>Sort by <select
|
||||
name=\"sk\" id=\"sk\"><option value=\"a\">Author</option><option value=\"t\"
|
||||
selected=\"selected\">Post time</option><option value=\"r\">Replies</option><option
|
||||
value=\"s\">Subject</option><option value=\"v\">Views</option></select></label>\n\t\t\t<label><select
|
||||
name=\"sd\" id=\"sd\"><option value=\"a\">Ascending</option><option value=\"d\"
|
||||
selected=\"selected\">Descending</option></select> <input type=\"submit\"
|
||||
name=\"sort\" value=\"Go\" class=\"button2\" /></label>\n\t\n\t\t</fieldset>\n\t</form>\n\t<hr
|
||||
/>\n\n\t<div class=\"topic-actions\">\n\t\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
|
||||
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&f=91&sid=a46c00652e981d14bf9dd33114cb89e5\"><span></span>Post
|
||||
a new topic</a></div>\n\t\t</div>\n\t\t\n\t\t<div class=\"pagination\">\n\t\t\t
|
||||
13 topics • Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\t\n\t</div>\n\n\t<p></p><p><a
|
||||
href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\" class=\"left-box
|
||||
left\" accesskey=\"r\">Return to Board index</a></p>\n\n\t<form method=\"post\"
|
||||
id=\"jumpbox\" action=\"./viewforum.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
onsubmit=\"if(this.f.value == -1){return false;}\">\n\n\t\n\t\t<fieldset class=\"jumpbox\">\n\t\n\t\t\t<label
|
||||
for=\"f\" accesskey=\"j\">Jump to:</label>\n\t\t\t<select name=\"f\" id=\"f\"
|
||||
onchange=\"if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit()
|
||||
}\">\n\t\t\t\n\t\t\t\t<option value=\"-1\">Select a forum</option>\n\t\t\t<option
|
||||
value=\"-1\">------------------</option>\n\t\t\t\t<option value=\"21\">General</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"3\"> Releases</option>\n\t\t\t\n\t\t\t\t<option value=\"38\">
|
||||
News</option>\n\t\t\t\n\t\t\t\t<option value=\"5\"> General
|
||||
discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"53\"> Multiplayer</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"8\"> Show your Creations</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"54\"> Videos</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"19\"> Spread the Word</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"27\"> Off topic</option>\n\t\t\t\n\t\t\t\t<option value=\"55\">
|
||||
This Forum</option>\n\t\t\t\n\t\t\t\t<option value=\"57\">
|
||||
Trash area</option>\n\t\t\t\n\t\t\t\t<option value=\"17\">Support</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"18\"> Gameplay Help</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"49\"> Technical Help</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"7\"> Bug Reports</option>\n\t\t\t\n\t\t\t\t<option value=\"11\">
|
||||
Resolved Problems and Bugs</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"30\"> Resolved for the next release</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"23\"> Not a bug</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"29\"> Pending</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"35\"> 1 / 0 magic</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"41\"> Known issues</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"47\"> Duplicates</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"48\"> Minor issues</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"58\"> Won't fix.</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"20\">Factorio Direction</option>\n\t\t\t\n\t\t\t\t<option value=\"9\">
|
||||
Development Proposals</option>\n\t\t\t\n\t\t\t\t<option value=\"6\">
|
||||
Ideas and Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"80\">
|
||||
Concepts</option>\n\t\t\t\n\t\t\t\t<option value=\"76\">
|
||||
Backlog (old, but good stuff)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"67\"> Forum-Ready Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"68\"> Ready for implementation</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"66\"> Implemented Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"71\"> Outdated/Not implemented</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"16\"> Balancing</option>\n\t\t\t\n\t\t\t\t<option value=\"10\">Contributions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"14\"> Mods</option>\n\t\t\t\n\t\t\t\t<option value=\"88\">
|
||||
Spotlights and Rating</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"89\"> Mod Rules & Discuss this Board</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"83\"> Mods for 0.12</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"98\"> Rules</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"97\"> Work-In-Progress / Pre-Alpha
|
||||
Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"91\" selected=\"selected\">
|
||||
General Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"122\"> Bugs &
|
||||
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"121\">
|
||||
Unofficial Updated Mods / Unofficial Patches</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"92\"> Helper mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"123\"> Bugs &
|
||||
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"61\">
|
||||
Rail Layer</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"116\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"93\"> New Items, Entities, Extensions
|
||||
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"124\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"94\"> Gameplay / Convenience
|
||||
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"125\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"44\"> Treefarm</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"103\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"79\"> Resource
|
||||
Spawner Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"108\">
|
||||
Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"64\"> Atomic Power</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"115\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"95\"> Mod Compilations / Complete
|
||||
Overhauls (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"126\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"43\"> DyTech</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"99\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"51\"> Bob's mods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"105\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"81\"> 5dim's mod</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"110\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"70\"> Yuoki Industries</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"112\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"96\"> Mod Packs / Libs / Special
|
||||
Interest (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"127\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"60\"> ShadowMegaModpack</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"118\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"120\"> Unofficial Updated Mods
|
||||
/ Unofficial Patches (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"128\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"84\"> Mods for 0.11 and below</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"90\"> Rules</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"32\"> Work In Progress Mods
|
||||
(<=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"87\">
|
||||
Mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"86\">
|
||||
Helper mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"117\"> F.A.R.L.
|
||||
/ Rail Layer (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"46\">
|
||||
Test mode</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"42\"> Big mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"102\"> DyTech (Link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"104\"> Treefarm
|
||||
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"106\">
|
||||
Bob's mods (link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"107\"> Resource
|
||||
Spawner Overhaul (link)</option>\n\t\t\t\n\t\t\t\t<option value=\"109\">
|
||||
5dim's mod (link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"111\"> Uranium
|
||||
Power (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"113\">
|
||||
Yuoki Industries (Link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"45\"> F mod</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"59\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"62\"> Cartmen's
|
||||
Complete Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"114\">
|
||||
Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"63\"> MoMods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"77\"> Hardc☸rio</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"78\"> Cursed Exp</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"85\"> Modpacks (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"119\"> ShadowsMegaModpack
|
||||
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"40\">
|
||||
Obsolete mods</option>\n\t\t\t\n\t\t\t\t<option value=\"82\">
|
||||
Modding Discussions</option>\n\t\t\t\n\t\t\t\t<option value=\"34\">
|
||||
Modding discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"25\">
|
||||
Modding help</option>\n\t\t\t\n\t\t\t\t<option value=\"33\">
|
||||
Ideas and Requests For Mods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"28\"> Modding interface requests</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"65\"> Implemented mod requests</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"36\"> Maps and Scenarios</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"12\"> Translations</option>\n\t\t\t\n\t\t\t\t<option value=\"15\">
|
||||
Texture Packs</option>\n\t\t\t\n\t\t\t\t<option value=\"69\">
|
||||
Tools</option>\n\t\t\t\n\t\t\t\t<option value=\"50\"> Wiki
|
||||
Talk</option>\n\t\t\t\n\t\t\t</select>\n\t\t\t<input type=\"submit\" value=\"Go\"
|
||||
class=\"button2\" />\n\t\t</fieldset>\n\t</form>\n\n\n\t<h3>Who is online</h3>\n\t<p>Users
|
||||
browsing this forum: No registered users and 3 guests</p>\n\n\t<h3>Forum permissions</h3>\n\t<p>You
|
||||
<strong>cannot</strong> post new topics in this forum<br />You <strong>cannot</strong>
|
||||
reply to topics in this forum<br />You <strong>cannot</strong> edit your posts
|
||||
in this forum<br />You <strong>cannot</strong> delete your posts in this forum<br
|
||||
/>You <strong>cannot</strong> post attachments in this forum<br /></p>\n</div>\n\n<div
|
||||
id=\"page-footer\">\n\n\t<div class=\"navbar\">\n\t\t<div class=\"inner\"><span
|
||||
class=\"corners-top\"><span></span></span>\n\n\t\t<ul class=\"linklist\">\n\t\t\t<li
|
||||
class=\"icon-home\"><a href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
|
||||
accesskey=\"h\">Board index</a></li>\n\t\t\t\t\n\t\t\t<li class=\"rightside\"><a
|
||||
href=\"./memberlist.php?mode=leaders&sid=a46c00652e981d14bf9dd33114cb89e5\">The
|
||||
team</a> • <a href=\"./ucp.php?mode=delete_cookies&sid=a46c00652e981d14bf9dd33114cb89e5\">Delete
|
||||
all board cookies</a> • All times are UTC </li>\n\t\t</ul>\n\n\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t<div class=\"copyright\">Powered
|
||||
by <a href=\"http://www.phpbb.com/\">phpBB</a>® Forum Software ©
|
||||
phpBB Group\n\t\t\n\t</div>\n</div>\n\n</div>\n\n<div>\n\t<a id=\"bottom\"
|
||||
name=\"bottom\" accesskey=\"z\"></a>\n\t\n</div>\n\n</body>\n</html>"
|
||||
http_version:
|
||||
recorded_at: Wed, 22 Jul 2015 18:32:25 GMT
|
||||
recorded_with: VCR 2.9.3
|
|
@ -0,0 +1,118 @@
|
|||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: get
|
||||
uri: http://www.purple.com/
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
User-Agent:
|
||||
- Typhoeus - https://github.com/typhoeus/typhoeus
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
headers:
|
||||
Date:
|
||||
- Thu, 23 Jul 2015 01:53:44 GMT
|
||||
Server:
|
||||
- Chaos
|
||||
Last-Modified:
|
||||
- Wed, 22 Jul 2015 05:01:01 GMT
|
||||
Etag:
|
||||
- '"4c1-51b6fa83ac483"'
|
||||
Accept-Ranges:
|
||||
- bytes
|
||||
Content-Length:
|
||||
- '1217'
|
||||
Content-Type:
|
||||
- text/html
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: |
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
||||
<style type="text/css">
|
||||
body { background-color: #7D26CD; }
|
||||
a{ color:#AAAA00; text-decoration: none; padding: 4px; }
|
||||
a:link { color:#AAAA00; }
|
||||
a:visited { color:#999900; }
|
||||
a:hover { color:#660000; background: #9D46DD; }
|
||||
a:active { color:#666600; }
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="index.css">
|
||||
<META HTTP-EQUIV="Refresh" CONTENT="3; URL=purple.html">
|
||||
<TITLE>www.purple.com</TITLE>
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-27318022-1']);
|
||||
_gaq.push(['_setDomainName', 'purple.com']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
</HEAD>
|
||||
|
||||
<ul>
|
||||
<li> <a href="faq.html">FAQ</a></li>
|
||||
<li> </li>
|
||||
<li> <a href="advertise.html">Your ad here</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
http_version:
|
||||
recorded_at: Thu, 23 Jul 2015 01:53:44 GMT
|
||||
- request:
|
||||
method: get
|
||||
uri: http://www.zombo.com/
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
User-Agent:
|
||||
- Typhoeus - https://github.com/typhoeus/typhoeus
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
headers:
|
||||
Date:
|
||||
- Thu, 23 Jul 2015 02:21:55 GMT
|
||||
Server:
|
||||
- Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7a mod_auth_passthrough/2.1
|
||||
mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.14
|
||||
Last-Modified:
|
||||
- Tue, 23 Apr 2002 05:19:28 GMT
|
||||
Etag:
|
||||
- '"b2013c-2f6-f5f17800"'
|
||||
Accept-Ranges:
|
||||
- bytes
|
||||
Content-Length:
|
||||
- '758'
|
||||
Content-Type:
|
||||
- text/html
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: "<html>\n<head>\n<title>ZOMBO</title>\n<meta http-equiv=\"Content-Type\"
|
||||
content=\"text/html; charset=iso-8859-1\">\n<!--Please Visit 15footstick.com
|
||||
our other website. ThankZ -->\n</head>\n\n<body bgcolor=\"#FFFFFF\">\n<object
|
||||
classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\n codebase=\"http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0\"\n\n
|
||||
id=inrozxa width=100% height=100%>\n <param name=movie value=\"welcomenew6.swf\">\n
|
||||
\ <param name=quality value=high>\n <param name=bgcolor value=#FFFFFF>\n
|
||||
\ <embed src=\"inrozxa.swf\" quality=high bgcolor=#FFFFFF width=100% height=100%
|
||||
type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">\n
|
||||
\ </embed> \n</object> \n</body>\n</html>\n"
|
||||
http_version:
|
||||
recorded_at: Thu, 23 Jul 2015 02:21:55 GMT
|
||||
recorded_with: VCR 2.9.3
|
|
@ -0,0 +1,489 @@
|
|||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: get
|
||||
uri: http://www.factorioforums.com/forum/viewforum.php?f=86
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
User-Agent:
|
||||
- Typhoeus - https://github.com/typhoeus/typhoeus
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message: OK
|
||||
headers:
|
||||
Date:
|
||||
- Wed, 22 Jul 2015 21:57:36 GMT
|
||||
Server:
|
||||
- Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_fcgid/2.3.7
|
||||
X-Powered-By:
|
||||
- PHP/5.4.37
|
||||
Cache-Control:
|
||||
- private, no-cache="set-cookie"
|
||||
Expires:
|
||||
- '0'
|
||||
Pragma:
|
||||
- no-cache
|
||||
Set-Cookie:
|
||||
- phpbb3_cobst_k=; expires=Thu, 21-Jul-2016 21:57:36 GMT; path=/; domain=factorioforums.com;
|
||||
HttpOnly
|
||||
- phpbb3_cobst_sid=ed0decb8d90ce42d0ad0bff8846d9d60; expires=Thu, 21-Jul-2016
|
||||
21:57:36 GMT; path=/; domain=factorioforums.com; HttpOnly
|
||||
- phpbb3_cobst_u=1; expires=Thu, 21-Jul-2016 21:57:36 GMT; path=/; domain=factorioforums.com;
|
||||
HttpOnly
|
||||
Transfer-Encoding:
|
||||
- chunked
|
||||
Content-Type:
|
||||
- text/html; charset=UTF-8
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html
|
||||
xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en-gb\" xml:lang=\"en-gb\">\n<head>\n<link
|
||||
href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext'
|
||||
rel='stylesheet' type='text/css'>\n<meta http-equiv=\"content-type\" content=\"text/html;
|
||||
charset=UTF-8\" />\n<meta http-equiv=\"content-style-type\" content=\"text/css\"
|
||||
/>\n<meta http-equiv=\"content-language\" content=\"en-gb\" />\n<meta http-equiv=\"imagetoolbar\"
|
||||
content=\"no\" />\n<meta name=\"resource-type\" content=\"document\" />\n<meta
|
||||
name=\"distribution\" content=\"global\" />\n<meta name=\"keywords\" content=\"\"
|
||||
/>\n<meta name=\"description\" content=\"\" />\n\n<title>Forums • View
|
||||
forum - Helper mods (<=0.11)</title>\n\n<link rel=\"alternate\" type=\"application/atom+xml\"
|
||||
title=\"Feed - Forums\" href=\"http://www.factorioforums.com/forum/feed.php\"
|
||||
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - News\"
|
||||
href=\"http://www.factorioforums.com/forum/feed.php?mode=news\" /><link rel=\"alternate\"
|
||||
type=\"application/atom+xml\" title=\"Feed - New Topics\" href=\"http://www.factorioforums.com/forum/feed.php?mode=topics\"
|
||||
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - Forum
|
||||
- Helper mods (<=0.11)\" href=\"http://www.factorioforums.com/forum/feed.php?f=86\"
|
||||
/>\n\n<!--\n\tphpBB style name: Factorio\n\tBased on style: prosilver (this
|
||||
is the default phpBB3 style)\n\tOriginal author: Tom Beddard ( http://www.subBlue.com/
|
||||
)\n\tModified by: Graphic Albert (http://www.Factorio.com)\n-->\n\n<script
|
||||
type=\"text/javascript\">\n// <![CDATA[\n\tvar jump_page = 'Enter the page
|
||||
number you wish to go to:';\n\tvar on_page = '1';\n\tvar per_page = '';\n\tvar
|
||||
base_url = '';\n\tvar style_cookie = 'phpBBstyle';\n\tvar style_cookie_settings
|
||||
= '; path=/; domain=factorioforums.com';\n\tvar onload_functions = new Array();\n\tvar
|
||||
onunload_functions = new Array();\n\n\t\n\n\t/**\n\t* Find a member\n\t*/\n\tfunction
|
||||
find_username(url)\n\t{\n\t\tpopup(url, 760, 570, '_usersearch');\n\t\treturn
|
||||
false;\n\t}\n\n\t/**\n\t* New function for handling multiple calls to window.onload
|
||||
and window.unload by pentapenguin\n\t*/\n\twindow.onload = function()\n\t{\n\t\tfor
|
||||
(var i = 0; i < onload_functions.length; i++)\n\t\t{\n\t\t\teval(onload_functions[i]);\n\t\t}\n\t};\n\n\twindow.onunload
|
||||
= function()\n\t{\n\t\tfor (var i = 0; i < onunload_functions.length; i++)\n\t\t{\n\t\t\teval(onunload_functions[i]);\n\t\t}\n\t};\n\n//
|
||||
]]>\n</script>\n<script type=\"text/javascript\" src=\"./styles/prosilver/template/styleswitcher.js\"></script>\n<script
|
||||
type=\"text/javascript\" src=\"./styles/prosilver/template/forum_fn.js\"></script>\n\n<link
|
||||
href=\"./styles/factorio/theme/print.css\" rel=\"stylesheet\" type=\"text/css\"
|
||||
media=\"print\" title=\"printonly\" />\n<link href=\"./style.php?id=4&lang=en&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" />\n\n<link
|
||||
href=\"./styles/factorio/theme/normal.css\" rel=\"stylesheet\" type=\"text/css\"
|
||||
title=\"A\" />\n<link href=\"./styles/factorio/theme/medium.css\" rel=\"alternate
|
||||
stylesheet\" type=\"text/css\" title=\"A+\" />\n<link href=\"./styles/factorio/theme/large.css\"
|
||||
rel=\"alternate stylesheet\" type=\"text/css\" title=\"A++\" />\n\n<script
|
||||
type=\"text/javascript\"><!--\n\tvar spoiler_show = \"[Reveal]\";\n\tvar spoiler_hide
|
||||
= \"[Obscure]\";\n//--></script>\n<script type=\"text/javascript\" src=\"./styles/factorio/template/prime_bbcode_spoiler.js\"></script>\n<link
|
||||
href=\"./styles/factorio/theme/prime_bbcode_spoiler.css\" rel=\"stylesheet\"
|
||||
type=\"text/css\" />\n</head>\n\n<body id=\"phpbb\" class=\"section-viewforum
|
||||
ltr\">\n<div id=\"wrap\">\n<a id=\"top\" name=\"top\" accesskey=\"t\"></a>\n\t<div
|
||||
id=\"page-header\">\n\t\t<div class=\"headerbar\">\n\t\t\t<div class=\"inner\"><span
|
||||
class=\"corners-top\"><span></span></span>\n\n\t\t\t<div id=\"site-description\">\n\t\t\t\t<a
|
||||
href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\" title=\"Board index\"
|
||||
id=\"logo\"><img src=\"./styles/factorio/imageset/factorio.png\" width=\"625\"
|
||||
height=\"110\" alt=\"\" title=\"\" /></a>\n\t\t\t\t<h1>Forums</h1>\n\t\t\t\t<p><a
|
||||
href=\"http://www.factorio.com\">www.factorio.com</a></p>\n\t\t\t\t<p class=\"skiplink\"><a
|
||||
href=\"#start_here\">Skip to content</a></p>\n\t\t\t</div>\n\n\t\t\n\t\t\t<div
|
||||
id=\"search-box\">\n\t\t\t\t<form action=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
method=\"get\" id=\"search\">\n\t\t\t\t<fieldset>\n\t\t\t\t\t<input name=\"keywords\"
|
||||
id=\"keywords\" type=\"text\" maxlength=\"128\" title=\"Search for keywords\"
|
||||
class=\"inputbox search\" value=\"Search…\" onclick=\"if(this.value=='Search…')this.value='';\"
|
||||
onblur=\"if(this.value=='')this.value='Search…';\" />\n\t\t\t\t\t<input class=\"button2\"
|
||||
value=\"Search\" type=\"submit\" /><br />\n\t\t\t\t\t<a href=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
title=\"View the advanced search options\">Advanced search</a> <input type=\"hidden\"
|
||||
name=\"sid\" value=\"ed0decb8d90ce42d0ad0bff8846d9d60\" />\n\n\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t\t<div
|
||||
class=\"navbar\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\t<ul
|
||||
class=\"linklist navlinks\">\n\t\t\t\t<li class=\"icon-home\"><a href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
accesskey=\"h\">Board index</a> <strong>‹</strong> <a href=\"./viewforum.php?f=10&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Contributions</a>
|
||||
<strong>‹</strong> <a href=\"./viewforum.php?f=14&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Mods</a>
|
||||
<strong>‹</strong> <a href=\"./viewforum.php?f=84&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Mods
|
||||
for 0.11 and below</a> <strong>‹</strong> <a href=\"./viewforum.php?f=86&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Helper
|
||||
mods (<=0.11)</a></li>\n\n\t\t\t\t<li class=\"rightside\"><a href=\"#\"
|
||||
onclick=\"fontsizeup(); return false;\" onkeypress=\"return fontsizeup(event);\"
|
||||
class=\"fontsize\" title=\"Change font size\">Change font size</a></li>\n\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t\n\n\t\t\t<ul
|
||||
class=\"linklist rightside\">\n\t\t\t\t<li class=\"icon-faq\"><a href=\"./faq.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
title=\"Frequently Asked Questions\">FAQ</a></li>\n\t\t\t\t<li class=\"icon-register\"><a
|
||||
href=\"./ucp.php?mode=register&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Register</a></li>\n\t\t\t\t\t<li
|
||||
class=\"icon-logout\"><a href=\"./ucp.php?mode=login&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
title=\"Login\" accesskey=\"x\">Login</a></li>\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t</div>\n\n\t<a
|
||||
name=\"start_here\"></a>\n\t<div id=\"page-body\">\n\t\t\n<h2><a href=\"./viewforum.php?f=86&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Helper
|
||||
mods (<=0.11)</a></h2>\n\n\n<div>\n\t<!-- NOTE: remove the style=\"display:
|
||||
none\" when you want to have the forum description on the forum body --><div
|
||||
style=\"display: none !important;\">These mods are not game-changing, but
|
||||
enhance the gameplay by helping you with useful functions.<br />From showing
|
||||
the current game-time, over keep track over your resources to rail-laying.<br
|
||||
/>You can create here new threads on your own.<br /></div>\n</div>\n\n\t\t<div
|
||||
class=\"forabg\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t\t<ul
|
||||
class=\"topiclist\">\n\t\t\t\t<li class=\"header\">\n\t\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t\t<dt>Forum</dt>\n\t\t\t\t\t\t<dd
|
||||
class=\"topics\">Topics</dd>\n\t\t\t\t\t\t<dd class=\"posts\">Posts</dd>\n\t\t\t\t\t\t<dd
|
||||
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t\t</dl>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<ul
|
||||
class=\"topiclist forums\">\n\t\n\t\t<li class=\"row\">\n\t\t\t<dl class=\"icon\"
|
||||
style=\"background-image: url(./styles/factorio/imageset/forum_link.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t\n\t\t\t\t\t<a
|
||||
href=\"http://www.factorioforums.com/forum/viewforum.php?f=61\" class=\"forumtitle\">F.A.R.L.
|
||||
/ Rail Layer (Link)</a><br />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t<li
|
||||
class=\"row\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/forum_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t<!--
|
||||
<a class=\"feed-icon-forum\" title=\"Feed - Test mode\" href=\"http://www.factorioforums.com/forum/feed.php?f=46\"><img
|
||||
src=\"./styles/factorio/theme/images/feed.gif\" alt=\"Feed - Test mode\" /></a>
|
||||
-->\n\t\t\t\t\t<a href=\"./viewforum.php?f=46&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"forumtitle\">Test mode</a><br />\n\t\t\t\t\tKind of like creative
|
||||
mode. Very useful for testing and ... ehrm... cheating.\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t\t\t<dd
|
||||
class=\"topics\">5 <dfn>Topics</dfn></dd>\n\t\t\t\t\t<dd class=\"posts\">220
|
||||
<dfn>Posts</dfn></dd>\n\t\t\t\t\t<dd class=\"lastpost\"><span>\n\t\t\t\t\t\t<dfn>Last
|
||||
post</dfn> by <a href=\"./memberlist.php?mode=viewprofile&u=96&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">rk84</a>\n\t\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=46&p=93601&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93601\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 9:22 pm</span>\n\t\t\t\t\t</dd>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t\t</ul>\n\n\t\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\t\n\t<div
|
||||
class=\"topic-actions\" style=\"margin-top: 2em;\">\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
|
||||
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&f=86&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"><span></span>Post
|
||||
a new topic</a></div>\n\t\t</div>\n\t\n\t\t<div class=\"search-box\">\n\t\t\t<form
|
||||
method=\"get\" id=\"forum-search\" action=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\">\n\t\t\t<fieldset>\n\t\t\t\t<input
|
||||
class=\"inputbox search tiny\" type=\"text\" name=\"keywords\" id=\"search_keywords\"
|
||||
size=\"20\" value=\"Search this forum…\" onclick=\"if (this.value == 'Search
|
||||
this forum…') this.value = '';\" onblur=\"if (this.value == '') this.value
|
||||
= 'Search this forum…';\" />\n\t\t\t\t<input class=\"button2\" type=\"submit\"
|
||||
value=\"Search\" />\n\t\t\t\t<input type=\"hidden\" name=\"fid[0]\" value=\"86\"
|
||||
/>\n<input type=\"hidden\" name=\"sid\" value=\"ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
/>\n\n\t\t\t</fieldset>\n\t\t\t</form>\n\t\t</div>\n\t\n\t\t<div class=\"pagination\">\n\t\t\t10
|
||||
topics • Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\n\n\t</div>\n\n\t\t<div
|
||||
class=\"forumbg\">\n\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t<ul
|
||||
class=\"topiclist\">\n\t\t\t<li class=\"header\">\n\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t<dt>Topics</dt>\n\t\t\t\t\t<dd
|
||||
class=\"posts\">Replies</dd>\n\t\t\t\t\t<dd class=\"views\">Views</dd>\n\t\t\t\t\t<dd
|
||||
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t</dl>\n\t\t\t</li>\n\t\t</ul>\n\t\t<ul
|
||||
class=\"topiclist topics\">\n\t\n\n\t\t<li class=\"row bg1\">\n\t\t\t<dl class=\"icon\"
|
||||
style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=6516&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[Mod 0.11.x] Foreman - Blueprint Manager</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=6516&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&t=6516&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=40\">5</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=6516&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=50\">6</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=6516&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=60\">7</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2149&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">JamesOFarrell</a>
|
||||
» Thu Nov 06, 2014 1:17 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">63
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">9984 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=6092&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Swich</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=6516&p=93450&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93450\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 2:08 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=2855&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[MOD 0.11.x] Resource-Monitor-Mod v0.5.2</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=2855&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&t=2855&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=70\">8</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=2855&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=80\">9</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=2855&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=90\">10</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=377&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">drs9999</a>
|
||||
» Tue Mar 18, 2014 6:17 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">96
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">22857 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=1310&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">jorgenRe</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=2855&p=92679&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p92679\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
|
||||
Jul 20, 2015 3:42 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=8336&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[0.11.x]Item Count 0.0.1</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2283&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">ThaPear</a>
|
||||
» Thu Jan 29, 2015 2:57 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">9
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">2008 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=7884&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">oLaudix</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=8336&p=92316&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p92316\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
|
||||
Jul 19, 2015 3:59 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_moved.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"Moved topic\"><a href=\"./viewtopic.php?f=92&t=4504&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[MOD 0.12.x] The Fat Controller. Remote train management</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=92&t=4504&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=92&t=4504&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=90\">10</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=92&t=4504&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=100\">11</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=92&t=4504&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=110\">12</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2149&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">JamesOFarrell</a>
|
||||
» Mon Jun 23, 2014 11:01 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">117
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">18754 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=3391&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">cpw</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=92&t=4504&p=93299&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93299\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 22, 2015 3:18 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=13338&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[0.11.22] Command Control - Remote viewing and management</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=13338&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=13338&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=10\">2</a></span></strong>by
|
||||
<a href=\"./memberlist.php?mode=viewprofile&u=8147&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">ljdp</a>
|
||||
» Sat Jul 04, 2015 10:04 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">12
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">903 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=948&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Pandamonium</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=13338&p=90987&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90987\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 15, 2015 2:22 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=12905&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[0.11.x] Time Lapse Mod</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=12905&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=12905&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=10\">2</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=12905&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=20\">3</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=5907&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">MrP123</a>
|
||||
» Fri Jun 12, 2015 7:34 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">29
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">2336 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=5907&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">MrP123</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=12905&p=90438&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90438\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Fri
|
||||
Jul 10, 2015 12:45 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=5812&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[0.11.x] Factorio Maps</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=5812&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&t=5812&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=40\">5</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=5812&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=50\">6</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=5812&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=60\">7</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=976&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">jeroon</a>
|
||||
» Mon Sep 15, 2014 3:13 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">69
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">12103 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=7488&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">A_Factorio457</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=5812&p=90320&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90320\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Thu
|
||||
Jul 09, 2015 10:03 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=6742&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[MOD 0.11.14+] Blueprint String</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
|
||||
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=6742&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=6742&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=10\">2</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=6742&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=20\">3</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=6742&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=30\">4</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=1868&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">DaveMcW</a>
|
||||
» Mon Nov 17, 2014 7:14 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">32
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8013 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=3910&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Smarty</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=6742&p=90254&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90254\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 08, 2015 8:24 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=3757&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[MOD 0.9.x] Colorblind Roboport Radius Overlay</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=3757&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=3757&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=10\">2</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=2089&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Braddock</a>
|
||||
» Wed May 21, 2014 12:35 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">12
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1571 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=3910&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Smarty</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=3757&p=90251&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90251\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 08, 2015 8:22 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
|
||||
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
|
||||
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
|
||||
href=\"./viewtopic.php?f=86&t=13147&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
class=\"topictitle\">[0.11.22] Recipe Clipboard [WIP/First]</a>\n\t\t\t\t\t<br
|
||||
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&t=13147&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
|
||||
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&t=13147&sid=ed0decb8d90ce42d0ad0bff8846d9d60&start=10\">2</a></span></strong><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
|
||||
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&u=3751&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">leflings</a>
|
||||
» Mon Jun 22, 2015 1:49 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">11
|
||||
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1011 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
|
||||
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&u=2284&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
style=\"color: #00AA00;\" class=\"username-coloured\">Koub</a>\n\t\t\t\t\t<a
|
||||
href=\"./viewtopic.php?f=86&t=13147&p=90245&sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90245\"><img
|
||||
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
|
||||
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
|
||||
Jul 08, 2015 8:04 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\t\t\t</ul>\n\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\t\n\t<form
|
||||
method=\"post\" action=\"./viewforum.php?f=86&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">\n\t\t<fieldset
|
||||
class=\"display-options\">\n\t\t\t\n\t\t\t<label>Display topics from previous:
|
||||
<select name=\"st\" id=\"st\"><option value=\"0\" selected=\"selected\">All
|
||||
Topics</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=\"365\">1 year</option></select></label>\n\t\t\t<label>Sort by <select
|
||||
name=\"sk\" id=\"sk\"><option value=\"a\">Author</option><option value=\"t\"
|
||||
selected=\"selected\">Post time</option><option value=\"r\">Replies</option><option
|
||||
value=\"s\">Subject</option><option value=\"v\">Views</option></select></label>\n\t\t\t<label><select
|
||||
name=\"sd\" id=\"sd\"><option value=\"a\">Ascending</option><option value=\"d\"
|
||||
selected=\"selected\">Descending</option></select> <input type=\"submit\"
|
||||
name=\"sort\" value=\"Go\" class=\"button2\" /></label>\n\t\n\t\t</fieldset>\n\t</form>\n\t<hr
|
||||
/>\n\n\t<div class=\"topic-actions\">\n\t\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
|
||||
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&f=86&sid=ed0decb8d90ce42d0ad0bff8846d9d60\"><span></span>Post
|
||||
a new topic</a></div>\n\t\t</div>\n\t\t\n\t\t<div class=\"pagination\">\n\t\t\t
|
||||
10 topics • Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\t\n\t</div>\n\n\t<p></p><p><a
|
||||
href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\" class=\"left-box
|
||||
left\" accesskey=\"r\">Return to Board index</a></p>\n\n\t<form method=\"post\"
|
||||
id=\"jumpbox\" action=\"./viewforum.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
onsubmit=\"if(this.f.value == -1){return false;}\">\n\n\t\n\t\t<fieldset class=\"jumpbox\">\n\t\n\t\t\t<label
|
||||
for=\"f\" accesskey=\"j\">Jump to:</label>\n\t\t\t<select name=\"f\" id=\"f\"
|
||||
onchange=\"if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit()
|
||||
}\">\n\t\t\t\n\t\t\t\t<option value=\"-1\">Select a forum</option>\n\t\t\t<option
|
||||
value=\"-1\">------------------</option>\n\t\t\t\t<option value=\"21\">General</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"3\"> Releases</option>\n\t\t\t\n\t\t\t\t<option value=\"38\">
|
||||
News</option>\n\t\t\t\n\t\t\t\t<option value=\"5\"> General
|
||||
discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"53\"> Multiplayer</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"8\"> Show your Creations</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"54\"> Videos</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"19\"> Spread the Word</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"27\"> Off topic</option>\n\t\t\t\n\t\t\t\t<option value=\"55\">
|
||||
This Forum</option>\n\t\t\t\n\t\t\t\t<option value=\"57\">
|
||||
Trash area</option>\n\t\t\t\n\t\t\t\t<option value=\"17\">Support</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"18\"> Gameplay Help</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"49\"> Technical Help</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"7\"> Bug Reports</option>\n\t\t\t\n\t\t\t\t<option value=\"11\">
|
||||
Resolved Problems and Bugs</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"30\"> Resolved for the next release</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"23\"> Not a bug</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"29\"> Pending</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"35\"> 1 / 0 magic</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"41\"> Known issues</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"47\"> Duplicates</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"48\"> Minor issues</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"58\"> Won't fix.</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"20\">Factorio Direction</option>\n\t\t\t\n\t\t\t\t<option value=\"9\">
|
||||
Development Proposals</option>\n\t\t\t\n\t\t\t\t<option value=\"6\">
|
||||
Ideas and Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"80\">
|
||||
Concepts</option>\n\t\t\t\n\t\t\t\t<option value=\"76\">
|
||||
Backlog (old, but good stuff)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"67\"> Forum-Ready Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"68\"> Ready for implementation</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"66\"> Implemented Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"71\"> Outdated/Not implemented</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"16\"> Balancing</option>\n\t\t\t\n\t\t\t\t<option value=\"10\">Contributions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"14\"> Mods</option>\n\t\t\t\n\t\t\t\t<option value=\"88\">
|
||||
Spotlights and Rating</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"89\"> Mod Rules & Discuss this Board</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"83\"> Mods for 0.12</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"98\"> Rules</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"97\"> Work-In-Progress / Pre-Alpha
|
||||
Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"91\">
|
||||
General Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"122\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"121\"> Unofficial
|
||||
Updated Mods / Unofficial Patches</option>\n\t\t\t\n\t\t\t\t<option value=\"92\">
|
||||
Helper mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"123\"> Bugs &
|
||||
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"61\">
|
||||
Rail Layer</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"116\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"93\"> New Items, Entities, Extensions
|
||||
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"124\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"94\"> Gameplay / Convenience
|
||||
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"125\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"44\"> Treefarm</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"103\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"79\"> Resource
|
||||
Spawner Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"108\">
|
||||
Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"64\"> Atomic Power</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"115\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"95\"> Mod Compilations / Complete
|
||||
Overhauls (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"126\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"43\"> DyTech</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"99\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"51\"> Bob's mods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"105\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"81\"> 5dim's mod</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"110\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"70\"> Yuoki Industries</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"112\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"96\"> Mod Packs / Libs / Special
|
||||
Interest (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"127\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"60\"> ShadowMegaModpack</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"118\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"120\"> Unofficial Updated Mods
|
||||
/ Unofficial Patches (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"128\">
|
||||
Bugs & Suggestions</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"84\"> Mods for 0.11 and below</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"90\"> Rules</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"32\"> Work In Progress Mods
|
||||
(<=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"87\">
|
||||
Mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"86\"
|
||||
selected=\"selected\"> Helper mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"117\"> F.A.R.L.
|
||||
/ Rail Layer (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"46\">
|
||||
Test mode</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"42\"> Big mods (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"102\"> DyTech (Link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"104\"> Treefarm
|
||||
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"106\">
|
||||
Bob's mods (link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"107\"> Resource
|
||||
Spawner Overhaul (link)</option>\n\t\t\t\n\t\t\t\t<option value=\"109\">
|
||||
5dim's mod (link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"111\"> Uranium
|
||||
Power (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"113\">
|
||||
Yuoki Industries (Link)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"45\"> F mod</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"59\"> Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"62\"> Cartmen's
|
||||
Complete Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"114\">
|
||||
Archive</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"63\"> MoMods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"77\"> Hardc☸rio</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"78\"> Cursed Exp</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"85\"> Modpacks (<=0.11)</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"119\"> ShadowsMegaModpack
|
||||
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"40\">
|
||||
Obsolete mods</option>\n\t\t\t\n\t\t\t\t<option value=\"82\">
|
||||
Modding Discussions</option>\n\t\t\t\n\t\t\t\t<option value=\"34\">
|
||||
Modding discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"25\">
|
||||
Modding help</option>\n\t\t\t\n\t\t\t\t<option value=\"33\">
|
||||
Ideas and Requests For Mods</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"28\"> Modding interface requests</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"65\"> Implemented mod requests</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"36\"> Maps and Scenarios</option>\n\t\t\t\n\t\t\t\t<option
|
||||
value=\"12\"> Translations</option>\n\t\t\t\n\t\t\t\t<option value=\"15\">
|
||||
Texture Packs</option>\n\t\t\t\n\t\t\t\t<option value=\"69\">
|
||||
Tools</option>\n\t\t\t\n\t\t\t\t<option value=\"50\"> Wiki
|
||||
Talk</option>\n\t\t\t\n\t\t\t</select>\n\t\t\t<input type=\"submit\" value=\"Go\"
|
||||
class=\"button2\" />\n\t\t</fieldset>\n\t</form>\n\n\n\t<h3>Who is online</h3>\n\t<p>Users
|
||||
browsing this forum: No registered users and 1 guest</p>\n\n\t<h3>Forum permissions</h3>\n\t<p>You
|
||||
<strong>cannot</strong> post new topics in this forum<br />You <strong>cannot</strong>
|
||||
reply to topics in this forum<br />You <strong>cannot</strong> edit your posts
|
||||
in this forum<br />You <strong>cannot</strong> delete your posts in this forum<br
|
||||
/>You <strong>cannot</strong> post attachments in this forum<br /></p>\n</div>\n\n<div
|
||||
id=\"page-footer\">\n\n\t<div class=\"navbar\">\n\t\t<div class=\"inner\"><span
|
||||
class=\"corners-top\"><span></span></span>\n\n\t\t<ul class=\"linklist\">\n\t\t\t<li
|
||||
class=\"icon-home\"><a href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
|
||||
accesskey=\"h\">Board index</a></li>\n\t\t\t\t\n\t\t\t<li class=\"rightside\"><a
|
||||
href=\"./memberlist.php?mode=leaders&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">The
|
||||
team</a> • <a href=\"./ucp.php?mode=delete_cookies&sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Delete
|
||||
all board cookies</a> • All times are UTC </li>\n\t\t</ul>\n\n\t\t<span
|
||||
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t<div class=\"copyright\">Powered
|
||||
by <a href=\"http://www.phpbb.com/\">phpBB</a>® Forum Software ©
|
||||
phpBB Group\n\t\t\n\t</div>\n</div>\n\n</div>\n\n<div>\n\t<a id=\"bottom\"
|
||||
name=\"bottom\" accesskey=\"z\"></a>\n\t\n</div>\n\n</body>\n</html>"
|
||||
http_version:
|
||||
recorded_at: Wed, 22 Jul 2015 21:57:37 GMT
|
||||
recorded_with: VCR 2.9.3
|
|
@ -1,22 +0,0 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe ForumPostScraper do
|
||||
def fixture(name)
|
||||
file_name = File.expand_path("../../fixtures/forum_post/#{name}.html", __FILE__)
|
||||
File.read file_name
|
||||
end
|
||||
|
||||
def stub_page(url, name)
|
||||
web_content = fixture name
|
||||
stub_request(:get, url).to_return body: web_content
|
||||
end
|
||||
|
||||
it 'should return the forum post filled with a "content" parameter' do
|
||||
forum_post = create :forum_post
|
||||
stub_page forum_post.url, 'basic_post'
|
||||
scraper = ForumPostScraper.new forum_post
|
||||
forum_post = scraper.scrap
|
||||
# Very fragile to match the exact HTML Nokogiri outputs, but whatever
|
||||
expect(forum_post.content).to eq "<h3>Hey there</h3>\n<strong>I'm here to kill you!</strong><ul>\n<li>And a list of stuff!</li>\n<li>And more stuff!</li>\n</ul>"
|
||||
end
|
||||
end
|
|
@ -1,149 +0,0 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe ForumPostsScraper do
|
||||
subject(:scraper){ ForumPostsScraper.new }
|
||||
|
||||
def fixture(name)
|
||||
file_name = File.expand_path("../../fixtures/forum_pages/#{name}.html", __FILE__)
|
||||
File.read file_name
|
||||
end
|
||||
|
||||
def stub_page(url, name)
|
||||
web_content = fixture name
|
||||
stub_request(:get, url).to_return body: web_content
|
||||
end
|
||||
|
||||
def stub_forum_page(number)
|
||||
from = (number-1)*25
|
||||
stub_page "http://www.factorioforums.com/forum/viewforum.php?f=87&start=#{from}", "page_#{number}"
|
||||
end
|
||||
|
||||
it 'should be created without any argument' do
|
||||
expect{scraper}.to_not raise_error
|
||||
end
|
||||
|
||||
describe '#scrap' do
|
||||
before :each do
|
||||
stub_forum_page 1
|
||||
stub_forum_page 2
|
||||
stub_forum_page 3
|
||||
stub_forum_page 4
|
||||
stub_forum_page 5
|
||||
end
|
||||
|
||||
it 'should return a list' do
|
||||
expect(scraper.scrap.size).to eq 101
|
||||
end
|
||||
|
||||
it 'should return forum posts with the correct #titles' do
|
||||
scraper.scrap.map { |post| expect(post).to be_kind_of ForumPost }
|
||||
end
|
||||
|
||||
it 'should return forum posts with the correct #titles' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].title).to eq '[MOD 0.10.x] Trailer Mod'
|
||||
expect(posts[1].title).to eq '[0.10.4+] Bumpers'
|
||||
expect(posts[2].title).to eq "[0.10.x] Bob's Ore Mod."
|
||||
expect(posts[3].title).to eq '[MOD 0.10.x] Tanks'
|
||||
expect(posts[4].title).to eq '[MOD 0.10.2] Automatic Rail Laying Machine'
|
||||
end
|
||||
|
||||
it 'should return the forum posts with the correct #published_at' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].published_at).to eq DateTime.parse 'Thu Jun 12, 2014 5:40 am UTC-3'
|
||||
expect(posts[1].published_at).to eq DateTime.parse 'Sat Aug 02, 2014 11:24 am UTC-3'
|
||||
expect(posts[2].published_at).to eq DateTime.parse 'Thu May 22, 2014 9:05 am UTC-3'
|
||||
expect(posts[3].published_at).to eq DateTime.parse 'Sun Aug 10, 2014 4:40 pm UTC-3'
|
||||
expect(posts[4].published_at).to eq DateTime.parse 'Fri Jun 13, 2014 1:03 am UTC-3'
|
||||
end
|
||||
|
||||
it 'should return the forum posts with the correct #last_post_at' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].last_post_at).to eq DateTime.parse 'Sun Jul 13, 2014 5:10 pm UTC-3'
|
||||
expect(posts[1].last_post_at).to eq DateTime.parse 'Mon Aug 11, 2014 1:16 pm UTC-3'
|
||||
expect(posts[2].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 11:23 pm UTC-3'
|
||||
expect(posts[3].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 5:11 pm UTC-3'
|
||||
expect(posts[4].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 11:01 am UTC-3'
|
||||
end
|
||||
|
||||
it 'should return the number of #views_count' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].views_count).to eq 4292
|
||||
expect(posts[1].views_count).to eq 1034
|
||||
expect(posts[2].views_count).to eq 7327
|
||||
expect(posts[3].views_count).to eq 166
|
||||
expect(posts[4].views_count).to eq 4905
|
||||
end
|
||||
|
||||
it 'should return the number of #comments_count' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].comments_count).to eq 9
|
||||
expect(posts[1].comments_count).to eq 10
|
||||
expect(posts[2].comments_count).to eq 100
|
||||
expect(posts[3].comments_count).to eq 2
|
||||
expect(posts[4].comments_count).to eq 42
|
||||
end
|
||||
|
||||
it 'should return the #author_name' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].author_name).to eq 'slpwnd'
|
||||
expect(posts[1].author_name).to eq 'Schmendrick'
|
||||
expect(posts[2].author_name).to eq 'bobingabout'
|
||||
expect(posts[3].author_name).to eq 'SkaceKachna'
|
||||
expect(posts[4].author_name).to eq 'kolli'
|
||||
end
|
||||
|
||||
it 'should return the post #url' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=4273'
|
||||
expect(posts[1].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=5127'
|
||||
expect(posts[2].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=3797'
|
||||
expect(posts[3].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=5299'
|
||||
expect(posts[4].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=4287'
|
||||
end
|
||||
|
||||
it 'should return the #post_number' do
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].post_number).to eq 4273
|
||||
expect(posts[1].post_number).to eq 5127
|
||||
expect(posts[2].post_number).to eq 3797
|
||||
expect(posts[3].post_number).to eq 5299
|
||||
expect(posts[4].post_number).to eq 4287
|
||||
end
|
||||
|
||||
# context 'live testing' do
|
||||
# before(:each){ WebMock.disable! }
|
||||
# after(:each){ WebMock.enable! }
|
||||
|
||||
# it 'should work' do
|
||||
# posts = scraper.scrap
|
||||
# posts.each(&:save!)
|
||||
# end
|
||||
# end
|
||||
|
||||
context 'posts already exist' do
|
||||
it 'identifies them from the #post_number and returns them updated' do
|
||||
post1 = create :forum_post, post_number: 4273
|
||||
post2 = create :forum_post, post_number: 5127
|
||||
post3 = create :forum_post, post_number: 3797
|
||||
|
||||
posts = scraper.scrap
|
||||
expect(posts[0]).to eq post1
|
||||
expect(posts[1]).to eq post2
|
||||
expect(posts[2]).to eq post3
|
||||
end
|
||||
|
||||
context 'title has changed' do
|
||||
|
||||
it 'should set #title_changed to true' do
|
||||
post1 = create :forum_post, post_number: 4273, title: 'PTARTASRTRASTASRTSRAT', title_changed: false
|
||||
post2 = create :forum_post, post_number: 5127, title: '[0.10.4+] Bumpers', title_changed: false
|
||||
|
||||
posts = scraper.scrap
|
||||
expect(posts[0].title_changed).to eq true
|
||||
expect(posts[1].title_changed).to eq false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,49 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Scraper::BaseProcessor do
|
||||
it 'should initialize with 4 arguments' do
|
||||
doc = Nokogiri::HTML('<html></html>')
|
||||
request = Struct.new(:url).new('http://potato.com')
|
||||
response = Struct.new(:body).new('<html></html>')
|
||||
scraper = Scraper::Base.new('http://purple.com')
|
||||
initial_url = 'http://purple.com'
|
||||
|
||||
Scraper::BaseProcessor.new(doc, request, response, scraper, initial_url)
|
||||
end
|
||||
|
||||
describe '.regexp' do
|
||||
it 'should return a nonmatching regex by default' do
|
||||
expect(Scraper::BaseProcessor.regexp).to eq /(?!)/
|
||||
end
|
||||
|
||||
it 'should save the regex when called with a value' do
|
||||
class ExtendedProcessor < Scraper::BaseProcessor
|
||||
regexp /potato/
|
||||
end
|
||||
expect(ExtendedProcessor.regexp).to eq /potato/
|
||||
expect(Scraper::BaseProcessor.regexp).to eq /(?!)/
|
||||
end
|
||||
end
|
||||
|
||||
it 'should delegate :add_to_queue and :add_to_queue_unless_there to the scraper' do
|
||||
class ExtendedProcessor < Scraper::BaseProcessor
|
||||
def process_page
|
||||
add_to_queue('rsarsa')
|
||||
add_to_queue_unless_there('rsarsarsa')
|
||||
end
|
||||
end
|
||||
|
||||
doc = Nokogiri::HTML('<html></html>')
|
||||
request = Struct.new(:url).new('http://purple.com/satrsat')
|
||||
response = Struct.new(:body).new('<html></html>')
|
||||
scraper = Scraper::Base.new('http://rsarsa.com')
|
||||
initial_url = 'http://purple.com'
|
||||
|
||||
expect(scraper).to receive(:add_to_queue).with('rsarsa', 'http://purple.com')
|
||||
expect(scraper).to receive(:add_to_queue_unless_there).with('rsarsarsa', 'http://purple.com')
|
||||
|
||||
processor = ExtendedProcessor.new(doc, request, response, scraper, initial_url)
|
||||
|
||||
processor.process_page
|
||||
end
|
||||
end
|
|
@ -0,0 +1,85 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Scraper::Base do
|
||||
before(:all) do
|
||||
@previous_processors = Scraper::Base.class_variable_get :@@processors
|
||||
end
|
||||
after(:each) do
|
||||
Scraper::Base.class_variable_set :@@processors, []
|
||||
end
|
||||
after(:all) do
|
||||
Scraper::Base.class_variable_set :@@processors, @previous_processors
|
||||
end
|
||||
|
||||
describe '.register_processor' do
|
||||
it 'should be able to register a processor' do
|
||||
expect{Scraper::Base.register_processor(Scraper::BaseProcessor)}.to_not raise_error
|
||||
end
|
||||
|
||||
it 'should raise an error if trying to register an invalid processor' do
|
||||
expect{Scraper::Base.register_processor('potato')}.to raise_error Scraper::InvalidProcessorError
|
||||
end
|
||||
end
|
||||
|
||||
describe '#scrap', vcr: { cassette_name: 'scraper_base', record: :new_episodes } do
|
||||
it 'should raise a NoPageProcessorFoundError error if no processor was found for the page' do
|
||||
scraper = Scraper::Base.new('http://www.purple.com')
|
||||
expect{scraper.scrap}.to raise_error Scraper::NoPageProcessorFoundError
|
||||
end
|
||||
|
||||
it 'should process each page and return an array of the processed data' do
|
||||
class ExtendedProcessor < Scraper::BaseProcessor
|
||||
regexp %r{http://www\.purple\.com}
|
||||
Scraper::Base.register_processor(self)
|
||||
|
||||
def process_page
|
||||
'Yeaaaah!'
|
||||
end
|
||||
end
|
||||
|
||||
scraper = Scraper::Base.new('http://www.purple.com')
|
||||
expect(scraper.scrap).to eq ['Yeaaaah!']
|
||||
end
|
||||
|
||||
it 'should process each page and return concatenation of the arrays of the processed data' do
|
||||
class ExtendedProcessor < Scraper::BaseProcessor
|
||||
regexp %r{http://www\.purple\.com}
|
||||
addition_method :concat
|
||||
Scraper::Base.register_processor(self)
|
||||
|
||||
def process_page
|
||||
['Yeaaaah!', 'Potato!']
|
||||
end
|
||||
end
|
||||
|
||||
scraper = Scraper::Base.new('http://www.purple.com')
|
||||
expect(scraper.scrap).to eq ['Yeaaaah!', 'Potato!']
|
||||
end
|
||||
|
||||
it 'should return a hash with the URLs if multiple URLs were provided' do
|
||||
class ExtendedProcessor1 < Scraper::BaseProcessor
|
||||
regexp %r{http://www\.purple\.com}
|
||||
Scraper::Base.register_processor(self)
|
||||
|
||||
def process_page
|
||||
'Purple is the best!'
|
||||
end
|
||||
end
|
||||
|
||||
class ExtendedProcessor2 < Scraper::BaseProcessor
|
||||
regexp %r{http://www\.zombo\.com}
|
||||
Scraper::Base.register_processor(self)
|
||||
|
||||
def process_page
|
||||
'Welcome to Zombocom!'
|
||||
end
|
||||
end
|
||||
|
||||
scraper = Scraper::Base.new(['http://www.zombo.com', 'http://www.purple.com'])
|
||||
expect(scraper.scrap).to eq({
|
||||
'http://www.zombo.com' => ['Welcome to Zombocom!'],
|
||||
'http://www.purple.com' => ['Purple is the best!']
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Scraper::PostProcessor do
|
||||
|
||||
end
|
|
@ -0,0 +1,152 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Scraper::SubforumManager do
|
||||
manager_class = Scraper::SubforumManager
|
||||
scraper_class = Scraper::Base
|
||||
|
||||
it 'should accept a collection of subforums as parameter' do
|
||||
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=32'
|
||||
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=33'
|
||||
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=34'
|
||||
|
||||
expect{manager_class.new(Subforum.all)}.to_not raise_error
|
||||
end
|
||||
|
||||
describe '#run' do
|
||||
def scraper_mock(scrap_result = nil)
|
||||
@scraper_mock ||= begin
|
||||
double = instance_double('ScraperClass')
|
||||
if scrap_result
|
||||
expect(double).to receive(:scrap).and_return(scrap_result)
|
||||
end
|
||||
double
|
||||
end
|
||||
end
|
||||
|
||||
it 'should create a new instance of Scraper and call #scrap on it' do
|
||||
create :subforum, url: 'http://potato.com'
|
||||
create :subforum, url: 'http://cabbage.com'
|
||||
|
||||
scraper_mock = instance_double('ScraperClass')
|
||||
expect(scraper_class).to receive(:new).with(['http://potato.com', 'http://cabbage.com']).and_return(scraper_mock)
|
||||
expect(scraper_mock).to receive(:scrap).and_return({
|
||||
'http://potato.com' => [],
|
||||
'http://cabbage.com' => []
|
||||
})
|
||||
|
||||
manager = manager_class.new(Subforum.all)
|
||||
manager.run
|
||||
end
|
||||
|
||||
it 'should update the #last_scrap_at on each Subforum' do
|
||||
subforum = create :subforum, last_scrap_at: 1.year.ago
|
||||
scraper_mock( subforum.url => [])
|
||||
expect(scraper_class).to receive(:new).and_return(scraper_mock)
|
||||
|
||||
manager = manager_class.new([subforum])
|
||||
manager.run
|
||||
expect(subforum.last_scrap_at).to be > 1.minute.ago
|
||||
subforum.reload
|
||||
expect(subforum.last_scrap_at).to be > 1.minute.ago
|
||||
end
|
||||
|
||||
context 'all the forum posts are new' do
|
||||
it 'should create the forum posts and add them to the database' do
|
||||
subforum = create :subforum
|
||||
scraper_mock(subforum.url => [{
|
||||
title: '[0.12.x] Super Mod - The Most Awesome Mod Ever',
|
||||
published_at: DateTime.parse('Sat Sep 20, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC'),
|
||||
views_count: 8463,
|
||||
comments_count: 123,
|
||||
author_name: 'Potato',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845',
|
||||
post_number: 4845
|
||||
}, {
|
||||
title: '[0.12.x] Potato Salad Mod',
|
||||
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
|
||||
views_count: 1234,
|
||||
comments_count: 5,
|
||||
author_name: 'Mike',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
|
||||
post_number: 4848
|
||||
}])
|
||||
expect(scraper_class).to receive(:new).and_return(scraper_mock)
|
||||
|
||||
manager = manager_class.new(Subforum.all)
|
||||
manager.run
|
||||
all_posts = ForumPost.all
|
||||
expect(all_posts.size).to eq 2
|
||||
expect(all_posts[0].attributes.symbolize_keys).to include({
|
||||
title: '[0.12.x] Super Mod - The Most Awesome Mod Ever',
|
||||
published_at: DateTime.parse('Sat Sep 20, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC'),
|
||||
views_count: 8463,
|
||||
comments_count: 123,
|
||||
author_name: 'Potato',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845',
|
||||
post_number: 4845,
|
||||
subforum_id: subforum.id
|
||||
})
|
||||
expect(all_posts[1].attributes.symbolize_keys).to include({
|
||||
title: '[0.12.x] Potato Salad Mod',
|
||||
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
|
||||
views_count: 1234,
|
||||
comments_count: 5,
|
||||
author_name: 'Mike',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
|
||||
post_number: 4848,
|
||||
subforum_id: subforum.id
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
context 'some forum posts already exist' do
|
||||
it 'should update all the attributes' do
|
||||
subforum1 = create :subforum
|
||||
subforum2 = create :subforum
|
||||
forum_post = create(:forum_post, {
|
||||
title: '[0.12.x] Potato Salad Mod (0.1.0)',
|
||||
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
|
||||
views_count: 1234,
|
||||
comments_count: 5,
|
||||
author_name: 'Mike',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
|
||||
post_number: 4848,
|
||||
subforum_id: subforum1.id
|
||||
})
|
||||
|
||||
scraper_mock(subforum2.url => [{
|
||||
title: '[0.12.x] Potato Salad Mod (0.1.1)',
|
||||
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 26, 2015 7:46 pm UTC'),
|
||||
views_count: 1444,
|
||||
comments_count: 12,
|
||||
author_name: 'Mike',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
|
||||
post_number: 4848
|
||||
}])
|
||||
expect(scraper_class).to receive(:new).and_return(scraper_mock)
|
||||
manager = manager_class.new([subforum2])
|
||||
manager.run
|
||||
|
||||
expect(ForumPost.all.size).to eq 1
|
||||
forum_post.reload
|
||||
expect(forum_post.attributes.symbolize_keys).to include({
|
||||
title: '[0.12.x] Potato Salad Mod (0.1.1)',
|
||||
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
|
||||
last_post_at: DateTime.parse('Wed Jul 26, 2015 7:46 pm UTC'),
|
||||
views_count: 1444,
|
||||
comments_count: 12,
|
||||
author_name: 'Mike',
|
||||
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
|
||||
post_number: 4848,
|
||||
subforum_id: subforum2.id
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,138 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Scraper::SubforumProcessor do
|
||||
single_page = 'http://www.factorioforums.com/forum/viewforum.php?f=91'
|
||||
multiple_pages = 'http://www.factorioforums.com/forum/viewforum.php?f=32'
|
||||
|
||||
it 'should accept a subforum URL as the first argument' do
|
||||
expect{ Scraper::Base.new 'http://potato.com' }.to_not raise_error
|
||||
end
|
||||
|
||||
describe '#scrap' do
|
||||
it { expect(Scraper::Base.new('http://potato.com')).to respond_to :scrap }
|
||||
|
||||
context 'single page' do
|
||||
before(:all) do
|
||||
VCR.use_cassette(cassette_name: 'subforum_single_page', record: :new_episodes) do
|
||||
@scraper = Scraper::Base.new single_page
|
||||
@result = @scraper.scrap
|
||||
end
|
||||
end
|
||||
|
||||
subject(:result){ @result }
|
||||
|
||||
it 'should return a list with the posts' do
|
||||
expect(@result.size).to eq 12
|
||||
end
|
||||
|
||||
describe 'first post' do
|
||||
subject(:post){ @result.first }
|
||||
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq '[MOD 0.12.x] Larger Inventory' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Sat Sep 20, 2014 12:04 am UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC') }
|
||||
its([:views_count]) { are_expected.to eq 8463 }
|
||||
its([:comments_count]) { are_expected.to eq 20 }
|
||||
its([:author_name]) { is_expected.to eq 'Rseding91' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=5891' }
|
||||
its([:post_number]) { is_expected.to eq 5891 }
|
||||
end
|
||||
|
||||
describe 'middle post' do
|
||||
subject(:post){ @result[7] }
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq '[MOD 0.12.x] Compression Chests: virtually unlimited storage' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Mon Jul 14, 2014 11:02 pm UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sat Jul 18, 2015 1:44 pm UTC') }
|
||||
its([:views_count]) { are_expected.to eq 9987 }
|
||||
its([:comments_count]) { are_expected.to eq 50 }
|
||||
its([:author_name]) { is_expected.to eq 'Rseding91' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845' }
|
||||
its([:post_number]) { is_expected.to eq 4845 }
|
||||
end
|
||||
|
||||
describe 'last post' do
|
||||
subject(:post){ @result.last }
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq '[MOD 0.12.x] Fluid Void' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Sun Aug 17, 2014 5:00 am UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sun Dec 21, 2014 1:18 am UTC') }
|
||||
its([:views_count]) { are_expected.to eq 8377 }
|
||||
its([:comments_count]) { are_expected.to eq 16 }
|
||||
its([:author_name]) { is_expected.to eq 'Rseding91' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=5412' }
|
||||
its([:post_number]) { is_expected.to eq 5412 }
|
||||
end
|
||||
end
|
||||
|
||||
context 'multiple pages' do
|
||||
before(:all) do
|
||||
VCR.use_cassette(cassette_name: 'subforum_multiple_pages', record: :new_episodes) do
|
||||
@scraper = Scraper::Base.new multiple_pages
|
||||
@result = @scraper.scrap
|
||||
end
|
||||
end
|
||||
|
||||
subject(:result){ @result }
|
||||
|
||||
it 'should return a list with the posts in all the pages' do
|
||||
expect(@result.size).to eq 97
|
||||
end
|
||||
|
||||
describe 'first post of the first page' do
|
||||
subject(:post){ @result.first }
|
||||
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq 'BlueprintMirror 0.0.3 [0.11.16+]' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Tue Mar 24, 2015 4:09 pm UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Tue Jul 21, 2015 1:35 pm UTC') }
|
||||
its([:views_count]) { are_expected.to eq 1322 }
|
||||
its([:comments_count]) { are_expected.to eq 16 }
|
||||
its([:author_name]) { is_expected.to eq 'Choumiko' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=9273' }
|
||||
its([:post_number]) { is_expected.to eq 9273 }
|
||||
end
|
||||
|
||||
describe 'fifth post of third page' do
|
||||
subject(:post){ @result[25+25+5-1] }
|
||||
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq '[MOD WIP 0.9.x] EndlessWaltz - Enemy spawning mod like in TD' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Sun Jun 01, 2014 6:43 pm UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sat Nov 15, 2014 3:59 am UTC') }
|
||||
its([:views_count]) { are_expected.to eq 2189 }
|
||||
its([:comments_count]) { are_expected.to eq 7 }
|
||||
its([:author_name]) { is_expected.to eq 'blah900' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=4011' }
|
||||
its([:post_number]) { is_expected.to eq 4011 }
|
||||
end
|
||||
|
||||
describe 'last post of last page' do
|
||||
subject(:post){ @result.last }
|
||||
|
||||
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
|
||||
:comments_count, :author_name, :url, :post_number] }
|
||||
|
||||
its([:title]) { is_expected.to eq '[WIP] Radar Mod' }
|
||||
its([:published_at]) { is_expected.to eq DateTime.parse('Mon Feb 18, 2013 2:23 pm UTC') }
|
||||
its([:last_post_at]) { is_expected.to eq DateTime.parse('Wed Feb 20, 2013 2:02 am') }
|
||||
its([:views_count]) { are_expected.to eq 1453 }
|
||||
its([:comments_count]) { are_expected.to eq 5 }
|
||||
its([:author_name]) { is_expected.to eq 'kalapixie' }
|
||||
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=156' }
|
||||
its([:post_number]) { is_expected.to eq 156 }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -3,18 +3,37 @@ require 'rails_helper'
|
|||
RSpec.describe ForumPost, :type => :model do
|
||||
subject(:post) { create :forum_post }
|
||||
|
||||
it { expect(post).to respond_to :comments_count }
|
||||
it { expect(post).to respond_to :views_count }
|
||||
it { expect(post).to respond_to :published_at }
|
||||
it { expect(post).to respond_to :edited_at }
|
||||
it { expect(post).to respond_to :last_post_at }
|
||||
it { expect(post).to respond_to :url }
|
||||
it { expect(post).to respond_to :title }
|
||||
it { expect(post).to respond_to :author_name }
|
||||
it { expect(post).to respond_to :post_number }
|
||||
it { expect(post).to respond_to :title_changed }
|
||||
|
||||
it { expect(post).to respond_to :mod }
|
||||
it { is_expected.to respond_to :comments_count }
|
||||
it { is_expected.to respond_to :views_count }
|
||||
it { is_expected.to respond_to :published_at }
|
||||
it { is_expected.to respond_to :edited_at }
|
||||
it { is_expected.to respond_to :last_post_at }
|
||||
it { is_expected.to respond_to :url }
|
||||
it { is_expected.to respond_to :title }
|
||||
it { is_expected.to respond_to :author_name }
|
||||
it { is_expected.to respond_to :post_number }
|
||||
it { is_expected.to respond_to :title_changed }
|
||||
it { is_expected.to respond_to :not_a_mod }
|
||||
it { is_expected.to respond_to :subforum }
|
||||
it { expect(post.build_subforum).to be_kind_of Subforum }
|
||||
it { is_expected.to respond_to :mod }
|
||||
it { expect(post.build_mod).to be_kind_of Mod }
|
||||
# TODO: Should belong_to modd
|
||||
|
||||
describe '#title_changed' do
|
||||
it 'should be set to true if the title changed' do
|
||||
forum_post = create :forum_post, title: '[0.12] Super Mod (0.0.1)'
|
||||
expect(forum_post.title_changed).to eq true
|
||||
forum_post.title_changed = false
|
||||
forum_post.save!
|
||||
forum_post.title = '[0.12] Super Mod (0.0.2)'
|
||||
expect(forum_post.title_changed).to eq true
|
||||
forum_post.title = '[0.12] Super Mod (0.0.1)'
|
||||
expect(forum_post.title_changed).to eq false
|
||||
forum_post.title = '[0.12] Super Mod (0.0.2)'
|
||||
expect(forum_post.title_changed).to eq true
|
||||
forum_post.save!
|
||||
forum_post.reload
|
||||
expect(forum_post.title_changed).to eq true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Subforum, type: :model do
|
||||
subject(:subforum) { build :subforum }
|
||||
|
||||
it { is_expected.to respond_to :number }
|
||||
it { is_expected.to respond_to :name }
|
||||
it { is_expected.to respond_to :url }
|
||||
it { is_expected.to respond_to :game_version }
|
||||
it { is_expected.to respond_to :scrap? }
|
||||
it { is_expected.to respond_to :forum_posts }
|
||||
|
||||
describe '#scrap_itself', vcr: { cassette_name: 'subforum_model_scrap_itself', record: :new_episodes } do
|
||||
it 'should actually scrap the subforum to get the title' do
|
||||
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?f=86'
|
||||
subforum.name = ''
|
||||
subforum.scrap_itself
|
||||
expect(subforum.name).to eq 'Helper mods (<=0.11)'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#url=' do
|
||||
it 'should extract the #number from the #url' do
|
||||
subforum.number = 0
|
||||
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?f=86'
|
||||
expect(subforum.number).to eq 86
|
||||
end
|
||||
|
||||
it 'should set #number to nil if no number was found' do
|
||||
subforum.number = 0
|
||||
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?rsadhthnenrsa'
|
||||
expect(subforum.number).to eq nil
|
||||
end
|
||||
|
||||
it 'should not fail miserably with a nil value' do
|
||||
subforum.number = 0
|
||||
subforum.url = nil
|
||||
expect(subforum.number).to eq nil
|
||||
end
|
||||
end
|
||||
|
||||
describe 'validation' do
|
||||
it 'should be invalid without a #number' do
|
||||
subforum.number = nil
|
||||
expect(subforum).to be_invalid
|
||||
end
|
||||
|
||||
it 'should be invalid without an #url' do
|
||||
subforum.url = nil
|
||||
expect(subforum).to be_invalid
|
||||
end
|
||||
end
|
||||
|
||||
describe '.for_scraping' do
|
||||
it 'should return all the subforums with #scrap=true' do
|
||||
subforums = []
|
||||
subforums << create(:subforum, scrap: true)
|
||||
create(:subforum, scrap: false)
|
||||
subforums << create(:subforum, scrap: true)
|
||||
subforums << create(:subforum, scrap: true)
|
||||
|
||||
expect(Subforum.for_scraping).to eq subforums
|
||||
end
|
||||
end
|
||||
end
|
|
@ -7,6 +7,7 @@ require 'capybara/rspec'
|
|||
require 'webmock/rspec'
|
||||
require 'vcr'
|
||||
require 'paperclip/matchers'
|
||||
require 'rspec/its'
|
||||
|
||||
WebMock.disable_net_connect!(allow_localhost: true)
|
||||
# Capybara.default_driver = :selenium_phantomjs
|
||||
|
@ -28,6 +29,9 @@ VCR.configure do |config|
|
|||
config.ignore_request do |request|
|
||||
URI(request.uri).host == '127.0.0.1'
|
||||
end
|
||||
config.before_record do |i|
|
||||
i.response.body.force_encoding('UTF-8')
|
||||
end
|
||||
config.cassette_library_dir = "#{::Rails.root}/spec/fixtures/vcr_cassettes"
|
||||
config.hook_into :webmock # or :fakeweb
|
||||
config.configure_rspec_metadata!
|
||||
|
|
Loading…
Reference in New Issue