23 lines
		
	
	
		
			683 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			683 B
		
	
	
	
		
			Ruby
		
	
	
	
module ParserLayoutWidget
 | 
						|
  require 'nokogiri'
 | 
						|
 | 
						|
  def parse_widget_for_images(widget)
 | 
						|
    content = widget.widget_layout.file.read.force_encoding("UTF-8")
 | 
						|
    widge = Nokogiri::HTML(content)
 | 
						|
    a = []
 | 
						|
    b = []
 | 
						|
    widge.css('.widget_image').each do |page_image|
 | 
						|
      image = widget.images.where( file: File.basename(page_image['src']))[0]
 | 
						|
      a << page_image['src']
 | 
						|
      b << image.file
 | 
						|
      image.update_attributes(:html_id => page_image['id'], :html_class => page_image['class'], :in_html => true) if image
 | 
						|
    end
 | 
						|
    a.each_with_index do |img,i|
 | 
						|
      content = content.gsub(img,b[i].to_s)
 | 
						|
    end
 | 
						|
    widget.widget_layout.update_attributes(:body => content)
 | 
						|
  end
 | 
						|
 | 
						|
 | 
						|
end
 |