forked from External/greenlight
		
	* Update bbb_server.rb * Update bbb_server.rb * showing user avatar To make sure something unexpected happens * revert if current_user due to the undefined error * Update bbb_server.rb 'if current_user' should not have problem, but rubocop complains... * Update bbb_server.rb * add an option to avatar image * Add an option to avatar image * add an option avatar_image * Update rooms_controller.rb * Update joiner.rb * Update bbb_server.rb * Update joiner.rb * Update joiner.rb * Update rooms_controller.rb * Update joiner.rb * Update sample.env * Update application_helper.rb * Update rooms_controller.rb * Update joiner.rb * Update bbb_server.rb * Update application_helper.rb Add a check if the URL is valid. * double the limit * move the judgement to controller * Update joiner.rb * Update rooms_controller.rb * Update application_helper.rb * Update rooms_controller.rb * Update application.rb * Update joiner.rb * Update rooms_controller.rb * Update joiner.rb * Update rooms_controller.rb * Update application_helper.rb * Update application.rb * in case parameter not set * change to MAX_AVATAR_SIZE * Notification default value Co-authored-by: Jesus Federico <jesus@123it.ca> Co-authored-by: Ahmad Farhat <ahmad.af.farhat@gmail.com>
This commit is contained in:
		@@ -54,6 +54,7 @@ module BbbServer
 | 
			
		||||
    join_opts = {}
 | 
			
		||||
    join_opts[:userID] = uid if uid
 | 
			
		||||
    join_opts[:join_via_html5] = true
 | 
			
		||||
    join_opts[:avatarURL] = options[:avatarURL] if options[:avatarURL].present?
 | 
			
		||||
    join_opts[:createTime] = room.last_session.to_datetime.strftime("%Q") if room.last_session
 | 
			
		||||
 | 
			
		||||
    bbb_server.join_meeting_url(room.bbb_id, name, password, join_opts)
 | 
			
		||||
 
 | 
			
		||||
@@ -47,6 +47,15 @@ module Joiner
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def valid_avatar?(url)
 | 
			
		||||
    return false if URI.regexp.match(url).nil?
 | 
			
		||||
    uri = URI(url)
 | 
			
		||||
    http = Net::HTTP.new(uri.host, uri.port)
 | 
			
		||||
    http.use_ssl = true if uri.scheme == 'https'
 | 
			
		||||
    response = http.request_head(uri)
 | 
			
		||||
    return response['content-length'].to_i < Rails.configuration.max_avatar_size
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def join_room(opts)
 | 
			
		||||
    @room_settings = JSON.parse(@room[:room_settings])
 | 
			
		||||
 | 
			
		||||
@@ -60,6 +69,7 @@ module Joiner
 | 
			
		||||
      opts[:mute_on_start] = room_setting_with_config("muteOnStart")
 | 
			
		||||
 | 
			
		||||
      if current_user
 | 
			
		||||
        opts[:avatarURL] = current_user.image if current_user.image.present? && valid_avatar?(current_user.image)
 | 
			
		||||
        redirect_to join_path(@room, current_user.name, opts, current_user.uid)
 | 
			
		||||
      else
 | 
			
		||||
        join_name = params[:join_name] || params[@room.invite_path][:join_name]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user