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 :site_title_1, :type => Hash, :default=>{:zh_tw=>"主頁",:en=>"home_page"}
|
||||||
field :orbitbar_language_login_btn_mobile_configuration , type: String, :default => ""
|
field :orbitbar_language_login_btn_mobile_configuration , type: String, :default => ""
|
||||||
field :is_hidden_orbit_bar , type: Boolean, :default => false
|
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_color , type: String, :default => ""
|
||||||
field :orbit_bar_background_hover_color
|
field :orbit_bar_background_hover_color
|
||||||
field :orbit_bar_text_color , type: String, :default => "#ffffff"
|
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(""))}
|
# File.open("test.html","w+"){|f| f.write(e.backtrace.join(""))}
|
||||||
# puts "cache header failed"
|
# puts "cache header failed"
|
||||||
# end
|
# 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
|
end
|
||||||
after_save do
|
after_save do
|
||||||
File.open("config/member_extra_db.txt","w+"){|f| f.write(self.member_extra_db)}
|
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
|
end
|
||||||
after_initialize do |record|
|
after_initialize do |record|
|
||||||
if !record.new_record? && !@skip_callback
|
if !record.new_record? && !@skip_callback
|
||||||
|
@ -155,12 +183,33 @@ class Site
|
||||||
save_flag = true
|
save_flag = true
|
||||||
end
|
end
|
||||||
if save_flag
|
if save_flag
|
||||||
|
@changed = true
|
||||||
@skip_callback = true
|
@skip_callback = true
|
||||||
record.save
|
record.save
|
||||||
@skip_callback = false
|
@skip_callback = false
|
||||||
end
|
end
|
||||||
end
|
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
|
def default_locale
|
||||||
tmp = super()
|
tmp = super()
|
||||||
tmp.blank? ? "zh_tw" : tmp
|
tmp.blank? ? "zh_tw" : tmp
|
||||||
|
|
|
@ -87,7 +87,20 @@ begin
|
||||||
elsif h[0] == Float
|
elsif h[0] == Float
|
||||||
h[1].write_float(v)
|
h[1].write_float(v)
|
||||||
else
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -111,7 +124,13 @@ begin
|
||||||
[Float,tmp]
|
[Float,tmp]
|
||||||
else
|
else
|
||||||
tmp_obj = Marshal.dump(v)
|
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)
|
tmp.write_string(tmp_obj)
|
||||||
[Object,tmp]
|
[Object,tmp]
|
||||||
end
|
end
|
||||||
|
@ -165,6 +184,9 @@ begin
|
||||||
@shared_hash[gem_name] = ProcesssShareWraper.new(tmp)
|
@shared_hash[gem_name] = ProcesssShareWraper.new(tmp)
|
||||||
end
|
end
|
||||||
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_hash] = @shared_hash
|
||||||
Thread.current[:shared_mutex] = @mutex
|
Thread.current[:shared_mutex] = @mutex
|
||||||
rescue LoadError => e
|
rescue LoadError => e
|
||||||
|
|
Loading…
Reference in New Issue