Upload Desktop themes
This commit is contained in:
		
							parent
							
								
									b51030ac14
								
							
						
					
					
						commit
						a1a15775e9
					
				|  | @ -15,7 +15,7 @@ class DesktopController< ApplicationController | |||
|       @desktop.save! | ||||
|     end | ||||
|     @currentusername = current_user.name | ||||
|     @currentname = current_user.first_name + current_user.last_name | ||||
|     @currentname = current_user.first_name + current_user.last_name rescue "" | ||||
|     @title = "Desktop - " + @currentusername | ||||
|     @section = @desktop.sections.first | ||||
|   end | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -21,10 +21,37 @@ namespace :desktop do | |||
|       #  flash[:error] = "Upload file should be in zip format" | ||||
|       #end | ||||
|       temp_file.close | ||||
| 
 | ||||
|       Dir.glob("#{Rails.root}/lib/desktop_themes/*.zip").each do |theme_zip| | ||||
|         upload_desktop_theme(theme_zip,File.basename(theme_zip, ".zip")) | ||||
|       end | ||||
|     end | ||||
|     Rake::Task["tiles:destroy_build_tiles"].execute | ||||
|   end | ||||
| 
 | ||||
|   def upload_desktop_theme(file, zip_name) | ||||
|     Zip::ZipFile.open(file) { |zip_file| | ||||
|       dt = DesktopTheme.new.from_json(zip_file.read("#{zip_name}/settings.json")) | ||||
|       Dir.mktmpdir('f_path') { |dir| | ||||
|         images_entries = [] | ||||
| 
 | ||||
|         zip_file.entries.each do |entry| | ||||
|           case (path = entry.to_s) | ||||
|             when /\A(#{zip_name})\/(theme\.css)\z/ #for default css | ||||
|               dt.build_css_default(:file => get_temp_file(zip_file, dir, entry)) | ||||
|             when /\A(#{zip_name})\/(background)\/.*((\.jpg)|(\.png)|(\.gif))\z/   #for img | ||||
|               images_entries << entry | ||||
|           end | ||||
|         end | ||||
| 
 | ||||
|         images_entries.each do |image| | ||||
|           dt.images.build(:file => get_temp_file(zip_file,dir,image)) | ||||
|         end    | ||||
|       } | ||||
|       dt.save | ||||
|     } | ||||
|   end | ||||
| 
 | ||||
|     def unzip_widget(file, zip_name) | ||||
|       Zip::ZipFile.open(file) { |zip_file| | ||||
|         dw = DesktopWidget.new.from_json(zip_file.read("#{zip_name}/settings.json")) | ||||
|  |  | |||
		Reference in New Issue