class HpsLearningsController < ApplicationController def index params = OrbitHelper.params table_fields = ["hps_learning.course_pic", "hps_learning.title", :category, "hps_learning.runtime", "hps_learning.lectures"].collect{|x| {"head" => t(x.to_sym)}} classes = [] tags = !params['tags'].blank? ? params[:tags] : OrbitHelper.page_tags onlineclassess = HpsClass.filter_by_categories.filter_by_tags(tags) if params[:keywords].present? key_string = params[:keywords] key_string = key_string.strip.nil? ? key_string : key_string.strip keywords = key_string.split(/\s+(?=(?:[^"]*"[^"]*")*[^"]*$)/) regex = Regexp.union(keywords.map{|word| Regexp.new(".*"+word+".*", "i")}) onlineclassess = onlineclassess.any_of({:title => regex}) end onlineclassess = onlineclassess.desc(:created_at) onlineclassess.each do |hpsclass| if hpsclass.hps_lectures.count > 0 thumb = hpsclass.course_pic.thumb.url.nil? ? "http://www.placehold.it/150x150/EFEFEF/AAAAAA" : hpsclass.course_pic.thumb.url classes << { "course_pic_thumb" => thumb, "course_pic" => (hpsclass.course_pic.url rescue ""), "title" => hpsclass.title, "category" => hpsclass.category.title, "runtime" => hpsclass.get_runtime, "link_to_lectures" => OrbitHelper.url_to_show(hpsclass.to_param) } end end { "fields" => table_fields, "classes" => classes, "extra" => {} } end def show params = OrbitHelper.params request = OrbitHelper.request hpsclass = HpsClass.where(:uid => params[:uid]).first table_fields = ["hps_learning.lecture_pic", "hps_learning.subject", "hps_learning.presenter" , "hps_learning.runtime", "hps_learning.link_to_lecture"].collect{|x| {"head" => t(x.to_sym)}} lectures = [] hpsclass.hps_lectures.each do |lecture| if !lecture.hps_lecture_file.nil? && !lecture.hps_lecture_file.index_path.nil? thumb = lecture.lecture_pic.thumb.url.nil? ? "http://www.placehold.it/150x150/EFEFEF/AAAAAA" : lecture.lecture_pic.thumb.url lectures << { "lecture_pic_thumb" => thumb, "lecture_pic" => (lecture.lecture_pic.url rescue ""), "subject" => lecture.subject, "presenter" => lecture.presenter, "runtime" => lecture.get_runtime, "link_to_lecture" => "http://#{request.host_with_port}/#{lecture.hps_lecture_file.index_path}" } end end { "lectures" => lectures, "fields" => table_fields, "data" => { "class-title" => hpsclass.title, "view-lecture" => t("hps_learning.view_lecture") } } end def widget tags = OrbitHelper.widget_tags classes = HpsClass.filter_by_widget_categories.filter_by_tags(tags).desc(:created_at).collect do |hpsclass| thumb = hpsclass.course_pic.thumb.url.nil? ? "http://www.placehold.it/150x150/EFEFEF/AAAAAA" : hpsclass.course_pic.thumb.url { "title" => hpsclass.title, "thumb_url" => thumb, "link_to_show" => OrbitHelper.widget_item_url(hpsclass.to_param), } end { "classes" => classes, "extras" => { "more_url" => OrbitHelper.widget_more_url } } end end