class IframesController < ApplicationController layout false skip_before_filter :verify_authenticity_token, :only => [:html_content] include ApplicationHelper def show render :layout => false end # 渲染实训代码 # educodercss: 字符串以 ‘,’分隔,存储的是版本库css的路径 # educoderscript: 字符串以 ‘,’分隔,存储的是版本库js的路径 # contents: html实训的整体内容 def html_content @contents = params[:contents] || "" gpid = params[:gpid] edu_css = params[:educodercss] edu_js = params[:educoderscript] @g = Gitlab.client @rev = "master" if @contents.present? @contents = @contents.gsub("w3equalsign", "=").gsub("w3scrw3ipttag", "script").gsub("edulink", "link").html_safe end # css if edu_css.present? css_path = edu_css.split(",") css_path.each do |path| file_content = @g.files(gpid, path, @rev).content file_content = tran_base64_decode64(file_content) unless file_content.blank? @contents = @contents.sub(/EDUCODERCSS/, "") end end # js if edu_js.present? js_path = edu_js.split(",") js_path.each do |path| file_content = @g.files(gpid, path, @rev).content file_content = tran_base64_decode64(file_content) unless file_content.blank? @contents = @contents.sub(/EDUCODERJS/, "") end end respond_to do |format| format.js format.html end end end