  def update_by_ajax
    Log.add_info(request, params.inspect)

    cat_h = {:desktop => User::AUTH_DESKTOP, :user => User::AUTH_USER, :log => User::AUTH_LOG}

    yaml = ApplicationHelper.get_config_yaml

    cat_h.keys.each do |cat|

      next if params[cat].nil? or params[cat].empty?

      unless @login_user.admin?(cat_h[cat])
        render(:text => t('msg.need_to_be_admin'))
        return
      end

      yaml[cat] ||= {}

      params[cat].each do |key, val|
        yaml[cat][key] = val
      end
    end

    ApplicationHelper.save_config_yaml(yaml)

    render(:text => '')
  end
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.