Update temp file.
This commit is contained in:
parent
0a588a0c52
commit
7023990086
|
@ -104,6 +104,12 @@ class Site
|
|||
field :site_title_1, :type => Hash, :default=>{:zh_tw=>"主頁",:en=>"home_page"}
|
||||
field :orbitbar_language_login_btn_mobile_configuration , type: String, :default => ""
|
||||
field :is_hidden_orbit_bar , type: Boolean, :default => false
|
||||
field :orbit_bar_not_display , type: Boolean, :default => false
|
||||
field :hide_login_button , type: Boolean, :default => false
|
||||
field :privileged_ip_login_only , type: Boolean, :default => false
|
||||
field :privileged_ip, type: Array, default: [] #ex: [['192.168.1.1', '192.168.1.254']]
|
||||
field :privileged_ip_range, type: Array, default: [] #ex: [[3232235777, 3232236030]] # IPAddr.new("192.168.1.1").to_i
|
||||
field :privileged_page_count, type: Integer, default: 0
|
||||
field :orbit_bar_background_color , type: String, :default => ""
|
||||
field :orbit_bar_background_hover_color
|
||||
field :orbit_bar_text_color , type: String, :default => "#ffffff"
|
||||
|
@ -138,10 +144,32 @@ class Site
|
|||
# File.open("test.html","w+"){|f| f.write(e.backtrace.join(""))}
|
||||
# puts "cache header failed"
|
||||
# end
|
||||
@changed = self.changed?
|
||||
if self.privileged_ip_changed?
|
||||
self.privileged_ip_range = self.privileged_ip.map do |a, b|
|
||||
if a.present? && b.blank?
|
||||
b = a.sub(/[\d]+$/,'254')
|
||||
elsif a.blank? && b.present?
|
||||
a = b.sub(/[\d]+$/,'1')
|
||||
end
|
||||
if a.include?('x')
|
||||
b = a.gsub('x','254')
|
||||
a = a.gsub('x','1')
|
||||
end
|
||||
if a.blank?
|
||||
nil
|
||||
else
|
||||
a = IPAddr.new(a).to_i rescue 0
|
||||
b = IPAddr.new(b).to_i rescue 0
|
||||
[a, b]
|
||||
end
|
||||
end.compact
|
||||
end
|
||||
end
|
||||
after_save do
|
||||
File.open("config/member_extra_db.txt","w+"){|f| f.write(self.member_extra_db)}
|
||||
OrbitHelper::SharedHash['current_site']['site'] = self if self.changed? && OrbitHelper::SharedHash['current_site']
|
||||
OrbitHelper::SharedHash['current_site']['site'] = self if @changed && OrbitHelper::SharedHash['current_site']
|
||||
OrbitHelper::SharedHash['privileged_page_count'].value = self.privileged_page_count
|
||||
end
|
||||
after_initialize do |record|
|
||||
if !record.new_record? && !@skip_callback
|
||||
|
@ -155,12 +183,33 @@ class Site
|
|||
save_flag = true
|
||||
end
|
||||
if save_flag
|
||||
@changed = true
|
||||
@skip_callback = true
|
||||
record.save
|
||||
@skip_callback = false
|
||||
end
|
||||
end
|
||||
end
|
||||
def need_process_ip
|
||||
OrbitHelper::SharedHash['privileged_page_count'].value != 0
|
||||
end
|
||||
def has_privileged_page
|
||||
OrbitHelper::SharedHash['privileged_page_count'].value != 0 && self.privileged_ip_range.present?
|
||||
end
|
||||
def check_ip_is_privileged?(ip, user=(user_nil=true; nil))
|
||||
flag = (self.privileged_ip_range.blank?)
|
||||
user = OrbitHelper.current_user if user_nil
|
||||
if user && user.user_name == 'rulingcom'
|
||||
flag = true
|
||||
else
|
||||
ip_int = IPAddr.new(ip).to_i rescue 0
|
||||
self.privileged_ip_range.each do |r|
|
||||
flag = Range.new(r[0], r[1]).include?(ip_int)
|
||||
break if flag
|
||||
end
|
||||
end
|
||||
return flag
|
||||
end
|
||||
def default_locale
|
||||
tmp = super()
|
||||
tmp.blank? ? "zh_tw" : tmp
|
||||
|
|
|
@ -87,7 +87,20 @@ begin
|
|||
elsif h[0] == Float
|
||||
h[1].write_float(v)
|
||||
else
|
||||
h[1].write_object(v)
|
||||
tmp_obj = Marshal.dump(v)
|
||||
if tmp_obj.bytesize > h[1].size
|
||||
puts "#{v.class}: out of memory"
|
||||
puts v
|
||||
puts "-------------------------------"
|
||||
else
|
||||
begin
|
||||
h[1].write_string(tmp_obj)
|
||||
rescue => e
|
||||
puts "#{v.class}: #{e.to_s}"
|
||||
puts v
|
||||
puts "-------------------------------"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -111,7 +124,13 @@ begin
|
|||
[Float,tmp]
|
||||
else
|
||||
tmp_obj = Marshal.dump(v)
|
||||
tmp = ProcessShared::SharedMemory.new(:uint8, tmp_obj.bytesize*2)
|
||||
size = tmp_obj.bytesize*2
|
||||
if v.respond_to?(:min_memory)
|
||||
size = [size, v.min_memory].max
|
||||
else
|
||||
size = [size, 1000].max
|
||||
end
|
||||
tmp = ProcessShared::SharedMemory.new(:uint8, size)
|
||||
tmp.write_string(tmp_obj)
|
||||
[Object,tmp]
|
||||
end
|
||||
|
@ -165,6 +184,9 @@ begin
|
|||
@shared_hash[gem_name] = ProcesssShareWraper.new(tmp)
|
||||
end
|
||||
end
|
||||
s = Site.first
|
||||
@shared_hash['current_site'] = ProcesssShareWraper.new({"site"=> s})
|
||||
@shared_hash['privileged_page_count'] = ProcesssShareWraper.new((s.privileged_page_count rescue 0))
|
||||
Thread.current[:shared_hash] = @shared_hash
|
||||
Thread.current[:shared_mutex] = @mutex
|
||||
rescue LoadError => e
|
||||
|
|
Loading…
Reference in New Issue