diff --git a/app/helpers/event_news_helper.rb b/app/helpers/event_news_helper.rb
index a0dd716..b98abe5 100644
--- a/app/helpers/event_news_helper.rb
+++ b/app/helpers/event_news_helper.rb
@@ -334,9 +334,9 @@ module EventNewsHelper
if @target_action == "index"
filename = File.basename(overridehtml.nil? ? params[:layout_type] : overridehtml)
f = File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', 'event_news_mod', "#{filename}.html.erb")
- if !File.exists?f
+ if !File.exist?(f)
f = File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', 'event_news_mod', "index.html.erb")
- if !File.exists?f
+ if !File.exist?(f)
return "
Maybe the administrator has changed the theme, please select the index page design again from the page settings.
".html_safe
end
end
@@ -376,7 +376,7 @@ module EventNewsHelper
else
filename = overridehtml.nil? ? @target_action : overridehtml
f = File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', 'event_news_mod', "#{filename}.html.erb")
- if File.exists?f
+ if File.exist?(f)
file = File.open(f)
doc = Nokogiri::HTML(file, nil, "UTF-8")
file.close
@@ -478,7 +478,7 @@ module EventNewsHelper
layout_types = []
@key = Site.first.template
f = File.join("#{Rails.root}/app/templates/#{@key}/modules/#{module_app}/info.json")
- if File.exists?f
+ if File.exist?(f)
info = File.read(f)
hash = JSON.parse(info) rescue {}
frontends = hash["frontend"] || []
diff --git a/lib/event_news_mod/engine.rb b/lib/event_news_mod/engine.rb
index c45d3b6..751acd8 100644
--- a/lib/event_news_mod/engine.rb
+++ b/lib/event_news_mod/engine.rb
@@ -1,196 +1,198 @@
-require "yaml"
-module EventNewsMod
- class Engine < ::Rails::Engine
- initializer "event_news_mod" do
- begin
- translate_data = Dir["#{EventNewsMod::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))}
- data = {}
- key1 = {}
- key2 = {}
- key3 = {}
- key4 = {}
- key5 = {}
- key1_attr = []
- key2_attr = []
- key3_attr = []
- key4_attr = []
- data_item = {}
- key_item1 = {}
- key_item2 = {}
- key_item3 = {}
- value_item1 = {}
- value_item2 = {}
- value_item3 = {}
- value2_item1 = {}
- value2_item2 = {}
- key1_options = ['small_size','medium_size','orignal_size']
- key2_options = ['not_enable_tabs','enable_tabs_with_categories_include_all','enable_tabs_with_categories']
- key3_options = ['default','upper_left','lower_left','upper_right','lower_right']
- key4_options = ['the_same_as_data_count','display_all_in_other_tabs']
- #After fix I18n.load_path, translation can work there
- key5_attr = ['no_','yes_'].map{|v| I18n.available_locales.map{|k| I18n.with_locale(k){[k,I18n.t(v)]}}.to_h}
- key1_options.each_with_index do |k,i|
- key1_attr[i] = {}
- end
- key2_options.each_with_index do |k,i|
- key2_attr[i] = {}
- end
- key3_options.each_with_index do |k,i|
- key3_attr[i] = {}
- end
- key4_options.each_with_index do |k,i|
- key4_attr[i] = {}
- end
- translate_data.each do |t_data|
- v = t_data.values
- k = t_data.keys[0]
- key1[k] = v[0]['event_news']['picture_showing_size']
- key2[k] = v[0]['event_news']['tabs_options']
- key3[k] = v[0]['event_news']['read_more_position_options']
- key4[k] = v[0]['event_news']['all_tabs_setting']
- key5[k] = v[0]['event_news']['show_today_data_first']
- key1_options.each_with_index do |kk,i|
- key1_attr[i][k] = v[0]['event_news'][kk]
- end
- key2_options.each_with_index do |kk,i|
- key2_attr[i][k] = v[0]['event_news'][kk]
- end
- key3_options.each_with_index do |kk,i|
- key3_attr[i][k] = v[0]['event_news'][kk]
- end
- key4_options.each_with_index do |kk,i|
- key4_attr[i][k] = v[0]['event_news'][kk]
- end
- key_item1[k] = v[0]['event_news']['showing_back_and_next']
- key_item2[k] = v[0]['event_news']['enable_search']
- key_item3[k] = v[0]['event_news']['ad_banner_location']
- value_item1[k] = v[0]['event_news']['not_show']
- value_item2[k] = v[0]['event_news']['show_bottom']
- value_item3[k] = v[0]['event_news']['show_top']
- value2_item1[k] = v[0]['event_news']['no']
- value2_item2[k] = v[0]['event_news']['yes']
- end
- data[key1] = key1_attr
- data[key2] = key2_attr
- data[key3] = key3_attr
- data[key4] = key4_attr
- data[key5] = key5_attr
- data_item[key_item1] = [value_item1,value_item2,value_item3]
- data_item[key_item2] = [value2_item1,value2_item2]
- data_item[key_item3] = [value_item2,value_item3]
- if ENV['worker_num']=='0' && File.basename($0) != 'rake' && !Rails.const_defined?('Console')
- require File.expand_path('../../../app/models/event_news_cache', __FILE__)
- if defined?(EventNewsCache)
- EventNewsCache.destroy_all
- end
- require File.expand_path('../../../app/models/event_news_custom_title', __FILE__)
- if defined? EventNewsCustomTitle
- EventNewsCustomTitle.get_map
- end
- end
- rescue => e
- puts ['error in event_news',e,e.backtrace]
- end
- OrbitApp.registration "event_news_mod", :type => "ModuleApp" do
- db = ::Mongoid::Sessions.default
- collection = db[:module_apps]
- update_results = collection.update_many({key: 'event_news'},'$set'=>{key: 'event_news_mod', title: 'event_news_mod'})
- if update_results.n != 0
- puts "Updating event_news to event_news_mod!"
- collection = db[:pages]
- collection.update_many({:module=> 'event_news'},'$set'=>{:module=> 'event_news_mod'})
- collection = db[:sub_parts]
- collection.update_many({:module=> 'event_news'},'$set'=>{:module=> 'event_news_mod'})
- template_path = Rails.root.to_s + '/app/templates'
- all_template = Dir.glob(template_path+'/*/')
- all_template.each do |folder|
- Bundler.with_clean_env{system ("mkdir -p #{folder}modules/event_news_mod; cp -rf #{folder}modules/event_news/* #{folder}modules/event_news_mod/. && rm -rf #{folder}modules/event_news_mod/event_news")}
- end
- end
- module_label "event_news.event_news"
- base_url File.expand_path File.dirname(__FILE__)
- widget_methods ["widget","random_event_news_widget", "tag_cloud"]
- widget_settings [{"data_count"=>30}]
- taggable "EventNews"
- categorizable
- authorizable
- frontend_enabled
- feeds_url "/xhr/event_news/feeds"
- data_count 1..30
- begin
- show_options data
- show_option_items data_item
- rescue => e
- puts ['there_was_no_show_option_method',e]
- end
- if File.basename($0) != 'rake'
- begin
- avoid_page_cache EventNewsCache
- avoid_page_cache EventNewsFeedCache
- avoid_page_cache EventNewsFeed
- rescue => e
- puts ["avoid_page_cache", e.to_s]
- end
- end
- side_bar do
- head_label_i18n 'event_news.event_news', icon_class: "icons-megaphone"
- available_for "users"
- active_for_controllers (['admin/event_news'])
- head_link_path "admin_event_news_index_path"
-
- context_link 'event_news.all_articles',
- :link_path=>"admin_event_news_index_path" ,
- :priority=>1,
- :active_for_action=>{'admin/event_news'=>'index'},
- :available_for => 'users'
- context_link 'new_',
- :link_path=>"new_admin_event_news_path" ,
- :priority=>2,
- :active_for_action=>{'admin/event_news'=>'new'},
- :available_for => 'sub_managers'
- context_link 'categories',
- :link_path=>"admin_module_app_categories_path" ,
- :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news_mod').id}",
- :priority=>3,
- :active_for_action=>{'admin/event_news'=>'categories'},
- :active_for_category => 'EventNewsModule',
- :available_for => 'managers'
- context_link 'tags',
- :link_path=>"admin_module_app_tags_path" ,
- :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news_mod').id}",
- :priority=>4,
- :active_for_action=>{'admin/event_news'=>'tags'},
- :active_for_tag => 'EventNewsModule',
- :available_for => 'managers'
- context_link 'event_news.custom_fields_title',
- :link_path=>"custom_fields_title_admin_event_news_index_path" ,
- :priority=>5,
- :active_for_action=>{'admin/event_news'=>'custom_fields_title'},
- :available_for => 'managers'
-
- context_link 'event_news.feed_list',
- :link_path=>"admin_event_news_feed_path" ,
- :priority=>6,
- :active_for_action=>{'admin/event_news'=>'feed'},
- :available_for => 'managers'
- context_link 'event_news.import',
- :link_path=>"admin_event_news_import_path" ,
- :priority=>7,
- :active_for_action=>{'admin/event_news'=>'import'},
- :available_for => 'managers'
- context_link 'event_news.settings',
- :link_path=>"admin_event_news_settings_path" ,
- :priority=>8,
- :active_for_action=>{'admin/event_news'=>'settings'},
- :available_for => 'managers'
- end
-
- end
- # temp = YAML.load_file(File.join(Rails.root,"config","mongoid.yml"))
- # dbsettings = temp["production"]["sessions"]["default"]
- # s = Moped::Session.new(dbsettings["hosts"])
- # s.use dbsettings["database"]
- # s[:bulletins].indexes.create({expirable_created_at: 1},{ expireAfterSeconds: 180 })
- end
- end
+module EventNewsMod
+ class Engine < ::Rails::Engine
+ initializer "event_news_mod" do
+ Rails.application.config.to_prepare do
+ require "yaml"
+ begin
+ translate_data = Dir["#{EventNewsMod::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))}
+ data = {}
+ key1 = {}
+ key2 = {}
+ key3 = {}
+ key4 = {}
+ key5 = {}
+ key1_attr = []
+ key2_attr = []
+ key3_attr = []
+ key4_attr = []
+ data_item = {}
+ key_item1 = {}
+ key_item2 = {}
+ key_item3 = {}
+ value_item1 = {}
+ value_item2 = {}
+ value_item3 = {}
+ value2_item1 = {}
+ value2_item2 = {}
+ key1_options = ['small_size','medium_size','orignal_size']
+ key2_options = ['not_enable_tabs','enable_tabs_with_categories_include_all','enable_tabs_with_categories']
+ key3_options = ['default','upper_left','lower_left','upper_right','lower_right']
+ key4_options = ['the_same_as_data_count','display_all_in_other_tabs']
+ #After fix I18n.load_path, translation can work there
+ key5_attr = ['no_','yes_'].map{|v| I18n.available_locales.map{|k| I18n.with_locale(k){[k,I18n.t(v)]}}.to_h}
+ key1_options.each_with_index do |k,i|
+ key1_attr[i] = {}
+ end
+ key2_options.each_with_index do |k,i|
+ key2_attr[i] = {}
+ end
+ key3_options.each_with_index do |k,i|
+ key3_attr[i] = {}
+ end
+ key4_options.each_with_index do |k,i|
+ key4_attr[i] = {}
+ end
+ translate_data.each do |t_data|
+ v = t_data.values
+ k = t_data.keys[0]
+ key1[k] = v[0]['event_news']['picture_showing_size']
+ key2[k] = v[0]['event_news']['tabs_options']
+ key3[k] = v[0]['event_news']['read_more_position_options']
+ key4[k] = v[0]['event_news']['all_tabs_setting']
+ key5[k] = v[0]['event_news']['show_today_data_first']
+ key1_options.each_with_index do |kk,i|
+ key1_attr[i][k] = v[0]['event_news'][kk]
+ end
+ key2_options.each_with_index do |kk,i|
+ key2_attr[i][k] = v[0]['event_news'][kk]
+ end
+ key3_options.each_with_index do |kk,i|
+ key3_attr[i][k] = v[0]['event_news'][kk]
+ end
+ key4_options.each_with_index do |kk,i|
+ key4_attr[i][k] = v[0]['event_news'][kk]
+ end
+ key_item1[k] = v[0]['event_news']['showing_back_and_next']
+ key_item2[k] = v[0]['event_news']['enable_search']
+ key_item3[k] = v[0]['event_news']['ad_banner_location']
+ value_item1[k] = v[0]['event_news']['not_show']
+ value_item2[k] = v[0]['event_news']['show_bottom']
+ value_item3[k] = v[0]['event_news']['show_top']
+ value2_item1[k] = v[0]['event_news']['no']
+ value2_item2[k] = v[0]['event_news']['yes']
+ end
+ data[key1] = key1_attr
+ data[key2] = key2_attr
+ data[key3] = key3_attr
+ data[key4] = key4_attr
+ data[key5] = key5_attr
+ data_item[key_item1] = [value_item1,value_item2,value_item3]
+ data_item[key_item2] = [value2_item1,value2_item2]
+ data_item[key_item3] = [value_item2,value_item3]
+ if ENV['worker_num']=='0' && File.basename($0) != 'rake' && !Rails.const_defined?('Console')
+ require File.expand_path('../../../app/models/event_news_cache', __FILE__)
+ if defined?(EventNewsCache)
+ EventNewsCache.destroy_all
+ end
+ require File.expand_path('../../../app/models/event_news_custom_title', __FILE__)
+ if defined? EventNewsCustomTitle
+ EventNewsCustomTitle.get_map
+ end
+ end
+ rescue => e
+ puts ['error in event_news',e,e.backtrace]
+ end
+ OrbitApp.registration "event_news_mod", :type => "ModuleApp" do
+ db = ::Mongoid::Sessions.default
+ collection = db[:module_apps]
+ update_results = collection.update_many({key: 'event_news'},'$set'=>{key: 'event_news_mod', title: 'event_news_mod'})
+ if update_results.n != 0
+ puts "Updating event_news to event_news_mod!"
+ collection = db[:pages]
+ collection.update_many({:module=> 'event_news'},'$set'=>{:module=> 'event_news_mod'})
+ collection = db[:sub_parts]
+ collection.update_many({:module=> 'event_news'},'$set'=>{:module=> 'event_news_mod'})
+ template_path = Rails.root.to_s + '/app/templates'
+ all_template = Dir.glob(template_path+'/*/')
+ all_template.each do |folder|
+ Bundler.with_clean_env{system ("mkdir -p #{folder}modules/event_news_mod; cp -rf #{folder}modules/event_news/* #{folder}modules/event_news_mod/. && rm -rf #{folder}modules/event_news_mod/event_news")}
+ end
+ end
+ module_label "event_news.event_news"
+ base_url File.expand_path File.dirname(__FILE__)
+ widget_methods ["widget","random_event_news_widget", "tag_cloud"]
+ widget_settings [{"data_count"=>30}]
+ taggable "EventNews"
+ categorizable
+ authorizable
+ frontend_enabled
+ feeds_url "/xhr/event_news/feeds"
+ data_count 1..30
+ begin
+ show_options data
+ show_option_items data_item
+ rescue => e
+ puts ['there_was_no_show_option_method',e]
+ end
+ if File.basename($0) != 'rake'
+ begin
+ avoid_page_cache EventNewsCache
+ avoid_page_cache EventNewsFeedCache
+ avoid_page_cache EventNewsFeed
+ rescue => e
+ puts ["avoid_page_cache", e.to_s]
+ end
+ end
+ side_bar do
+ head_label_i18n 'event_news.event_news', icon_class: "icons-megaphone"
+ available_for "users"
+ active_for_controllers (['admin/event_news'])
+ head_link_path "admin_event_news_index_path"
+
+ context_link 'event_news.all_articles',
+ :link_path=>"admin_event_news_index_path" ,
+ :priority=>1,
+ :active_for_action=>{'admin/event_news'=>'index'},
+ :available_for => 'users'
+ context_link 'new_',
+ :link_path=>"new_admin_event_news_path" ,
+ :priority=>2,
+ :active_for_action=>{'admin/event_news'=>'new'},
+ :available_for => 'sub_managers'
+ context_link 'categories',
+ :link_path=>"admin_module_app_categories_path" ,
+ :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news_mod').id}",
+ :priority=>3,
+ :active_for_action=>{'admin/event_news'=>'categories'},
+ :active_for_category => 'EventNewsModule',
+ :available_for => 'managers'
+ context_link 'tags',
+ :link_path=>"admin_module_app_tags_path" ,
+ :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news_mod').id}",
+ :priority=>4,
+ :active_for_action=>{'admin/event_news'=>'tags'},
+ :active_for_tag => 'EventNewsModule',
+ :available_for => 'managers'
+ context_link 'event_news.custom_fields_title',
+ :link_path=>"custom_fields_title_admin_event_news_index_path" ,
+ :priority=>5,
+ :active_for_action=>{'admin/event_news'=>'custom_fields_title'},
+ :available_for => 'managers'
+
+ context_link 'event_news.feed_list',
+ :link_path=>"admin_event_news_feed_path" ,
+ :priority=>6,
+ :active_for_action=>{'admin/event_news'=>'feed'},
+ :available_for => 'managers'
+ context_link 'event_news.import',
+ :link_path=>"admin_event_news_import_path" ,
+ :priority=>7,
+ :active_for_action=>{'admin/event_news'=>'import'},
+ :available_for => 'managers'
+ context_link 'event_news.settings',
+ :link_path=>"admin_event_news_settings_path" ,
+ :priority=>8,
+ :active_for_action=>{'admin/event_news'=>'settings'},
+ :available_for => 'managers'
+ end
+
+ end
+ # temp = YAML.load_file(File.join(Rails.root,"config","mongoid.yml"))
+ # dbsettings = temp["production"]["sessions"]["default"]
+ # s = Moped::Session.new(dbsettings["hosts"])
+ # s.use dbsettings["database"]
+ # s[:bulletins].indexes.create({expirable_created_at: 1},{ expireAfterSeconds: 180 })
+ end
+ end
+ end
end
\ No newline at end of file