]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/wordpress/resources/plugin.rb
wordpress: use wp-cli for initial DB install and activating plugins
[chef.git] / cookbooks / wordpress / resources / plugin.rb
index 468440ecaf735a03008f165957d5a39b75463ed8..fee9fcbca940e8b9c579d36b46a73a9d04b98410 100644 (file)
@@ -17,6 +17,8 @@
 # limitations under the License.
 #
 
+unified_mode true
+
 default_action :create
 
 property :plugin, :kind_of => String, :name_property => true
@@ -34,10 +36,10 @@ action :create do
       source new_resource.source
       owner node[:wordpress][:user]
       group node[:wordpress][:group]
-      mode 0o755
+      mode "755"
       files_owner node[:wordpress][:user]
       files_group node[:wordpress][:group]
-      files_mode 0o755
+      files_mode "755"
     end
   else
     plugin_repository = new_resource.repository || default_repository
@@ -60,9 +62,23 @@ action :create do
       end
     end
   end
+
+  execute "wp-cli plugin activate #{new_resource.plugin}" do
+    command "/opt/wp-cli/wp --path=#{site_directory} plugin activate #{new_resource.plugin}"
+    user node[:wordpress][:user]
+    group node[:wordpress][:group]
+    not_if "/opt/wp-cli/wp --path=#{site_directory} plugin is-active #{new_resource.plugin}"
+  end
 end
 
 action :delete do
+  execute "wp-cli plugin deactivate #{new_resource.plugin}" do
+    command "/opt/wp-cli/wp --path=#{site_directory} plugin deactivate #{new_resource.plugin}"
+    user node[:wordpress][:user]
+    group node[:wordpress][:group]
+    only_if "/opt/wp-cli/wp --path=#{site_directory} plugin is-active #{new_resource.plugin}"
+  end
+
   directory plugin_directory do
     action :delete
     recursive true