]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/resources/skin.rb
Add new skin to OSMF mediawiki instance
[chef.git] / cookbooks / mediawiki / resources / skin.rb
index 1f897c53b0d95f0dc0a480cebc25348c8b6842bb..9b13248955950431b3fc9fe49c6680603c460f0d 100644 (file)
@@ -28,6 +28,7 @@ property :version, :kind_of => String
 property :repository, :kind_of => String
 property :revision, :kind_of => String
 property :update_site, :kind_of => [TrueClass, FalseClass], :default => true
+property :legacy, :kind_of => [TrueClass, FalseClass], :default => true
 
 action :create do
   if new_resource.source
@@ -66,14 +67,20 @@ action :create do
       variables new_resource.variables
     end
   else
-    skin_script = "#{skin_directory}/#{new_resource.skin}.php"
+    if new_resource.legacy
+      file_content = "<?php require_once('#{skin_directory}/#{new_resource.skin}.php');\n"
+      skin_file = "#{skin_directory}/#{new_resource.skin}.php"
+    else
+      file_content = "<?php wfLoadSkin('#{new_resource.skin}');\n"
+      skin_file = "#{skin_directory}/skin.json"
+    end
 
     file "#{mediawiki_directory}/LocalSettings.d/Skin-#{new_resource.skin}.inc.php" do
-      content "<?php require_once('#{skin_script}');\n"
+      content file_content
       user node[:mediawiki][:user]
       group node[:mediawiki][:group]
       mode 0o664
-      only_if { ::File.exist?(skin_script) }
+      only_if { ::File.exist?(skin_file) }
     end
   end
 end