radiant / radiant-multi-site-extension

An extension for Radiant CMS that lets you serve multiple sites (domains) from a single instance.

This URL has Read+Write access

jfrench (author)
Thu Jun 11 12:49:07 -0700 2009
commit  faa8d5856755aa95af9350ba5f94095d4d65ffc4
tree    687d8e5fe23f9239e4d079db02057de0e336b617
parent  7c3fcc6409265ce11488c33fcc7ba2738c53a63c
radiant-multi-site-extension / multi_site_extension.rb
100644 39 lines (32 sloc) 1.285 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require_dependency 'application_controller'
 
class MultiSiteExtension < Radiant::Extension
  version "0.8.0"
  description %{ Enables virtual sites to be created with associated domain names.
Also scopes the sitemap view to any given page (or the root of an
individual site). }
  url "http://radiantcms.org/"
 
  define_routes do |map|
    map.namespace :admin, :member => { :remove => :get } do |admin|
      admin.resources :sites, :member => {
        :move_higher => :post,
        :move_lower => :post,
        :move_to_top => :put,
        :move_to_bottom => :put
      }
    end
  end
 
 
  def activate
    # ActionController::Routing modules are required rather than sent as includes
    # because the routing persists between dev. requests and is not compatible
    # with multiple alias_method_chain calls.
    require 'multi_site/route_extensions'
    require 'multi_site/route_set_extensions'
    Page.send :include, MultiSite::PageExtensions
    SiteController.send :include, MultiSite::SiteControllerExtensions
    Admin::PagesController.send :include, MultiSite::PagesControllerExtensions
    admin.pages.index.add :top, "site_subnav"
    admin.tabs.add "Sites", "/admin/sites", :visibility => [:admin]
  end
 
  def deactivate
  end
 
end