Compare commits
	
		
			3 Commits
		
	
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | cf8f0ab26b | |
|  | 5d37bce969 | |
|  | a8ac54a4d6 | 
							
								
								
									
										4
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										4
									
								
								Gemfile
								
								
								
								
							|  | @ -1,7 +1,7 @@ | ||||||
| source 'http://rubygems.org' | source 'http://rubygems.org' | ||||||
| gem 'rails', "~> 3.2.16" | gem 'rails', "~> 3.2.16" | ||||||
| 
 | 
 | ||||||
| gem "brakeman" | # gem "brakeman" | ||||||
| gem 'mime-types' | gem 'mime-types' | ||||||
| 
 | 
 | ||||||
| gem 'bson_ext' | gem 'bson_ext' | ||||||
|  | @ -109,7 +109,7 @@ group :test, :development do | ||||||
|   gem "spork" |   gem "spork" | ||||||
|   gem "capybara" |   gem "capybara" | ||||||
|   #gem 'rack-mini-profiler' |   #gem 'rack-mini-profiler' | ||||||
|   gem "better_errors", "1.1.0" |   gem "better_errors" | ||||||
|   # gem 'yard' |   # gem 'yard' | ||||||
|   # gem "bluecloth" |   # gem "bluecloth" | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -19,8 +19,8 @@ $(function () { | ||||||
|     'use strict'; |     'use strict'; | ||||||
|     // Initialize the jQuery File Upload widget:
 |     // Initialize the jQuery File Upload widget:
 | ||||||
|     $('#fileupload').fileupload({ |     $('#fileupload').fileupload({ | ||||||
|         maxFileSize: 50000000000, |         maxFileSize: 5000000, | ||||||
|         acceptFileTypes: /(\.|\/)(gif|jpe?g|png|pdf|doc|docx|ppt|pptx|xls|xlsx|csv|txt|zip|rar|tar|gz|odt|tiff|key|page)$/i, |         acceptFileTypes: /(\.|\/)(gif|jpe?g|png|pdf|doc|docx|ppt|pptx|xls|xlsx)$/i, | ||||||
|         dropZone: $('#dropzone'), |         dropZone: $('#dropzone'), | ||||||
|         headers:{ |         headers:{ | ||||||
|             'X-CSRF-Token': $('meta[name="csrf-token"]').attr("content") |             'X-CSRF-Token': $('meta[name="csrf-token"]').attr("content") | ||||||
|  |  | ||||||
|  | @ -28,8 +28,6 @@ CKEDITOR.editorConfig = function( config ) { | ||||||
| 		{ name: 'about' } | 		{ name: 'about' } | ||||||
| 	]; | 	]; | ||||||
| 
 | 
 | ||||||
| 	config.allowedContent = true; |  | ||||||
| 
 |  | ||||||
| 	config.skin = 'moono'; | 	config.skin = 'moono'; | ||||||
| 
 | 
 | ||||||
| 	config.filebrowserBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path(:module_app_id=>ModuleApp.where(:key=>'asset').first.id) %>"; | 	config.filebrowserBrowseUrl = "<%= Rails.application.routes.url_helpers.admin_assets_path(:module_app_id=>ModuleApp.where(:key=>'asset').first.id) %>"; | ||||||
|  | @ -37,10 +35,6 @@ CKEDITOR.editorConfig = function( config ) { | ||||||
| 
 | 
 | ||||||
| 	//Font Config | 	//Font Config | ||||||
| 	config.font_names = 'Arial;Comic Sans MS;Courier New;Georgia;Helvetica;Lucida Sans Unicode;Tahoma;Times New Roman;Trebuchet MS;Verdana;微軟正黑體'; | 	config.font_names = 'Arial;Comic Sans MS;Courier New;Georgia;Helvetica;Lucida Sans Unicode;Tahoma;Times New Roman;Trebuchet MS;Verdana;微軟正黑體'; | ||||||
| 
 |  | ||||||
| 	config.enterMode = CKEDITOR.ENTER_BR; |  | ||||||
| 	config.shiftEnterMode = CKEDITOR.ENTER_BR; |  | ||||||
| 	config.pasteFromWordPromptCleanup = true; |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| CKEDITOR.on('instanceReady',function(){ | CKEDITOR.on('instanceReady',function(){ | ||||||
|  |  | ||||||
|  | @ -32,6 +32,7 @@ function preview() { | ||||||
|             var resize = 500/bannerW |             var resize = 500/bannerW | ||||||
|             bannerW = Math.floor(bannerW*resize); |             bannerW = Math.floor(bannerW*resize); | ||||||
|             bannerH = Math.floor(bannerH*resize); |             bannerH = Math.floor(bannerH*resize); | ||||||
|  |             console.log(bannerW) | ||||||
|         }; |         }; | ||||||
|         if(bannerH > 300) { |         if(bannerH > 300) { | ||||||
|             var resize = 300/bannerH |             var resize = 300/bannerH | ||||||
|  |  | ||||||
|  | @ -7,12 +7,7 @@ $(function() { | ||||||
| 		for ( instance in CKEDITOR.instances ) | 		for ( instance in CKEDITOR.instances ) | ||||||
|           CKEDITOR.instances[instance].updateElement(); |           CKEDITOR.instances[instance].updateElement(); | ||||||
|          |          | ||||||
| 		var formData; | 		var formData = new FormData( $('form.previewable')[0] ); | ||||||
| 		if(typeof(FormData) == "function"){ |  | ||||||
| 			formData = new FormData( $('form.previewable')[0] ); |  | ||||||
| 		}else{ |  | ||||||
| 			formData = $('form.previewable').serialize() |  | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 		$.ajax({ | 		$.ajax({ | ||||||
|       type: "post", |       type: "post", | ||||||
|  |  | ||||||
|  | @ -7,11 +7,19 @@ | ||||||
| 	position: fixed; | 	position: fixed; | ||||||
| 	margin-bottom: 0; | 	margin-bottom: 0; | ||||||
| } | } | ||||||
|  | #orbit-bar *, | ||||||
|  | #orbit-bar *:before, | ||||||
|  | #orbit-bar *:after { | ||||||
|  | 	-webkit-box-sizing: border-box; | ||||||
|  | 	-moz-box-sizing: border-box; | ||||||
|  | 	box-sizing: border-box; | ||||||
|  | } | ||||||
| #orbit-bar .orbitlogo { | #orbit-bar .orbitlogo { | ||||||
| 	width: 20px; | 	width: 50px; | ||||||
| 	height: 20px; | 	height: 40px; | ||||||
|  | 	padding: 0!important; | ||||||
| 	background-size: 70%; | 	background-size: 70%; | ||||||
| 	display: inline-block; | 	display: block; | ||||||
| 	background-position: center; | 	background-position: center; | ||||||
| 	background-repeat: no-repeat; | 	background-repeat: no-repeat; | ||||||
| 	background-image: url(<%= asset_path 'orbit-logo.svg' %>); | 	background-image: url(<%= asset_path 'orbit-logo.svg' %>); | ||||||
|  | @ -19,8 +27,23 @@ | ||||||
| 	/* For Suck IE */ | 	/* For Suck IE */ | ||||||
| 	background-image: url(<%= asset_path 'orbit-logo.png' %>)\9; | 	background-image: url(<%= asset_path 'orbit-logo.png' %>)\9; | ||||||
| } | } | ||||||
|  | #orbit-bar .dropdown-menu li > a { | ||||||
|  | 	padding: 0 20px; | ||||||
|  | 	display: block; | ||||||
|  | 	height: 30px; | ||||||
|  | 	line-height: 30px; | ||||||
|  | } | ||||||
|  | #orbit-bar .dropdown-menu li i { | ||||||
|  | 	float: left; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	margin-right: 5px; | ||||||
|  | 	line-height: 30px; | ||||||
|  | 	height: 100%; | ||||||
|  | } | ||||||
| #orbit-bar.navbar .nav > li > a { | #orbit-bar.navbar .nav > li > a { | ||||||
| 	color: #EEE; | 	color: #EEE; | ||||||
|  | 	padding: 0 15px; | ||||||
|  | 	display: block; | ||||||
| 	text-shadow: 0 -1px 0 #000; | 	text-shadow: 0 -1px 0 #000; | ||||||
| 	border-right: 1px solid #363636; | 	border-right: 1px solid #363636; | ||||||
| 	box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3); | 	box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3); | ||||||
|  | @ -34,6 +57,11 @@ | ||||||
| 	background-color: #0095CF; | 	background-color: #0095CF; | ||||||
| 	text-shadow: 0 -1px 0 #014380; | 	text-shadow: 0 -1px 0 #014380; | ||||||
| } | } | ||||||
|  | #orbit-bar.navbar .nav > li > a > [class^="icon"], | ||||||
|  | #orbit-bar.navbar .nav > li > a > [class*=" icon"] { | ||||||
|  | 	line-height: 40px; | ||||||
|  | 	display: block; | ||||||
|  | } | ||||||
| #orbit-bar.navbar .nav li.dropdown.open > .dropdown-toggle, | #orbit-bar.navbar .nav li.dropdown.open > .dropdown-toggle, | ||||||
| #orbit-bar.navbar .nav li.dropdown.active > .dropdown-toggle, | #orbit-bar.navbar .nav li.dropdown.active > .dropdown-toggle, | ||||||
| #orbit-bar.navbar .nav li.dropdown.open.active > .dropdown-toggle { | #orbit-bar.navbar .nav li.dropdown.open.active > .dropdown-toggle { | ||||||
|  | @ -66,6 +94,10 @@ | ||||||
| 	right: auto; | 	right: auto; | ||||||
| 	bottom: auto; | 	bottom: auto; | ||||||
| } | } | ||||||
|  | #orbit-bar .nav > li { | ||||||
|  | 	display: block; | ||||||
|  | 	line-height: 40px; | ||||||
|  | } | ||||||
| #orbit-bar .nav [class^="icon"], | #orbit-bar .nav [class^="icon"], | ||||||
| #orbit-bar .nav [class*=" icon"] { | #orbit-bar .nav [class*=" icon"] { | ||||||
| 	font-size: 1.5em; | 	font-size: 1.5em; | ||||||
|  | @ -92,24 +124,53 @@ | ||||||
| #orbit-bar .modal .input-prepend { | #orbit-bar .modal .input-prepend { | ||||||
| 	margin-bottom: 15px; | 	margin-bottom: 15px; | ||||||
| } | } | ||||||
|  | #orbit-bar .modal .other-sign-in { | ||||||
|  | 	position: relative; | ||||||
|  | 	text-align: center; | ||||||
|  | 	margin-top: 20px; | ||||||
|  | 	margin-bottom: 30px; | ||||||
|  | 	padding-bottom: 20px; | ||||||
|  | 	border-bottom: 1px solid #EDEDED; | ||||||
|  | } | ||||||
|  | #orbit-bar .modal .other-sign-in .btn { | ||||||
|  | 	padding: 4px 0; | ||||||
|  | 	display: block; | ||||||
|  | 	margin-bottom: 5px; | ||||||
|  | 	width: 100%; | ||||||
|  | } | ||||||
|  | #orbit-bar .modal .other-sign-in p { | ||||||
|  | 	position: absolute; | ||||||
|  | 	width: 30px; | ||||||
|  | 	height: 30px; | ||||||
|  | 	background-color: #FFF; | ||||||
|  | 	padding: 0 10px; | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | 	margin-left: -25px; | ||||||
|  | 	line-height: 30px; | ||||||
|  | 	left: 50%; | ||||||
|  | 	bottom: -15px; | ||||||
|  | 	font-size: 1.3em; | ||||||
|  | 	color: #B1B1B1; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| /*Search*/ | /*Search*/ | ||||||
| #orbit-bar #search { | #orbit-bar #search { | ||||||
| 	margin-bottom: 0; | 	margin-bottom: 0; | ||||||
| 	position: relative; | 	position: relative; | ||||||
| 	padding: 8px 10px 0; | 	padding: 0 10px; | ||||||
| 	border-right: 1px solid #363636; | 	border-right: 1px solid #363636; | ||||||
| 	box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3); | 	box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3); | ||||||
| } | } | ||||||
| #orbit-bar #search form { | #orbit-bar #search form { | ||||||
| 	margin-bottom: 8px; | 	margin: 8px 0; | ||||||
| } | } | ||||||
| #orbit-bar #search input[type="text"] { | #orbit-bar #search input[type="text"] { | ||||||
| 	height: 14px; | 	height: 23px; | ||||||
| 	line-height: 15px; | 	line-height: 15px; | ||||||
| 	font-size: 13px; | 	font-size: 13px; | ||||||
| 	padding-left: 25px; | 	padding-left: 25px; | ||||||
| 	padding-right: 25px; | 	padding-right: 25px; | ||||||
|  | 	display: block; | ||||||
| 	-webkit-border-radius: 12px; | 	-webkit-border-radius: 12px; | ||||||
| 	   -moz-border-radius: 12px; | 	   -moz-border-radius: 12px; | ||||||
| 	     -o-border-radius: 12px; | 	     -o-border-radius: 12px; | ||||||
|  | @ -122,15 +183,17 @@ | ||||||
| #orbit-bar #search .search-clear { | #orbit-bar #search .search-clear { | ||||||
| 	position: absolute; | 	position: absolute; | ||||||
| 	color: #A3A3A3; | 	color: #A3A3A3; | ||||||
| 	top: 14px; | 	top: 16px; | ||||||
| } | } | ||||||
| #orbit-bar #search .icon-search { | #orbit-bar #search .icon-search { | ||||||
| 	left: 20px; | 	left: 15px; | ||||||
| 	top: 12px; | 	top: 12px; | ||||||
| 	font-size: 1.2em; | 	font-size: 1.2em; | ||||||
|  | 	width: 1.25em; | ||||||
|  | 	margin-top: 0; | ||||||
| } | } | ||||||
| #orbit-bar #search .search-clear { | #orbit-bar #search .search-clear { | ||||||
| 	right: 14px; | 	right: 13px; | ||||||
| 	font-size: 1.3em; | 	font-size: 1.3em; | ||||||
| } | } | ||||||
| #orbit-bar #search .search-clear:hover { | #orbit-bar #search .search-clear:hover { | ||||||
|  | @ -143,8 +206,8 @@ | ||||||
| 	display: none; | 	display: none; | ||||||
| 	top: 40px; | 	top: 40px; | ||||||
| 	right: 20px; | 	right: 20px; | ||||||
| 	width: 40%;  | 	width: 40%; | ||||||
| 	background: #FAFAFA;  | 	background: #FAFAFA; | ||||||
| 	position: absolute; | 	position: absolute; | ||||||
| 	box-shadow: 0px 5px 20px #666; | 	box-shadow: 0px 5px 20px #666; | ||||||
| 	color: #666; | 	color: #666; | ||||||
|  | @ -188,7 +251,7 @@ | ||||||
| 
 | 
 | ||||||
| #search_results{ | #search_results{ | ||||||
| 	max-height: 500px; | 	max-height: 500px; | ||||||
| 	overflow-y: auto;  | 	overflow-y: auto; | ||||||
| 	overflow-x: hidden; | 	overflow-x: hidden; | ||||||
| } | } | ||||||
| #search_results img{ | #search_results img{ | ||||||
|  | @ -245,7 +308,7 @@ | ||||||
| #orbit-bar #orbit-user .user-pic { | #orbit-bar #orbit-user .user-pic { | ||||||
| 	width: 40px; | 	width: 40px; | ||||||
| 	height: 40px; | 	height: 40px; | ||||||
| 	margin: -13px 10px -10px -15px; | 	margin: -12px 10px -10px -15px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*Language & flag*/ | /*Language & flag*/ | ||||||
|  | @ -327,4 +390,4 @@ | ||||||
| 		width: 350px; | 		width: 350px; | ||||||
| 		margin-left: -175px; | 		margin-left: -175px; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ class Admin::AdBannersController < OrbitBackendController | ||||||
|   open_for_sub_manager |   open_for_sub_manager | ||||||
| 
 | 
 | ||||||
|   def index |   def index | ||||||
|     @ad_banners = get_sorted_and_filtered("ad_banner") |     @ad_banners = AdBanner.all.page(params[:page]).per(10) | ||||||
|   end |   end | ||||||
|    |    | ||||||
|   def show |   def show | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ class Admin::AdImagesController < Admin::AdBannersController | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def index |   def index | ||||||
|     @ad_images = get_sorted_and_filtered("ad_image") |     @ad_images = AdImage.all.page(params[:page]).per(10) | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def edit |   def edit | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ class Admin::DashboardsController < OrbitBackendController | ||||||
|     check_backend_openness |     check_backend_openness | ||||||
|     @module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'page_context', 'web_link') |     @module_app_contents, @module_app_contents_total = get_module_app_count('bulletin', 'page_context', 'web_link') | ||||||
|     @recent_updated = get_recently_updated('bulletin', 'page_context', 'web_link') |     @recent_updated = get_recently_updated('bulletin', 'page_context', 'web_link') | ||||||
|     @most_visited = get_most_visited('bulletin', 'page_context') |     @most_visited = get_most_visited('bulletin', 'page_context','page') | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def reload_all_content |   def reload_all_content | ||||||
|  | @ -22,7 +22,7 @@ class Admin::DashboardsController < OrbitBackendController | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def reload_most_visited |   def reload_most_visited | ||||||
|     @most_visited = get_most_visited('bulletin', 'page_context') |     @most_visited = get_most_visited('bulletin', 'page_context','page') | ||||||
|     respond_to do |format| |     respond_to do |format| | ||||||
|       format.js { render 'reload', locals: {div_id: 'most_visited'} } |       format.js { render 'reload', locals: {div_id: 'most_visited'} } | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  | @ -321,8 +321,6 @@ class ApplicationController < ActionController::Base | ||||||
|             sorted_objects.flatten! |             sorted_objects.flatten! | ||||||
|             sorted_objects.uniq! |             sorted_objects.uniq! | ||||||
|             objects = get_with_nil(objects, option, sorted_objects) |             objects = get_with_nil(objects, option, sorted_objects) | ||||||
|           elsif option.eql?('size') |  | ||||||
|             objects = objects.order_by([ [:width, params[:direction]], [:height, params[:direction]] ]) |  | ||||||
|           end |           end | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
|  | @ -363,12 +361,7 @@ class ApplicationController < ActionController::Base | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|     if pagination |     if pagination | ||||||
|       filtered_objects = filter_authorized_objects(objects) |       Kaminari.paginate_array(filter_authorized_objects(objects)).page(params[:page]).per(10) | ||||||
|       if filtered_objects.is_a?(Array) |  | ||||||
|         Kaminari.paginate_array(filtered_objects).page(params[:page]).per(10) |  | ||||||
|       else |  | ||||||
|         filter_authorized_objects(objects).page(params[:page]).per(10) |  | ||||||
|       end |  | ||||||
|     else |     else | ||||||
|       filter_authorized_objects(objects) |       filter_authorized_objects(objects) | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  | @ -248,24 +248,15 @@ module ApplicationHelper | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def get_month_traffic |   def get_month_traffic | ||||||
|     site = Site.first |     result = [] | ||||||
|     if site.month_traffic_cache.blank? or (site.month_traffic_cache['updated_at'] < (Time.now-1.day) rescue true) |     (0..30).each do |i| | ||||||
|       site.month_traffic_cache = {} |       visits = Impression.where( created_at: { | ||||||
| 
 |         '$gte' => Time.now.beginning_of_day-i.days,  | ||||||
|       site.month_traffic_cache['result'] = [] |         '$lte' => Time.now.end_of_day-i.days} | ||||||
|       (1..30).each do |i| |         ).count | ||||||
|         visits = Impression.where( created_at: { |       result.push([ Time.now.beginning_of_day-i.days, visits]) | ||||||
|           '$gte' => Time.now.beginning_of_day-i.days,  |  | ||||||
|           '$lte' => Time.now.end_of_day-i.days} |  | ||||||
|           ).count |  | ||||||
|         site.month_traffic_cache['result'].push([ Time.now.beginning_of_day-i.days, visits]) |  | ||||||
|       end |  | ||||||
| 
 |  | ||||||
|       site.month_traffic_cache['updated_at'] = Time.now |  | ||||||
|       site.save |  | ||||||
|     end |     end | ||||||
|      |     [:name=> t(:visitors_count),:data=>result] | ||||||
|     [:name=> t(:visitors_count),:data=>site.month_traffic_cache['result']] |  | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   # def get_today_traffic |   # def get_today_traffic | ||||||
|  |  | ||||||
|  | @ -63,6 +63,7 @@ class MailCronMailer < ActionMailer::Base | ||||||
|         end  |         end  | ||||||
|       end  |       end  | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|       @mail_cron_log = {   |       @mail_cron_log = {   | ||||||
|         :mail_subject => @data.mail_subject, |         :mail_subject => @data.mail_subject, | ||||||
|         :mail_to => group_mail, |         :mail_to => group_mail, | ||||||
|  | @ -73,16 +74,10 @@ class MailCronMailer < ActionMailer::Base | ||||||
| 
 | 
 | ||||||
|       @mail_cron_log = MailCronLog.new(@mail_cron_log)  |       @mail_cron_log = MailCronLog.new(@mail_cron_log)  | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|       @mail_cron_log.save |       @mail_cron_log.save | ||||||
| 
 | 
 | ||||||
|       @mail_to_count = @data.mail_to.split(',') - group_mail.split(',') |       @data.destroy | ||||||
| 
 |  | ||||||
|       if @mail_to_count.count == 0 |  | ||||||
|         @data.destroy |  | ||||||
|       else |  | ||||||
|         @data.mail_to = @mail_to_count.join(',') |  | ||||||
|         @data.save |  | ||||||
|       end |  | ||||||
| 
 | 
 | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -38,7 +38,7 @@ class MailCron | ||||||
| 
 | 
 | ||||||
|       if !email_user_id.blank? |       if !email_user_id.blank? | ||||||
| 
 | 
 | ||||||
|         @user = User.find(email_user_id) rescue nil |         @user = User.find(email_user_id) | ||||||
| 
 | 
 | ||||||
|         @group_mail << @user.email if !@user.blank? |         @group_mail << @user.email if !@user.blank? | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -51,8 +51,6 @@ class Site | ||||||
|   field :store_confirmation, :type => Boolean, :default => false |   field :store_confirmation, :type => Boolean, :default => false | ||||||
|   field :meta_viewport, :type => Boolean, :default => false |   field :meta_viewport, :type => Boolean, :default => false | ||||||
| 
 | 
 | ||||||
|   field :month_traffic_cache |  | ||||||
| 
 |  | ||||||
|   belongs_to :design |   belongs_to :design | ||||||
|   has_many :site_metas, :autosave => true, :dependent => :destroy |   has_many :site_metas, :autosave => true, :dependent => :destroy | ||||||
|   validate :in_use_locales, :minimum_enabled_locales |   validate :in_use_locales, :minimum_enabled_locales | ||||||
|  |  | ||||||
|  | @ -1,32 +1,58 @@ | ||||||
| <div style='position:relative'> | <div> | ||||||
|   <div id='slideshow-<%= @ad_banner.title.dehumanize %>' class="orbit-cycle-slideshow"  data-cycle-timeout="<%= @ad_banner.timeout_millisecond %>" data-cycle-fx="<%= @ad_banner.ad_fx %>" data-cycle-pager=".banner_nav_<%= @ad_banner.title.dehumanize %>" data-cycle-pager-template="<li class='needed'><a href='#'></a></li>" data-cycle-pager-active-class="activeSlide" data-cycle-random='true' style="z-index: 0"> |   <div | ||||||
|  |     id='slideshow-<%= @ad_banner.title.dehumanize %>' | ||||||
|  |     class="orbit-cycle-slideshow" | ||||||
|  |     data-cycle-timeout="<%= @ad_banner.timeout_millisecond %>" | ||||||
|  |     data-cycle-fx="<%= @ad_banner.ad_fx %>" | ||||||
|  | 
 | ||||||
|  |     data-cycle-pager-active-class="activeSlide" | ||||||
|  |     data-cycle-random='true' | ||||||
|  | 
 | ||||||
|  |     data-cycle-slides=".slide-img" | ||||||
|  |     data-overlay=".adBanner-overlay .caption" | ||||||
|  |     data-pager=".<%= @ad_banner.title.dehumanize %> .navigation" | ||||||
|  |     data-cycle-pager-template="<li class='dot'></li>" | ||||||
|  |     style="z-index: 0"> | ||||||
|  | 
 | ||||||
|     <% @ad_banner.ad_images.can_display.each do |ad_image| %> |     <% @ad_banner.ad_images.can_display.each do |ad_image| %> | ||||||
|       <% link = ad_image_link(ad_image) %> |       <div | ||||||
|       <%= image_tag ad_image.file, alt: ad_image.title, title: ad_image.title, width: @ad_banner.width, height: @ad_banner.height, link_open: ad_image.link_open, link_url: link, style: "display:none; #{'cursor:pointer;' if link.present?}" %> |         class="slide-img" | ||||||
|  |         data-cycle-title="<%= ad_image.title %>" | ||||||
|  |         data-cycle-desc="<%= ad_image.context %>" | ||||||
|  |         data-overlay-template="<h2><%= ad_image.title %></h2><%= ad_image.context %>"> | ||||||
|  |         <% link = ad_image_link(ad_image) %> | ||||||
|  |         <%= image_tag ad_image.file, alt: ad_image.title, title: ad_image.title, width: @ad_banner.width, height: @ad_banner.height, link_open: ad_image.link_open, link_url: link, style: "#{'cursor:pointer;' if link.present?}" %> | ||||||
|  |         <%= %> | ||||||
|  |       </div> | ||||||
|     <% end %> |     <% end %> | ||||||
|   </div> |   </div> | ||||||
|   <ul class='clear banner_nav banner_nav_<%= @ad_banner.title.dehumanize %>'></ul> |   <div class="<%= @ad_banner.title.dehumanize %> adBanner-overlay"> | ||||||
|  |     <div class="caption"></div> | ||||||
|  |     <ul class="navigation"></ul> | ||||||
|  |   </div> | ||||||
|  |   <!-- <ul class='clear banner_nav banner_nav_<%#= @ad_banner.title.dehumanize %>'></ul> --> | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|   $(function(){ |   $(function(){ | ||||||
|     if($("#slideshow-<%= @ad_banner.title.dehumanize %> img").length > 1){     |     // if($("#slideshow-<%= @ad_banner.title.dehumanize %> img").length > 1){ | ||||||
|       var a = []; |     //   var a = []; | ||||||
|       <% @ad_banner.ad_images.can_display.each do |image| %> |     //   <% @ad_banner.ad_images.can_display.each do |image| %> | ||||||
|         a.push("<%= image.file.url %>"); |     //     a.push("<%= image.file.url %>"); | ||||||
|       <% end %> |     //   <% end %> | ||||||
|       $.preload(a, 2, function(){ |     //   $.preload(a, 2, function(){ | ||||||
|         $('.orbit-cycle-slideshow').cycle(); |     //     $('.orbit-cycle-slideshow').cycle(); | ||||||
|         var lis = $("ul.banner_nav_<%= @ad_banner.title.dehumanize %> li"); |     //     var lis = $("ul.banner_nav_<%= @ad_banner.title.dehumanize %> li"); | ||||||
|         if( lis.length > a.length ){ |     //     if( lis.length > a.length ){ | ||||||
|           for( i = lis.length - 1; i > a.length - 1; i-- ){ |     //       for( i = lis.length - 1; i > a.length - 1; i-- ){ | ||||||
|             lis[i].remove(); |     //         lis[i].remove(); | ||||||
|           } |     //       } | ||||||
|         } |     //     } | ||||||
|       }); |     //   }); | ||||||
|     } |     // } | ||||||
|     else{ |     // else{ | ||||||
|       $("#slideshow-<%= @ad_banner.title.dehumanize %> img").show() |     //   $("#slideshow-<%= @ad_banner.title.dehumanize %> img").show() | ||||||
|     } |     // } | ||||||
|  |     $('.orbit-cycle-slideshow').cycle(); | ||||||
|   }); |   }); | ||||||
| </script> | </script> | ||||||
|  | @ -56,7 +56,6 @@ module Orbit | ||||||
|     # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] |     # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] | ||||||
|     # config.i18n.default_locale = :de |     # config.i18n.default_locale = :de | ||||||
|     config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'modules', '*.{rb,yml}').to_s] |     config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'modules', '*.{rb,yml}').to_s] | ||||||
|     config.i18n.enforce_available_locales = false |  | ||||||
|     config.i18n.default_locale = :zh_tw |     config.i18n.default_locale = :zh_tw | ||||||
| 
 | 
 | ||||||
|     # JavaScript files you want as :defaults (application.js is always included). |     # JavaScript files you want as :defaults (application.js is always included). | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| defaults: &defaults | defaults: &defaults | ||||||
|   host: localhost |   host: 127.0.0.1 | ||||||
|   # slaves: |   # slaves: | ||||||
|   #   - host: slave1.local |   #   - host: slave1.local | ||||||
|   port: 27017 |   port: 27017 | ||||||
|  | @ -8,13 +8,13 @@ defaults: &defaults | ||||||
| 
 | 
 | ||||||
| development: | development: | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: orbit_site_new |   database: thu_orbit | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| test: | test: | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: orbit_site_new |   database: thu_orbit | ||||||
| 
 | 
 | ||||||
| # set these environment variables on your prod server | # set these environment variables on your prod server | ||||||
| production: | production: | ||||||
|  | @ -24,4 +24,4 @@ production: | ||||||
|   # password: <%= ENV['MONGOID_PASSWORD'] %> |   # password: <%= ENV['MONGOID_PASSWORD'] %> | ||||||
|   # database: <%= ENV['MONGOID_DATABASE'] %> |   # database: <%= ENV['MONGOID_DATABASE'] %> | ||||||
|   <<: *defaults |   <<: *defaults | ||||||
|   database: orbit_site_new |   database: thu_orbit | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| # encoding: utf-8  | # encoding: utf-8  | ||||||
| require 'fileutils' | require 'fileutils' | ||||||
| require 'shell' | # require 'shell' | ||||||
| require 'open-uri' | require 'open-uri' | ||||||
| require 'net/http/post/multipart' | require 'net/http/post/multipart' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue