]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/civicrm/recipes/default.rb
Allow civicrm extensions to be installed from a downloaded zip
[chef.git] / cookbooks / civicrm / recipes / default.rb
index 62766ceb38e74d0b41e0975bc478b89943b31ff7..92ed283a613e9318489739d83c858ce6c08b06b3 100644 (file)
@@ -49,21 +49,20 @@ mysql_database "civicrm" do
   permissions "civicrm@localhost" => :all
 end
 
-ssl_certificate "join.osmfoundation.org" do
-  domains [ "join.osmfoundation.org", "crm.osmfoundation.org",
-            "supporting.osmfoundation.org", "support.osmfoundation.org",
-            "support.openstreetmap.org", "supporting.osm.org",
-            "support.osm.org"]
-  notifies :reload, "service[apache2]"
-end
-
-apache_site "join.osmfoundation.org" do
-  template "apache.erb"
-end
-
 wordpress_site "supporting.openstreetmap.org" do
-  # Do not add extra aliases as this causes issues with civicrm PHP sessions
-  aliases ["supporting.openstreetmap.org"]
+  aliases %w[
+    crm.osmfoundation.org
+    donate.openstreetmap.org
+    donate.openstreetmap.com
+    donate.openstreetmap.net
+    donate.osm.org
+    join.osmfoundation.org
+    supporting.osmfoundation.org
+    support.osmfoundation.org
+    support.openstreetmap.org
+    supporting.osm.org
+    support.osm.org
+  ]
   database_name "civicrm"
   database_user "civicrm"
   database_password database_password
@@ -73,7 +72,12 @@ end
 
 wordpress_theme "osmblog-wp-theme" do
   site "supporting.openstreetmap.org"
-  repository "https://github.com/osmfoundation/osmblog-wp-theme.git"
+  action :delete
+end
+
+wordpress_plugin "civicrm-wp-piwik" do
+  plugin "wp-piwik"
+  site "supporting.openstreetmap.org"
 end
 
 wordpress_plugin "registration-honeypot" do
@@ -157,12 +161,32 @@ directory extensions_directory do
 end
 
 node[:civicrm][:extensions].each_value do |details|
-  git "#{extensions_directory}/#{details[:name]}" do
-    action :sync
-    repository details[:repository]
-    revision details[:revision]
-    user "wordpress"
-    group "wordpress"
+  if details[:repository]
+    git "#{extensions_directory}/#{details[:name]}" do
+      action :sync
+      repository details[:repository]
+      revision details[:revision]
+      user "wordpress"
+      group "wordpress"
+    end
+  elsif details[:zip]
+    remote_file "#{cache_dir}/#{details[:name]}.zip" do
+      source details[:zip]
+      owner "root"
+      group "root"
+      mode "644"
+      backup false
+    end
+
+    archive_file "#{cache_dir}/#{details[:name]}.zip" do
+      action :nothing
+      destination "#{extensions_directory}/#{details[:name]}"
+      strip_components 1
+      owner "wordpress"
+      group "wordpress"
+      overwrite true
+      subscribes :extract, "remote_file[#{cache_dir}/#{details[:name]}.zip]", :immediately
+    end
   end
 end