Changeset 16
- Timestamp:
- 10/16/2006 10:50:22 (2 years ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
bin/hoodwinkd (modified) (1 diff)
-
lib/hoodwinkd.rb (modified) (1 diff)
-
lib/hoodwinkd/controllers.rb (modified) (2 diffs)
-
lib/hoodwinkd/dial.rb (modified) (1 diff)
-
lib/hoodwinkd/models.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bin/hoodwinkd
r11 r16 4 4 require 'hoodwinkd' 5 5 6 # extensions to the core7 require 'hoodwinkd/dial'8 require 'hoodwinkd/onslaught'9 require 'hoodwinkd/summaries'10 11 6 Hoodwinkd.connect File.expand_path('../../config/database.yml', __FILE__) 12 7 Hoodwinkd.create -
trunk/lib/hoodwinkd.rb
r11 r16 6 6 Camping.goes :Hoodwinkd 7 7 8 DOMAIN = '[\w\-\ .]+\.\w+'8 DOMAIN = '[\w\-\*\.]+\.\w+' 9 9 STATIC = File.expand_path('../../static', __FILE__) 10 10 SALT = "" 11 11 12 12 require 'mimetypes_hash' 13 14 # the raw guts 13 15 require 'hoodwinkd/helpers' 14 16 require 'hoodwinkd/models' 15 17 require 'hoodwinkd/controllers' 16 18 require 'hoodwinkd/views' 19 20 # the niceties 21 require 'hoodwinkd/dial' 22 require 'hoodwinkd/onslaught' 23 require 'hoodwinkd/summaries' 17 24 18 25 module Hoodwinkd::UserSession -
trunk/lib/hoodwinkd/controllers.rb
r15 r16 12 12 class Setup < R "/(#{DOMAIN})/setup" 13 13 def get(domain) 14 layers = 15 Site.find_by_sql [<<-END, domain] 16 SELECT l.name, l.fullpost_qvars, l.css, l.fullpost_xpath, l.fullpost_url_match, 17 s.domain, s.enabled, s.created_at 18 FROM hoodwinkd_sites s, hoodwinkd_layers l 19 WHERE s.domain = ? AND l.site_id = s.id 20 END 14 layers = Site.find_setup(domain) 21 15 output_json(layers) do |layer| 22 16 layer['fullpost_qvars'] = layer['fullpost_qvars'].to_s.split(/\s*,\s+/) … … 106 100 pass_in = decrypt( @user.security_token, @input.hoodwink_passc[32,32], @input.hoodwink_passc[0,32] ) 107 101 if pass_in == decrypt( @user.security_token, @user.password ) 102 layer = Site.find_setup(domain).first 103 if layer.domain != domain 104 site = AliasedSite.create(:creator_id => @user.id, :domain => domain, :linked_site => layer) 105 linklayer = Layer.create(:site => site, :name => '-') 106 end 108 107 @post = Post.find_by_sql([<<-END, domain, @permalink]).first 109 108 SELECT p.*, IFNULL(s.real_domain, s.domain) AS real_domain -
trunk/lib/hoodwinkd/dial.rb
r11 r16 7 7 @layer = @site.layers[0] 8 8 end 9 @layer ||= Layer.new 9 @layer ||= Layer.new(:name => 'Root') 10 10 end 11 11 def get(domain) -
trunk/lib/hoodwinkd/models.rb
r11 r16 124 124 GROUP BY s.id ORDER BY s.created_at DESC, s.id ASC LIMIT #{count.to_i} 125 125 } 126 end 127 def self.globs(domain) 128 parts = domain.split('.') 129 [domain] + (1..parts.length-1).map { |x| "*.#{parts[x..-1].join('.')}" } 130 end 131 def self.find_setup(domain) 132 layers = nil 133 globs(domain).each do |gdom| 134 layers = 135 Site.find_by_sql [<<-END, gdom] 136 SELECT s.*, l.name, l.fullpost_qvars, l.css, l.fullpost_xpath, l.fullpost_url_match 137 FROM hoodwinkd_sites s, hoodwinkd_layers l 138 WHERE s.domain = ? AND l.site_id = s.id AND l.fullpost_xpath IS NOT NULL 139 END 140 break unless layers.blank? 141 end 142 layers 126 143 end 127 144 end
