From 57f8c7d04f6d24c29c79dfd314e5a6062db7368c Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 3 Jun 2015 10:54:40 +0800
Subject: [PATCH 02/31] added timeout
---
lib/tasks/office.rake | 28 +++++++++++--------------
lib/trustie/utils/office.rb | 42 +++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 16 deletions(-)
create mode 100644 lib/trustie/utils/office.rb
diff --git a/lib/tasks/office.rake b/lib/tasks/office.rake
index 770379b1a..3e4c0a286 100644
--- a/lib/tasks/office.rake
+++ b/lib/tasks/office.rake
@@ -1,23 +1,19 @@
namespace :office do
desc "conver any files to html"
task :conver => :environment do
+ all_count = Attachment.count
+ i = 0
Attachment.find_each do |a|
- convered_file = File.join(Rails.root, "files", "convered_office", a.disk_filename + ".html")
- unless File.exist?(convered_file)
- if File.exist? a.diskfile
- if %w(doc docx ppt pptx xls xlsx pdf).any?{|word| a.diskfile.downcase.end_with?(word)}
- begin
- req = RestClient.post 'http://192.168.80.107/Any2HtmlHandler.ashx', :txtDes => File.new(a.diskfile, 'rb')
- File.new(convered_file, "ab+") do |f|
- f.write(req.body)
- end
- rescue =>e
- puts e.message
- end
- end
- else
- puts "can't find file #{a.diskfile}"
- end
+ i += 1
+ puts "process [#{i}/#{all_count}] => id #{a.id}"
+ saved_path = File.join(Rails.root, "files", "convered_office")
+ unless Dir.exist?(saved_path)
+ Dir.mkdir(saved_path)
+ end
+ convered_file = File.join(saved_path, a.disk_filename + ".html")
+ office = Trustie::Utils::Office.new(a.diskfile)
+ if office.conver(convered_file)
+ puts "process ok: #{convered_file} "
end
end
end
diff --git a/lib/trustie/utils/office.rb b/lib/trustie/utils/office.rb
new file mode 100644
index 000000000..3d58bb047
--- /dev/null
+++ b/lib/trustie/utils/office.rb
@@ -0,0 +1,42 @@
+module Trustie
+ module Utils
+ class Office
+
+ def initialize(file)
+ @file = file
+ end
+
+ def office?
+ %w(doc docx ppt pptx xls xlsx pdf).any?{|word| @file.downcase.end_with?(word)}
+ end
+
+ def conver(saved_file, force=false)
+ if force || !File.exist?(saved_file)
+ if File.exist? @file
+ if office?
+ begin
+ resource = RestClient::Resource.new(
+ 'http://192.168.80.107/Any2HtmlHandler.ashx',
+ :timeout => -1,
+ :open_timeout => -1
+ )
+ req = resource.post :txtDes => File.new(@file, 'rb')
+ File.new(saved_file, "ab+") do |f|
+ f.write(req.body)
+ end
+ return true
+ rescue =>e
+ puts e.message
+ end
+ end
+ else
+ puts "can't find file #{@file}"
+ end
+ end
+ false
+ end
+
+ end
+ end
+end
+
From b2cdcf4bbeca362e1a7fe140774c4d95516f4e49 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Wed, 3 Jun 2015 10:57:51 +0800
Subject: [PATCH 03/31] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=A6=96=E9=A1=B5?=
=?UTF-8?q?=E7=BC=93=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/welcome/course.html.erb | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/app/views/welcome/course.html.erb b/app/views/welcome/course.html.erb
index 16c191d5e..143c32dbe 100644
--- a/app/views/welcome/course.html.erb
+++ b/app/views/welcome/course.html.erb
@@ -173,9 +173,7 @@
<%break if Time.new.strftime("%Y").to_i - year_now >= 2%>
<% all_new_hot_course += find_all_new_hot_course(9-(all_new_hot_course.count + cur_school_course.count), @school_id, year_now, course_term)%>
<% end%>
- <% cache all_new_hot_course.max().created_at do %>
- <%= render :partial => 'course_list', :locals => {:course_list => all_new_hot_course} %>
- <% end %>
+ <%= render :partial => 'course_list', :locals => {:course_list => all_new_hot_course} %>
<% end %>
From 87e7db1a4b3f349e61d5fe42652bd870251976cb Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 3 Jun 2015 11:14:33 +0800
Subject: [PATCH 04/31] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=99=84=E4=BB=B6?=
=?UTF-8?q?=E6=97=B6=E8=BD=AC=E6=8D=A2office=E6=96=87=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/attachment.rb | 11 ++++++++++-
app/tasks/office_conver_task.rb | 12 ++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
create mode 100644 app/tasks/office_conver_task.rb
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index 7ac7d786d..1e477ed04 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -72,7 +72,7 @@ class Attachment < ActiveRecord::Base
@@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
before_save :files_to_final_location
- after_create :be_user_score ,:act_as_forge_activity# user_score
+ after_create :office_conver, :be_user_score ,:act_as_forge_activity# user_score
after_update :be_user_score
after_destroy :delete_from_disk,:down_user_score
@@ -258,6 +258,15 @@ class Attachment < ActiveRecord::Base
filename
end
+ def office_conver
+ saved_path = File.join(Rails.root, "files", "convered_office")
+ unless Dir.exist?(saved_path)
+ Dir.mkdir(saved_path)
+ end
+ convered_file = File.join(saved_path, self.disk_filename + ".html")
+ OfficeConverTask.new.conver(self.diskfile, convered_file)
+ end
+
# Copies the temporary file to its final location
# and computes its MD5 hash
def files_to_final_location
diff --git a/app/tasks/office_conver_task.rb b/app/tasks/office_conver_task.rb
new file mode 100644
index 000000000..da950bf2e
--- /dev/null
+++ b/app/tasks/office_conver_task.rb
@@ -0,0 +1,12 @@
+#coding=utf-8
+#
+class OfficeConverTask
+ def conver(source_file, saved_file)
+ office = Trustie::Utils::Office.new(source_file)
+ if office.conver(saved_file)
+ Rails.logger.info "process ok: #{saved_file} "
+ end
+ end
+ handle_asynchronously :conver,:queue => 'office_conver'
+end
+
From 00745f127009f9adfa8b4bdc4822395a09b00bcf Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 3 Jun 2015 11:40:00 +0800
Subject: [PATCH 05/31] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E9=A2=84=E8=A7=88bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/attachments_controller.rb | 2 +-
lib/trustie/utils/office.rb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb
index 662a85fe1..c8b6a6fda 100644
--- a/app/controllers/attachments_controller.rb
+++ b/app/controllers/attachments_controller.rb
@@ -71,7 +71,7 @@ class AttachmentsController < ApplicationController
if stale?(:etag => @attachment.digest)
convered_file = File.join(Rails.root, "files", "convered_office", @attachment.disk_filename + ".html")
if File.exist?(convered_file)
- render :text => File.open(convered_file).read
+ send_file convered_file, :type => 'text/html; charset=utf-8', :disposition => 'inline'
else
send_file @attachment.diskfile, :filename => filename_for_content_disposition(@attachment.filename),
:type => detect_content_type(@attachment),
diff --git a/lib/trustie/utils/office.rb b/lib/trustie/utils/office.rb
index 3d58bb047..1bc18cb84 100644
--- a/lib/trustie/utils/office.rb
+++ b/lib/trustie/utils/office.rb
@@ -21,7 +21,7 @@ module Trustie
:open_timeout => -1
)
req = resource.post :txtDes => File.new(@file, 'rb')
- File.new(saved_file, "ab+") do |f|
+ File.open(saved_file, "wb+") do |f|
f.write(req.body)
end
return true
From 437287d93b4277e6b44646bf929dd04c88c2a788 Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Wed, 3 Jun 2015 12:14:39 +0800
Subject: [PATCH 06/31] =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=99=A8=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E8=A7=86=E9=A2=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/assets/kindeditor/kindeditor.js | 2 +-
.../assets/kindeditor/plugins/media/media.js | 23 +--
.../kindeditor/plugins/media/media.old.js | 170 ++++++++++++++++++
3 files changed, 176 insertions(+), 19 deletions(-)
create mode 100644 public/assets/kindeditor/plugins/media/media.old.js
diff --git a/public/assets/kindeditor/kindeditor.js b/public/assets/kindeditor/kindeditor.js
index fbec91afb..d97f1cd2e 100644
--- a/public/assets/kindeditor/kindeditor.js
+++ b/public/assets/kindeditor/kindeditor.js
@@ -260,7 +260,7 @@ K.options = {
items : [ 'emoticons',
'source','plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', '|',
'formatblock', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
- 'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'link',"more"
+ 'italic', 'underline', 'removeformat', '|','imagedirectupload','table', 'media',"more"
],
noDisableItems : ['source', 'fullscreen'],
colorTable : [
diff --git a/public/assets/kindeditor/plugins/media/media.js b/public/assets/kindeditor/plugins/media/media.js
index 58034662a..6d0d3a387 100644
--- a/public/assets/kindeditor/plugins/media/media.js
+++ b/public/assets/kindeditor/plugins/media/media.js
@@ -9,9 +9,9 @@
KindEditor.plugin('media', function(K) {
var self = this, name = 'media', lang = self.lang(name + '.'),
- allowMediaUpload = K.undef(self.allowMediaUpload, true),
+ allowMediaUpload = K.undef(self.allowMediaUpload, false),
allowFileManager = K.undef(self.allowFileManager, false),
- formatUploadUrl = K.undef(self.formatUploadUrl, true),
+ formatUploadUrl = K.undef(self.formatUploadUrl, false),
extraParams = K.undef(self.extraFileUploadParams, {}),
filePostName = K.undef(self.filePostName, 'imgFile'),
uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');
@@ -22,10 +22,8 @@ KindEditor.plugin('media', function(K) {
//url
'',
//width
@@ -38,11 +36,6 @@ KindEditor.plugin('media', function(K) {
'',
'',
'