class Shellpress::Plugin
Constants
- ORDER
Public Instance Methods
activate(name)
click to toggle source
# File lib/shellpress/plugin.rb, line 72 def activate(name) network = options[:network_wide] base = "wp-content/plugins" php = "php -r \"include 'wp-load.php';" php << "require_once(ABSPATH . 'wp-admin/includes/plugin.php');" if File.exists?("#{base}/#{name}/#{name}.php") if network php << "activate_plugin('#{name}/#{name}.php', '', true);\"" else php << "activate_plugin('#{name}/#{name}.php');\"" end elsif File.exists?("#{base}/#{name}.php") if network php << "activate_plugin('#{name}.php', '', true);\"" else php << "activate_plugin('#{name}.php');\"" end else abort "Error: Invalid plugin #{name}" end run php end
deactivate(name)
click to toggle source
# File lib/shellpress/plugin.rb, line 121 def deactivate(name) base = "wp-content/plugins" php = "php -r \"include 'wp-load.php';" php << "require_once(ABSPATH . 'wp-admin/includes/plugin.php');" php << "require_once(ABSPATH . 'wp-admin/includes/file.php');" if File.exists?("#{base}/#{name}/#{name}.php") php << "deactivate_plugins(array('#{name}/#{name}.php'));\"" elsif File.exists?("#{base}/#{name}.php") php << "deactivate_plugins(array('#{name}.php'));\"" else abort "Error: Invalid plugin #{name}" end run php end
delete(name)
click to toggle source
# File lib/shellpress/plugin.rb, line 100 def delete(name) base = "wp-content/plugins" php = "php -r \"include 'wp-load.php';" php << "require_once(ABSPATH . 'wp-admin/includes/plugin.php');" php << "require_once(ABSPATH . 'wp-admin/includes/file.php');" if File.exists?("#{base}/#{name}/#{name}.php") php << "delete_plugins(array('#{name}/#{name}.php'));\"" elsif File.exists?("#{base}/#{name}.php") php << "delete_plugins(array('#{name}.php'));\"" else abort "Error: Invalid plugin #{name}" end run php end
download(url)
click to toggle source
# File lib/shellpress/plugin.rb, line 56 def download(url) zip = File.basename(URI.parse(url).path) plugin = zip.split(".").first run "wget #{url}", :verbose => false run "unzip #{zip}", :verbose => false remove_file "#{zip}", :verbose => false run "mv #{plugin} wp-content/plugins/" end
install(plugin)
click to toggle source
# File lib/shellpress/plugin.rb, line 15 def install(plugin) version = options[:version] if plugin =~ URI::regexp invoke :download, [plugin] filename = File.basename(URI.parse(plugin).path) name = filename.split(".").first invoke :activate, [name] else if version begin response = open("http://svn.wp-plugins.org/#{plugin}/tags/#{version}/readme.txt") url = "http://downloads.wordpress.org/plugin/#{plugin}.#{version}.zip" rescue abort "Error: Invalid plugin #{plugin}" end else begin response = open("http://svn.wp-plugins.org/#{plugin}/trunk/readme.txt").read stable = response.match(/Stable tag: (.*)\n/)[1] if stable == "trunk" url = "http://downloads.wordpress.org/plugin/#{plugin}.zip" elsif stable =~ /[\d\.]+/ url = "http://downloads.wordpress.org/plugin/#{plugin}.#{stable}.zip" else abort "Error: Invalid plugin #{plugin} or invalid readme.txt" end rescue abort "Error: Invalid plugin #{plugin}" end end invoke :download, [url] invoke :activate, [plugin] end end