Class: Xforum::Photo
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Xforum::Photo
- Defined in:
- app/models/xforum/photo.rb
Class Method Summary collapse
- .get_photo(params) ⇒ Object
- .get_photos(forum_id) ⇒ Object
- .get_video(params) ⇒ Object
- .upload(params, user_id) ⇒ Object
Class Method Details
.get_photo(params) ⇒ Object
31 32 33 34 35 36 |
# File 'app/models/xforum/photo.rb', line 31 def self.get_photo(params) params[:id].nil? || params[:id] == '' ? which = {tag:params[:tag]} : which = {id:params[:id]} data=Forum.grab(which,[:id,:parent],{})[0] answer=Photo.get_photos(data[:id]) {tag:params[:tag],edit:params[:edit],urls:answer[:urls],video:answer[:video],id:data[:id],parent:data[:parent],count:params[:count].to_i+1} end |
.get_photos(forum_id) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'app/models/xforum/photo.rb', line 20 def self.get_photos(forum_id) photos=Photo.grab({forum_id:forum_id},[:key,:has_video],{order:[:id]}) urls=[] video=false photos.each {|photo| urls.push(ForumAssist.get_url(photo[:key]) ) video=true if photo[:has_video] } {urls:urls,video:video,forum:forum_id} end |
.get_video(params) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/models/xforum/photo.rb', line 39 def self.get_video(params) photos=Photo.grab({forum_id:params[:forum_id]},[:key,:has_video,:name],{}) if photos.size>1 {video:false} else photo=photos[0] ext= photo[:name].split('.').last name=photo[:name].split(ext).first name+='mp4' folder=ENV['XFORUM_VIDEOS'] {video:ForumAssist.get_url(File.join(folder,name))} end end |
.upload(params, user_id) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/models/xforum/photo.rb', line 53 def self.upload(params,user_id) temp=JSON.load(params[:photo][:data]) pforward=Hash[temp.map{|k,v| [k.to_sym,v]}] #make the true/false strings again pforward[:needs_photo] ? pforward[:needs_photo] ='true' : pforward[:needs_photo] ='false' pforward[:already_has_photo] ? pforward[:already_has_photo] ='true' : pforward[:already_has_photo] ='false' pforward[:edit] ? pforward[:edit] ='true' : pforward[:edit] ='false' pforward[:translating] ? pforward[:translating] ='true' : pforward[:translating] ='false' comment_info=Forum.add_comment(pforward,user_id) k=params[:photo][:file] Spawnling.new { (0...k.size).each {|i| name=k[i].original_filename.downcase ext=name.split('.').last if %w(jpg gif png).include?(ext) folder=ENV['XFORUM_PHOTOS'] # todo make this programable save_name=File.join(folder,name) ForumAssist.save_image(k[i].tempfile.path, save_name) Photo.create(user_id:user_id,forum_id:comment_info[:id],name:name,key:save_name) end } } unless k.nil? Rails.logger.debug 'saved job, now going back' end |