Merge branch 'november_presentation' of github.com:Rulingcom/orbit into november_presentation

This commit is contained in:
chris2tof committed 2011-11-16 18:37:29 +08:00
commit bcf487f264
82 files changed
+65 -1

No files matched your search

@@ -17,6 +17,12 @@ class Admin::PurchasesController < ApplicationController
redirect_to admin_purchases_url
end
def install_app
unzip_app
redirect_to admin_purchases_url
end
protected
def download_purchase(purchase, url)
@@ -77,6 +83,36 @@ class Admin::PurchasesController < ApplicationController
end
end
def unzip_app
zip_name = "NewBlog"
file = "#{Rails.root}/lib/NewBlog.zip"
destination = "#{Rails.root}/vendor/plugins"
Zip::ZipFile.open(file) do |zip_file|
orig_file = file
temp_file = Tempfile.new("temp_file_zip")
temp_file.binmode
temp_file.write orig_file
temp_file.rewind
app = AppModule.new.from_json(zip_file.read("#{zip_name}/#{zip_name}/#{zip_name}.json"))
zip_file.each do |f|
if (f.to_s=~/^#{zip_name}\/#{zip_name}\/*/)
f_path=File.join(destination, f.name.gsub(/^#{zip_name}\//, ''))
FileUtils.mkdir_p(File.dirname(f_path))
zip_file.extract(f, f_path) unless File.exist?(f_path)
end
end
log = Logger.new(STDOUT)
log.level = Logger::WARN
log.warn("App unzip procress is finished,please restart the server to apply effect")
#TODO Perform touch tmp/restart to restart in production env
end
end
def build_file(orig_zip, zip_name, dir, object, type = nil)
title = object.file_filename
temp = File.new(dir + '/' + title, 'w+')
@@ -85,4 +121,8 @@ class Admin::PurchasesController < ApplicationController
object.to_save = true
end
def unzip_file (file, destination)
end
end
+13
View File
@@ -0,0 +1,13 @@
class AppModule
include Mongoid::Document
include Mongoid::Timestamps
field :name_of_app
field :version
field :organization
field :author
field :intro
field :update_info
field :create_date
end