From 921de13cc04bdc0304e077e3f41560ab8e5228be Mon Sep 17 00:00:00 2001 From: Wojciech Todryk Date: Sat, 25 Jun 2011 18:19:07 +0200 Subject: [PATCH] themes_for_rails integrated with original theme --- Gemfile | 2 +- Gemfile.lock | 6 +- Rakefile | 2 +- app/controllers/application_controller.rb | 5 + app/controllers/contact_groups_controller.rb | 20 +- app/controllers/contacts_controller.rb | 145 ++++++------ app/controllers/folders_controller.rb | 2 + app/controllers/login_controller.rb | 2 + app/controllers/webmail_controller.rb | 2 + app/helpers/application_helper.rb | 22 +- ...contents_moved_to_original_theme_directory | 0 config.ru | 2 +- config/application.rb | 2 +- config/default_site.rb | 9 +- config/environment.rb | 2 +- config/environments/development.rb | 2 +- config/environments/production.rb | 2 +- config/environments/test.rb | 2 +- config/initializers/secret_token.rb | 2 +- config/initializers/session_store.rb | 2 +- config/routes.rb | 4 +- public/javascripts/.gitkeep | 0 public/javascripts/application.js | 0 public/javascripts/controls.js | 0 public/javascripts/dragdrop.js | 0 public/javascripts/effects.js | 0 public/javascripts/global.js | 1 - public/javascripts/prototype.js | 0 public/javascripts/rails.js | 0 themes/empty/images/.gitkeep | 0 themes/empty/javascripts/.gitkeep | 0 themes/empty/stylesheets/.gitkeep | 0 themes/empty/views/layouts/.gitkeep | 0 .../empty}/views/layouts/chooser.html.erb | 0 .../empty}/views/layouts/login.html.erb | 0 .../empty/views/layouts/xapplication.html.erb | 0 themes/original/images/.gitkeep | 0 .../original}/images/attachment.png | Bin {public => themes/original}/images/d6deec.gif | Bin .../original}/images/deselect.png | Bin .../original}/images/list_closed.gif | Bin .../original}/images/list_opened.gif | Bin themes/original/images/logo.png | Bin 0 -> 13132 bytes .../original}/images/noprogress.gif | Bin {public => themes/original}/images/rails.png | Bin {public => themes/original}/images/select.png | Bin {public => themes/original}/images/white.gif | Bin {public => themes/original}/images/white.png | Bin themes/original/javascripts/.gitkeep | 0 .../original}/javascripts/contact_choose.js | 0 .../original}/javascripts/effects2.js | 0 themes/original/javascripts/global.js | 216 ++++++++++++++++++ .../original}/javascripts/global_src.js | 38 +-- .../original}/javascripts/htmlstyle.js | 0 .../original}/javascripts/jstrim.pl | 0 .../original}/javascripts/prototype_src.js | 0 .../original}/javascripts/scriptaculous.js | 0 .../original}/javascripts/slider.js | 0 .../original}/javascripts/webmail.js | 0 themes/original/stylesheets/.gitkeep | 0 .../original}/stylesheets/admin.css | 136 +++++------ .../original}/stylesheets/mailr.css | 8 +- .../original}/stylesheets/tabs.css | 8 +- .../stylesheets/webmail/icon-folder-open.gif | Bin .../original}/stylesheets/webmail/webmail.css | 0 .../views/contact_groups/edit.html.erb | 0 .../views/contact_groups/index.html.erb | 0 .../views/contacts/add_multiple.html.erb | 0 .../original}/views/contacts/choose.html.erb | 0 .../views/contacts/import_preview.html.erb | 0 .../original}/views/contacts/index.html.erb | 0 .../original}/views/contacts/new.html.erb | 0 .../original}/views/folders/index.html.erb | 0 themes/original/views/layouts/.gitkeep | 0 .../original/views/layouts/chooser.html.erb | 19 ++ themes/original/views/layouts/login.html.erb | 15 ++ themes/original/views/layouts/public.html.erb | 31 +++ .../original}/views/login/index.rhtml | 0 .../original}/views/shared/_folders.html.erb | 0 .../views/webmail/_contacts.html.erb | 0 .../original}/views/webmail/_expr.html.erb | 0 .../original}/views/webmail/_filter.html.erb | 0 .../views/webmail/_message_row.html.erb | 2 +- .../original}/views/webmail/_search.html.erb | 6 +- .../original}/views/webmail/compose.html.erb | 0 .../views/webmail/error_connection.html.erb | 0 .../original}/views/webmail/filter.html.erb | 0 .../original}/views/webmail/filters.html.erb | 0 .../original}/views/webmail/folders.html.erb | 0 .../original}/views/webmail/mailsent.html.erb | 0 .../original}/views/webmail/message.html.erb | 0 .../original}/views/webmail/messages.html.erb | 2 +- .../views/webmail/noattachment.html.erb | 0 .../original}/views/webmail/prefs.html.erb | 0 .../views/webmail/view_source.html.erb | 0 95 files changed, 511 insertions(+), 208 deletions(-) rename public/stylesheets/.gitkeep => app/views/contents_moved_to_original_theme_directory (100%) mode change 100755 => 100644 create mode 100644 public/javascripts/.gitkeep mode change 100755 => 100644 public/javascripts/application.js mode change 100755 => 100644 public/javascripts/controls.js mode change 100755 => 100644 public/javascripts/dragdrop.js mode change 100755 => 100644 public/javascripts/effects.js delete mode 100755 public/javascripts/global.js mode change 100755 => 100644 public/javascripts/prototype.js mode change 100755 => 100644 public/javascripts/rails.js create mode 100644 themes/empty/images/.gitkeep create mode 100644 themes/empty/javascripts/.gitkeep create mode 100644 themes/empty/stylesheets/.gitkeep create mode 100644 themes/empty/views/layouts/.gitkeep rename {app => themes/empty}/views/layouts/chooser.html.erb (100%) rename {app => themes/empty}/views/layouts/login.html.erb (100%) rename app/views/layouts/public.html.erb => themes/empty/views/layouts/xapplication.html.erb (100%) create mode 100644 themes/original/images/.gitkeep rename {public => themes/original}/images/attachment.png (100%) rename {public => themes/original}/images/d6deec.gif (100%) rename {public => themes/original}/images/deselect.png (100%) rename {public => themes/original}/images/list_closed.gif (100%) rename {public => themes/original}/images/list_opened.gif (100%) create mode 100644 themes/original/images/logo.png rename {public => themes/original}/images/noprogress.gif (100%) rename {public => themes/original}/images/rails.png (100%) rename {public => themes/original}/images/select.png (100%) rename {public => themes/original}/images/white.gif (100%) rename {public => themes/original}/images/white.png (100%) create mode 100644 themes/original/javascripts/.gitkeep rename {public => themes/original}/javascripts/contact_choose.js (100%) rename {public => themes/original}/javascripts/effects2.js (100%) create mode 100755 themes/original/javascripts/global.js rename {public => themes/original}/javascripts/global_src.js (92%) rename {public => themes/original}/javascripts/htmlstyle.js (100%) rename {public => themes/original}/javascripts/jstrim.pl (100%) rename {public => themes/original}/javascripts/prototype_src.js (100%) rename {public => themes/original}/javascripts/scriptaculous.js (100%) rename {public => themes/original}/javascripts/slider.js (100%) rename {public => themes/original}/javascripts/webmail.js (100%) create mode 100755 themes/original/stylesheets/.gitkeep rename {public => themes/original}/stylesheets/admin.css (73%) rename {public => themes/original}/stylesheets/mailr.css (84%) rename {public => themes/original}/stylesheets/tabs.css (89%) rename {public => themes/original}/stylesheets/webmail/icon-folder-open.gif (100%) rename {public => themes/original}/stylesheets/webmail/webmail.css (100%) rename {app => themes/original}/views/contact_groups/edit.html.erb (100%) rename {app => themes/original}/views/contact_groups/index.html.erb (100%) rename {app => themes/original}/views/contacts/add_multiple.html.erb (100%) rename {app => themes/original}/views/contacts/choose.html.erb (100%) rename {app => themes/original}/views/contacts/import_preview.html.erb (100%) rename {app => themes/original}/views/contacts/index.html.erb (100%) rename {app => themes/original}/views/contacts/new.html.erb (100%) rename {app => themes/original}/views/folders/index.html.erb (100%) create mode 100644 themes/original/views/layouts/.gitkeep create mode 100755 themes/original/views/layouts/chooser.html.erb create mode 100755 themes/original/views/layouts/login.html.erb create mode 100755 themes/original/views/layouts/public.html.erb rename {app => themes/original}/views/login/index.rhtml (100%) rename {app => themes/original}/views/shared/_folders.html.erb (100%) rename {app => themes/original}/views/webmail/_contacts.html.erb (100%) rename {app => themes/original}/views/webmail/_expr.html.erb (100%) rename {app => themes/original}/views/webmail/_filter.html.erb (100%) rename {app => themes/original}/views/webmail/_message_row.html.erb (90%) rename {app => themes/original}/views/webmail/_search.html.erb (73%) rename {app => themes/original}/views/webmail/compose.html.erb (100%) rename {app => themes/original}/views/webmail/error_connection.html.erb (100%) rename {app => themes/original}/views/webmail/filter.html.erb (100%) rename {app => themes/original}/views/webmail/filters.html.erb (100%) rename {app => themes/original}/views/webmail/folders.html.erb (100%) rename {app => themes/original}/views/webmail/mailsent.html.erb (100%) rename {app => themes/original}/views/webmail/message.html.erb (100%) rename {app => themes/original}/views/webmail/messages.html.erb (96%) rename {app => themes/original}/views/webmail/noattachment.html.erb (100%) rename {app => themes/original}/views/webmail/prefs.html.erb (100%) rename {app => themes/original}/views/webmail/view_source.html.erb (100%) diff --git a/Gemfile b/Gemfile index d910b4b..79bbe16 100755 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,7 @@ gem 'sqlite3-ruby',:require => 'sqlite3' gem 'arel' gem 'mysql2' gem 'will_paginate' -gem 'web-app-theme' +gem 'themes_for_rails' gem 'tmail' # Use unicorn as the web server diff --git a/Gemfile.lock b/Gemfile.lock index eb08281..1f3e0d8 100755 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -60,12 +60,14 @@ GEM sqlite3 (1.3.3) sqlite3-ruby (1.3.3) sqlite3 (>= 1.3.3) + themes_for_rails (0.4.2) + rails (~> 3.0.0) + themes_for_rails thor (0.14.6) tmail (1.2.7.1) treetop (1.4.9) polyglot (>= 0.3.1) tzinfo (0.3.24) - web-app-theme (0.6.3) will_paginate (2.3.15) PLATFORMS @@ -76,6 +78,6 @@ DEPENDENCIES mysql2 rails (= 3.0.7) sqlite3-ruby + themes_for_rails tmail - web-app-theme will_paginate diff --git a/Rakefile b/Rakefile index f7fac98..29283be 100755 --- a/Rakefile +++ b/Rakefile @@ -4,4 +4,4 @@ require File.expand_path('../config/application', __FILE__) require 'rake' -Rails3::Application.load_tasks +Mailr::Application.load_tasks diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 7882e6f..279d8db 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -12,6 +12,11 @@ class ApplicationController < ActionController::Base #filter_parameter_logging :password #upgrade to Rails3 protected + + def theme_resolver + CDF::CONFIG[:theme] || CDF::CONFIG[:default_theme] + end + def secure_user?() true end def secure_cust?() false end def additional_scripts() "" end diff --git a/app/controllers/contact_groups_controller.rb b/app/controllers/contact_groups_controller.rb index 4bdb75d..b09a1b6 100755 --- a/app/controllers/contact_groups_controller.rb +++ b/app/controllers/contact_groups_controller.rb @@ -1,28 +1,32 @@ class ContactGroupsController < ApplicationController + + theme :theme_resolver + layout 'public' - + + def index @contact_group = ContactGroup.new @contact_group.customer_id = logged_user @contactgroups = ContactGroup.find_by_user(logged_user) end - + def add @contactgroup = ContactGroup.new @contactgroup.customer_id = logged_user render("/contact_group/edit") end - + def delete contactgroup = ContactGroup.find(@params["id"]) contactgroup.destroy redirect_to(:action=>"list") end - + def edit @contactgroup = ContactGroup.find(@params["id"]) end - + def save begin if @params["contactgroup"]["id"].nil? or @params["contactgroup"]["id"] == "" @@ -33,7 +37,7 @@ class ContactGroupsController < ApplicationController @contactgroup = ContactGroup.find(@params["contactgroup"]["id"]) @contactgroup.attributes = @params["contactgroup"] end - + if @contactgroup.save redirect_to(:action=>"list") else @@ -45,8 +49,8 @@ class ContactGroupsController < ApplicationController render("/contact_group/edit") end end - + protected def secure_user?() true end - + end diff --git a/app/controllers/contacts_controller.rb b/app/controllers/contacts_controller.rb index 7e530aa..ace89c3 100755 --- a/app/controllers/contacts_controller.rb +++ b/app/controllers/contacts_controller.rb @@ -1,6 +1,9 @@ class ContactsController < ApplicationController + + theme :theme_resolver + layout :select_layout - + def index if params[:letter] && params[:letter].any? @contacts = Contact.for_customer(logged_user).letter(params[:letter]).paginate :page => params[:page], @@ -9,14 +12,14 @@ class ContactsController < ApplicationController @contacts = Contact.for_customer(logged_user).paginate :page => params[:page], :per_page => CDF::CONFIG[:contacts_per_page] end end - + def listLetter letters = CDF::CONFIG[:contact_letters] @contact_pages = Paginator.new(self, Contact.count( ["customer_id = %s and substr(UPPER(fname),1,1) = '%s'", logged_user, letters[params['id'].to_i]]), CDF::CONFIG[:contacts_per_page], params['page']) - @contacts = Contact.find(:all, :conditions=>["customer_id = %s and substr(UPPER(fname),1,1) = '%s'", logged_user, letters[params['id'].to_i]], + @contacts = Contact.find(:all, :conditions=>["customer_id = %s and substr(UPPER(fname),1,1) = '%s'", logged_user, letters[params['id'].to_i]], :order=>['fname'], :limit=>CDF::CONFIG[:contacts_per_page], :offset=>@contact_pages.current.offset) - + if params["mode"] == "groups" if params["group_id"] and not params["group_id"].nil? and not params["group_id"] == '' @group_id = params["group_id"].to_i @@ -31,17 +34,17 @@ class ContactsController < ApplicationController end end end - + render :action => "list" end - + def new @contact = Contact.new @contact.customer_id = logged_user - + # load related lists loadLists - + # Init groups: because of checkbox # Set all to 0 => unchecked @groups = Hash.new @@ -49,12 +52,12 @@ class ContactsController < ApplicationController @groups[g.id] = 0 } end - + def add_multiple @contact = Contact.new @contact["file_type"] = "1" end - + def add_from_mail cstr = params['cstr'] retmsg = params['retmsg'] @@ -69,13 +72,13 @@ class ContactsController < ApplicationController else fname, lname, email = "", "", cstr end - + if @contact = Contact.find_by_user_email(logged_user, email) # load related lists loadLists - + @contact.fname, @contact.lname = fname, lname - + # groups = @contact.groups @groups = Hash.new @contactgroups.each {|g| @@ -95,82 +98,82 @@ class ContactsController < ApplicationController else @contact = Contact.new("fname"=>fname, "lname" => lname, "email" => email) @contact.customer_id = logged_user - + # load related lists loadLists - + # Init groups: because of checkbox # Set all to 0 => unchecked @groups = Hash.new @contactgroups.each {|g| @groups[g.id] = 0 } - end + end render :action => "new" end - + def import_preview file = params["contact"]["data"] - + flash["errors"] = Array.new - + if file.size == 0 flash["errors"] << _('You haven\'t selected file or the file is empty') @contact = Contact.new @contact["file_type"] = params["contact"]["file_type"] render :action => "add_multiple" end - + file_type = params["contact"]["file_type"] if file_type.nil? or file_type == '1' separator = ',' else separator = /\t/ - + end - + @contacts = Array.new emails = Array.new - - file.each {|line| + + file.each {|line| cdata = line.strip.chomp.split(separator) cont = Contact.new cont.fname = cdata[0].to_s.strip.chomp cont.lname = cdata[1].to_s.strip.chomp cont.email = cdata[2].to_s.strip.chomp - + # Check for duplicate emails in the file if emails.include?(cont.email) flash["errors"] << sprintf(_('Contact %'), file.lineno.to_s) + ": " + _('The e-mail duplicates the e-mail of another record!') - else + else emails << cont.email end - + @contacts << cont } - + end - + def import contacts_count = params["contact"].length contacts_to_import = params["contact"] @contacts = Array.new emails = Array.new - + flash["errors"] = Array.new - + for i in 0...contacts_count contact = Contact.new contact.customer_id = logged_user contact.fname = contacts_to_import[i.to_s]["fname"] contact.lname = contacts_to_import[i.to_s]["lname"] contact.email = contacts_to_import[i.to_s]["email"] - + begin # Check for duplicate emails in the submitted data if emails.include?(contact.email) flash["errors"] << sprintf(_('Contact %'), (i+1).to_s) + ": " + _('The e-mail duplicates the e-mail of another record!') - else + else emails << contact.email end # Check if contact is valid @@ -180,7 +183,7 @@ class ContactsController < ApplicationController ["fname", "lname", "email"].each do |attr| attr_errors = contact.errors.on(attr) attr_errors = [attr_errors] unless attr_errors.nil? or attr_errors.is_a? Array - + if not attr_errors.nil? attr_errors.each do |msg| flash["errors"] << l(:contact_addmultiple_errorforcontact, (i+1).to_s) + ": " + l(msg) @@ -189,10 +192,10 @@ class ContactsController < ApplicationController end end end # rescue - + @contacts << contact end # for - + # If there are validation errors - display them if not flash["errors"].nil? and not flash["errors"].empty? render :action => "import_preview" @@ -214,49 +217,49 @@ class ContactsController < ApplicationController end end - + def choose if params["mode"] == "groups" save_groups end - + @tos, @ccs, @bccs = Array.new, Array.new, Array.new - + params["contacts_to"].each{ |id,value| @tos << Contact.find(id) if value == "1" } if params["contacts_to"] params["contacts_cc"].each{ |id,value| @ccs << Contact.find(id) if value == "1" } if params["contacts_cc"] params["contacts_bcc"].each{ |id,value| @bccs << Contact.find(id) if value == "1" } if params["contacts_bcc"] - - params["groups_to"].each{ |id,value| + + params["groups_to"].each{ |id,value| ContactGroup.find(id).contacts.each {|c| @tos << c} if value == "1" } if params["groups_to"] - params["groups_cc"].each{ |id,value| + params["groups_cc"].each{ |id,value| ContactGroup.find(id).contacts.each {|c| @ccs << c} if value == "1" } if params["groups_cc"] - params["groups_bcc"].each{ |id,value| + params["groups_bcc"].each{ |id,value| ContactGroup.find(id).contacts.each {|c| @bccs << c} if value == "1" } if params["groups_bcc"] end - + def save_groups contacts_for_group = params["contacts_for_group"] group_id = params["group_id"] contact_group = ContactGroup.find(group_id) - - - contacts_for_group.each { |contact_id,value| + + + contacts_for_group.each { |contact_id,value| contact = Contact.find(contact_id) - if value == "1" and not contact_group.contacts.include?(contact) - contact_group.contacts << contact + if value == "1" and not contact_group.contacts.include?(contact) + contact_group.contacts << contact end - if value == "0" and contact_group.contacts.include?(contact) - contact_group.contacts.delete(contact) + if value == "0" and contact_group.contacts.include?(contact) + contact_group.contacts.delete(contact) end } redirect_to(:action=>"index", :id=>group_id, :params=>{"mode"=>params["mode"]}) end - + def edit @contact = Contact.find(params["id"]) # load related lists loadLists - + # groups = @contact.groups @groups = Hash.new @contactgroups.each {|g| @@ -272,10 +275,10 @@ class ContactsController < ApplicationController else @groups[g.id] = 0 # unchecked end - } + } render :action => "new" end - + # Insert or update def create if params["contact"]["id"] == "" @@ -286,14 +289,14 @@ class ContactsController < ApplicationController @contact = Contact.find(params["contact"]["id"]) @contact.attributes = params["contact"] end - + @contactgroups = ContactGroup.find_by_user(logged_user) # Groups displayed groups = params['groups'] tempGroups = Array.new tempGroups.concat(@contact.groups) - - @contactgroups.each { |cgroup| + + @contactgroups.each { |cgroup| includesCGroup = false tempGroups.each {|gr| if gr.contact_group_id.to_i == cgroup.id.to_i @@ -304,7 +307,7 @@ class ContactsController < ApplicationController if groups["#{cgroup.id}"] == "1" and not includesCGroup @contact.groups << cgroup end - + if groups["#{cgroup.id}"] == "0" and includesCGroup @contact.groups.delete(cgroup) end @@ -323,34 +326,34 @@ class ContactsController < ApplicationController @groups[g.id] = 1 else @groups[g.id] = 0 - end + end } render :action => :new end end - + def delete Contact.destroy(params['id']) redirect_to(:action=>'index') end - + protected def secure_user?() true end - def additional_scripts() + def additional_scripts() add_s = '' if action_name == "choose" - add_s<<'' - add_s<<'' + add_s<<'' + add_s<<'' end - add_s - end - + add_s + end + def onload_function() if action_name == "choose" - "javascript:respondToCaller();" + "javascript:respondToCaller();" else "" - end + end end private def select_layout @@ -366,7 +369,7 @@ class ContactsController < ApplicationController 'public' end end - + def loadLists if @contactgroups.nil? @contactgroups = ContactGroup.find_by_user(logged_user) diff --git a/app/controllers/folders_controller.rb b/app/controllers/folders_controller.rb index 88afe98..5a542fa 100755 --- a/app/controllers/folders_controller.rb +++ b/app/controllers/folders_controller.rb @@ -6,6 +6,8 @@ class FoldersController < ApplicationController before_filter :load_imap_session after_filter :close_imap_session + theme :theme_resolver + layout 'public' def index diff --git a/app/controllers/login_controller.rb b/app/controllers/login_controller.rb index 462a634..fc0f2a6 100755 --- a/app/controllers/login_controller.rb +++ b/app/controllers/login_controller.rb @@ -3,6 +3,8 @@ require 'imapmailbox' class LoginController < ApplicationController + theme :theme_resolver + def index if not(logged_user.nil?) redirect_to :controller =>"webmail", :action=>"index" diff --git a/app/controllers/webmail_controller.rb b/app/controllers/webmail_controller.rb index 12c6a1e..e780276 100755 --- a/app/controllers/webmail_controller.rb +++ b/app/controllers/webmail_controller.rb @@ -10,6 +10,8 @@ require 'imap_utils' class WebmailController < ApplicationController include ImapUtils + theme :theme_resolver + logger.info "*** WebmailController #{logger.inspect}" # Administrative functions diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f800b5a..108ec48 100755 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,8 +1,8 @@ # The methods added to this helper will be available to all templates in the application. module ApplicationHelper include NavigationHelper - - protected + + protected def format_datetime(datetime) datetime.strftime "%d.%m.%Y %H:%M" @@ -70,7 +70,7 @@ module ApplicationHelper end end - # Helper method that has the same signature as real input field helpers, but simply displays + # Helper method that has the same signature as real input field helpers, but simply displays # the value of a given field enclosed within

tags. # Usage: # <%= form_input :read_only_field, 'new_user', 'name', _('user_name')) %> @@ -88,22 +88,22 @@ module ApplicationHelper def attributes(hash) hash.keys.inject("") { |attrs, key| attrs + %{#{key}="#{hash[key]}" } } end - + def initListClass @itClass = 1 end - + def popListClass ret = getListClass @itClass = @itClass + 1 return ret end - + def getListClass return "even" if @itClass%2 == 0 return "odd" if @itClass%2 == 1 end - + def get_meta_info '' '' @@ -111,13 +111,13 @@ module ApplicationHelper '' '' end - + def user @user = Customer.find(@session["user"]) if @user.nil? @user end - def link_main + def link_main link_to( t(:contacts), contacts_path) end @@ -125,9 +125,9 @@ module ApplicationHelper if @alternator.nil? @alternator = 1 end - + @alternator = -@alternator - + if @alternator == -1 return "even" else diff --git a/public/stylesheets/.gitkeep b/app/views/contents_moved_to_original_theme_directory old mode 100755 new mode 100644 similarity index 100% rename from public/stylesheets/.gitkeep rename to app/views/contents_moved_to_original_theme_directory diff --git a/config.ru b/config.ru index 8476511..de888a9 100755 --- a/config.ru +++ b/config.ru @@ -1,4 +1,4 @@ # This file is used by Rack-based servers to start the application. require ::File.expand_path('../config/environment', __FILE__) -run Rails3::Application +run Mailr::Application diff --git a/config/application.rb b/config/application.rb index 6e5c572..16387c7 100755 --- a/config/application.rb +++ b/config/application.rb @@ -6,7 +6,7 @@ require 'rails/all' # you've limited to :test, :development, or :production. Bundler.require(:default, Rails.env) if defined?(Bundler) -module Rails3 +module Mailr class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers diff --git a/config/default_site.rb b/config/default_site.rb index 6ab509c..c76969d 100755 --- a/config/default_site.rb +++ b/config/default_site.rb @@ -3,7 +3,7 @@ # some of them - create file config/site.rb # containing new constants in LOCALCONFIG module variable - they # will overwrite default values. Example site.rb: -# +# # module CDF # LOCALCONFIG = { # :mysql_version => '4.1', @@ -42,10 +42,11 @@ module CDF :encryption_salt => 'EnCr1p10n$@lt', :encryption_password => '$0MeEncr1pt10nP@a$sw0rd', :debug_imap => false, - :crypt_session_pass => true, # Set it to false (in site.rb) if you get any error messages like + :crypt_session_pass => true, # Set it to false (in site.rb) if you get any error messages like # "Unsupported cipher algorithm (aes-128-cbc)." - meaning that OpenSSL modules for crypt algo is not loaded. Setting it to false will store password in session in plain format! - :send_from_domain => nil, # Set this variable to your domain name in site.rb if you make login to imap only with username (without '@domain') - :imap_bye_timeout_retry_seconds => 2 + :send_from_domain => nil, # Set this variable to your domain name in site.rb if you make login to imap only with username (without '@domain') + :imap_bye_timeout_retry_seconds => 2, + :default_theme => 'original' } end diff --git a/config/environment.rb b/config/environment.rb index 4317a43..0d0a345 100755 --- a/config/environment.rb +++ b/config/environment.rb @@ -2,4 +2,4 @@ require File.expand_path('../application', __FILE__) # Initialize the rails application -Rails3::Application.initialize! +Mailr::Application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb index 787a9e7..d598c9d 100755 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,4 +1,4 @@ -Rails3::Application.configure do +Mailr::Application.configure do # Settings specified here will take precedence over those in config/application.rb # In the development environment your application's code is reloaded on diff --git a/config/environments/production.rb b/config/environments/production.rb index baa574b..41aeea9 100755 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,4 +1,4 @@ -Rails3::Application.configure do +Mailr::Application.configure do # Settings specified here will take precedence over those in config/application.rb # The production environment is meant for finished, "live" apps. diff --git a/config/environments/test.rb b/config/environments/test.rb index 8065328..1dafbaa 100755 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,4 +1,4 @@ -Rails3::Application.configure do +Mailr::Application.configure do # Settings specified here will take precedence over those in config/application.rb # The test environment is used exclusively to run your application's diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb index 4beb550..d168e04 100755 --- a/config/initializers/secret_token.rb +++ b/config/initializers/secret_token.rb @@ -4,4 +4,4 @@ # If you change this key, all old signed cookies will become invalid! # Make sure the secret is at least 30 characters and all random, # no regular words or you'll be exposed to dictionary attacks. -Rails3::Application.config.secret_token = 'ade84d567b0c637fd3547fd18b97d1677fd6ca3c5331e6ed1a1b13bb6a7823cc367cbe317caf102f29f8c35eb487ff3ca33e6321d037c14ebb055eb530841ff6' +Mailr::Application.config.secret_token = 'ade84d567b0c637fd3547fd18b97d1677fd6ca3c5331e6ed1a1b13bb6a7823cc367cbe317caf102f29f8c35eb487ff3ca33e6321d037c14ebb055eb530841ff6' diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index a3c4157..b5dbc5b 100755 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,6 +1,6 @@ # Be sure to restart your server when you modify this file. -Rails3::Application.config.session_store :cookie_store, :key => '_rails3_session' +Mailr::Application.config.session_store :cookie_store, :key => '_mailr_session' # Use the database for sessions instead of the cookie-based default, # which shouldn't be used to store highly confidential information diff --git a/config/routes.rb b/config/routes.rb index 289e679..80ae421 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,6 @@ -Rails3::Application.routes.draw do +Mailr::Application.routes.draw do + themes_for_rails + resources :folders resources :contacts do collection do diff --git a/public/javascripts/.gitkeep b/public/javascripts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/public/javascripts/application.js b/public/javascripts/application.js old mode 100755 new mode 100644 diff --git a/public/javascripts/controls.js b/public/javascripts/controls.js old mode 100755 new mode 100644 diff --git a/public/javascripts/dragdrop.js b/public/javascripts/dragdrop.js old mode 100755 new mode 100644 diff --git a/public/javascripts/effects.js b/public/javascripts/effects.js old mode 100755 new mode 100644 diff --git a/public/javascripts/global.js b/public/javascripts/global.js deleted file mode 100755 index a1367b9..0000000 --- a/public/javascripts/global.js +++ /dev/null @@ -1 +0,0 @@ -function changeLoc(loc){window.location=loc}function getCookie(name){var prefix=name+"=";var cStr=document.cookie;var start=cStr.indexOf(prefix);if(start==-1){return null;}var end=cStr.indexOf(";",start+prefix.length);if(end==-1){end=cStr.length;}var value=cStr.substring(start+prefix.length,end);return unescape(value);}function setCookie(name,value,expiration){document.cookie=name+"="+value+"; expires="+expiration;}function toggleCheckbox(checkBox){var element=document.getElementById(checkBox.id);if(element.value=="1"||element.checked){element.checked=false;element.value="0";}else{element.checked=true;element.value="1";}}function toggleChkbox(checkBox){if(checkBox.checked){checkBox.checked=true;}else{checkBox.checked=false;}}function toggle_list(id){ul="ul_"+id;img="img_"+id;hid="h_"+id;ulElement=document.getElementById(ul);imgElement=document.getElementById(img);hiddenElement=document.getElementById(hid);if(ulElement){if(ulElement.className=='closed'){ulElement.className="open";imgElement.src="/images/list_opened.gif";hiddenElement.value="1"}else{ulElement.className="closed";imgElement.src="/images/list_closed.gif";hiddenElement.value="0"}}}function toggle_layer(id){lElement=document.getElementById(id);imgElement=document.getElementById("img_"+id);if(lElement){if(lElement.className=='closed'){lElement.className="open";imgElement.src="/images/list_opened.gif";return true;}else{lElement.className="closed";imgElement.src="/images/list_closed.gif";return false;}}return true;}function toggle_layer_status(id){lElement=document.getElementById(id);if(lElement){if(lElement.className=='closed'){return false;}else{return true;}}return true;}function toggle_text(id){if(document.getElementById)elem=document.getElementById(id);else if(document.all)elem=eval("document.all."+id);else return false;if(!elem)return true;elemStyle=elem.style;if(elemStyle.display!="block"){elemStyle.display="block"}else{elemStyle.display="none"}return true;}function getFF(id){if(document.getElementById)elem=document.getElementById(id);else if(document.all)elem=document.eval("document.all."+id);return elem}function setFF(id,value){if(getFF(id))getFF(id).value=value;}function setCFF(id){if(getFF(id))getFF(id).checked=true;}function updateSUFromC(btnName){var suem=getCookie('_cdf_em');var sueg=getCookie('_cdf_gr');if(suem!=""&&suem!=null&&suem!="undefined"){setFF('sup_email',suem);setFF('signup_submit_button',btnName);}if(sueg&&sueg!=""){if(sueg.indexOf(",")<0&&sueg!=""){gr_id=sueg;setCFF('supgr_'+gr_id);}else while((i=sueg.indexOf(","))>=0){gr_id=sueg.substring(0,i);sueg=sueg.substring(i+1);setCFF('supgr_'+gr_id);}if(sueg.indexOf(",")<0&&sueg!=""){gr_id=sueg;setCFF('supgr_'+gr_id);}}}function updateLUEfC(){var suem=getCookie('_cdf_em');if(suem!=""&&suem!=null&&suem!="undefined"){setFF('login_user_email',suem);}}function replaceHRFST(ifrm){var o=ifrm;var w=null;if(o.contentWindow){w=o.contentWindow;}else if(window.frames&&window.frames[o.id].window){w=window.frames[o.id];}else return;var doc=w.document;if(!doc.getElementsByTagName)return;var anchors=doc.getElementsByTagName("a");for(var i=0;i=12){adds=' PM';h=system_date.getHours()-12;}else{adds=' AM';h=system_date.getHours();}spans[i].innerHTML=h+":"+(system_date.getMinutes()+"").replace(/\b(\d)\b/g,'0$1')+adds;}}function PopupPic(sPicURL,sWidth,sHeight){window.open("/popup.htm?"+sPicURL,"","resizable=1,HEIGHT="+sHeight+",WIDTH="+sWidth+",scrollbars=yes");}function open_link(target,location){if(target=='blank'){window.open(location);}else{window.top.location=location;}} \ No newline at end of file diff --git a/public/javascripts/prototype.js b/public/javascripts/prototype.js old mode 100755 new mode 100644 diff --git a/public/javascripts/rails.js b/public/javascripts/rails.js old mode 100755 new mode 100644 diff --git a/themes/empty/images/.gitkeep b/themes/empty/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/empty/javascripts/.gitkeep b/themes/empty/javascripts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/empty/stylesheets/.gitkeep b/themes/empty/stylesheets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/empty/views/layouts/.gitkeep b/themes/empty/views/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/views/layouts/chooser.html.erb b/themes/empty/views/layouts/chooser.html.erb similarity index 100% rename from app/views/layouts/chooser.html.erb rename to themes/empty/views/layouts/chooser.html.erb diff --git a/app/views/layouts/login.html.erb b/themes/empty/views/layouts/login.html.erb similarity index 100% rename from app/views/layouts/login.html.erb rename to themes/empty/views/layouts/login.html.erb diff --git a/app/views/layouts/public.html.erb b/themes/empty/views/layouts/xapplication.html.erb similarity index 100% rename from app/views/layouts/public.html.erb rename to themes/empty/views/layouts/xapplication.html.erb diff --git a/themes/original/images/.gitkeep b/themes/original/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/public/images/attachment.png b/themes/original/images/attachment.png similarity index 100% rename from public/images/attachment.png rename to themes/original/images/attachment.png diff --git a/public/images/d6deec.gif b/themes/original/images/d6deec.gif similarity index 100% rename from public/images/d6deec.gif rename to themes/original/images/d6deec.gif diff --git a/public/images/deselect.png b/themes/original/images/deselect.png similarity index 100% rename from public/images/deselect.png rename to themes/original/images/deselect.png diff --git a/public/images/list_closed.gif b/themes/original/images/list_closed.gif similarity index 100% rename from public/images/list_closed.gif rename to themes/original/images/list_closed.gif diff --git a/public/images/list_opened.gif b/themes/original/images/list_opened.gif similarity index 100% rename from public/images/list_opened.gif rename to themes/original/images/list_opened.gif diff --git a/themes/original/images/logo.png b/themes/original/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cb82345e9617cdfb0e25533aa76c7429395d2c3f GIT binary patch literal 13132 zcmZ8oWmFtZ(_Mlr5L^-*0*ku_53zMl zZ%u@55?XHJj`sHE4sHN(7jt7bb2AE0Yd0$jDTut1W-!J_0DuAj0gI}6t(<-H&Ly39 zKj?vJbS*xWrMDy2AV$ekd@%MfA!Z}&2gQ>TkX#HA=VkU84PSbh(30gYWhHPzg)nI1 zfsUgC<9{E_1m#FpjY7lXNE;Bb(y^wKrx#Rg&tAGT)nR!LI~$dn>&FgFAQ7A&{pH_Z zy2^iCS2g4pgTZv)3qs1M^`B8t8NLIgMG^4<^xq5KQ6S>00ZIx&;?YqP4#-(e;NBxg zwsHedQ(bJ|rK$|3upE8{Qj|60tF8xe7e{^r=!%x0nut&WN$`u53UW}0)3KU!BUqT} z^1MVNz{g%up-W~6s=j1zryD5|BqCtPM2aR+;7}zOfJ8ygMo{SH50PmJ(_veb>?skT z{opL?;XN>t8@~t|q0AAFOvfHH7#)m85CtCvCPPC>wwGGwv$Yj@x1e&|8d7$C@*ack z@E##Da!@U=53H*!!-w0yO5h%4j2)$H;KEBWSC@Qm3I$5XE+Y~e#@?4K~*OQeTI*4?nAq-EYUsd2_ z!jR2VXXx;QP@kP?ty56}VRUgS=lO?%UFWSH;gCZ3xe+(0%;(Vr)$&Pr^2FC@&aMr3S#7aVXzBx>hM>G~H@AmOY4q|lY( z?`ld&n9Yp0v*)`+Il;-LX2p-W%F|HzM6Xk0yu04WmY=~Q5p?Pvl}T2#qMckyBI~i) zEG8_RB#Kj`skLeYR50uWAr&VnQ7LkY(E)xt!NYmdtX~H#e}n6XhPjyNKD|sqTX&cA zF%q%eDcC|0vXD3^V;x?p^2bz^;1Y|$CRGDF|H6NotMPqkp|cf25M+~9;&C6R33A?G zVsFF5#S3YgM1{7#JU?W?Q2}L$*~5fXrhg+!t7v0t<@1~PKSlzqr>7n%4ADQiuw&q) z5(FxS80l|KRmsZC&zH3$U`@fiD^v}0-!GS0bO6(_5}whZ^C7aRK_rMraG;%pPp=aR z1YpodY(+gM#bl%fZkBl7>GWICsIKv%KgS_K-# z!A}D#s9z@!6T)cV#q)>j(6iGvI6Z43?g38+tJXPz#!iCqKD1Q$Wv@!BuF z`9?`&sNsj^xOC^PQ#gMGW99(-DBO^D>oE_ifr%C-GOg$?00kaNSxoTGtB?Neo`M`a z7FH$#;`3)}MK4-RN|MIYWBf-2>g&P_AD|)Xs8n_CcEG6wyD~njl9q~ZrOekTUBL0^ ziTSTujwu9*bIsVb?b?pH#Q7{2bBuPC0i|J@+h0`cHiC_8rat7V0CoqV+~HLM1SJ0a zoNl27aQ5gp1hMlh5<<5$4-^GIi_!)e;)Y7|wD8#+7z96a{G1hk$z5*CEtO}s!udyN z5I5Fo1WmzPX3tUo#Bh1}!O*Kz8r^HBG-g6%C-w=|ghol!wU7PnJqRj?icbl&Wlb2Y z)Wzt5@A^!d#K6UkG*Di5$(Thak_HC+g0v0;#yE}Oz<$Pe>LzEe0eQq2-V%#A?c<^} ze0mIir_mKolHI!HdG+n6Gz&rX4&N#?Xi{k0Su?4BRF|̻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 0) { + gr_id = sueg.substring(0, i); + sueg = sueg.substring(i + 1); + setCFF('supgr_' + gr_id); + } + if (sueg.indexOf(",") < 0 && sueg != "") { + gr_id = sueg; + setCFF('supgr_' + gr_id); + } + } +} +function updateLUEfC() { + var suem = getCookie('_cdf_em'); + if (suem != "" && suem != null && suem != "undefined") { + setFF('login_user_email', suem); + } +} +function replaceHRFST(ifrm) { + var o = ifrm; + var w = null; + if (o.contentWindow) { + w = o.contentWindow; + } else if (window.frames && window.frames[o.id].window) { + w = window.frames[o.id]; + } else return; + var doc = w.document; + if (!doc.getElementsByTagName) return; + var anchors = doc.getElementsByTagName("a"); + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute("href")) anchor.target = "_top"; + } + iHeight = doc.body.scrollHeight; + ifrm.style.height = iHeight + "px" +} +function rs(n, u, w, h, x) { + args = "width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes,status=0"; + remote = window.open(u, n, args); + if (remote != null && remote.opener == null) remote.opener = self; + if (x == 1) return remote; +} +function wizard_step_onclick(direction, alt_url) { + if (document.forms[0]) { + direction_elem = ''; + if (document.getElementById) { + direction_elem = document.getElementById('wiz_dir'); + } else if (document.all) { + direction_elem = document.eval("document.all.wiz_dir"); + } + if (direction_elem) { + direction_elem.value = direction; + } + if (document.forms[0].onsubmit) { + document.forms[0].onsubmit(); + } + document.forms[0].submit(); + } else { + window.location = alt_url; + } +} +function toggle_adtype(ad_type) { + toggle_text('upload_banner_label'); + toggle_text('upload_banner'); + toggle_text('radio1_label'); + toggle_text('radio1'); + toggle_text('radio2_label'); + toggle_text('radio2'); + toggle_text('adtitle_label'); + toggle_text('adtitle'); + toggle_text('adtext_label'); + toggle_text('adtext'); + toggle_text('banner_size_label'); + toggle_text('banner_size'); +} +function show_date_as_local_time() { + var spans = document.getElementsByTagName('span'); + for (var i = 0; i < spans.length; i++) if (spans[i].className.match(/\bLOCAL_TIME\b/i)) { + system_date = new Date(Date.parse(spans[i].innerHTML)); + if (system_date.getHours() >= 12) { + adds = ' PM'; + h = system_date.getHours() - 12; + } else { + adds = ' AM'; + h = system_date.getHours(); + } + spans[i].innerHTML = h + ":" + (system_date.getMinutes() + "").replace(/\b(\d)\b/g, '0$1') + adds; + } +} +function PopupPic(sPicURL, sWidth, sHeight) { + window.open("/popup.htm?" + sPicURL, "", "resizable=1,HEIGHT=" + sHeight + ",WIDTH=" + sWidth + ",scrollbars=yes"); +} +function open_link(target, location) { + if (target == 'blank') { + window.open(location); + } else { + window.top.location = location; + } +} diff --git a/public/javascripts/global_src.js b/themes/original/javascripts/global_src.js similarity index 92% rename from public/javascripts/global_src.js rename to themes/original/javascripts/global_src.js index 94e387a..76b3fb7 100755 --- a/public/javascripts/global_src.js +++ b/themes/original/javascripts/global_src.js @@ -1,19 +1,19 @@ function changeLoc(loc) { window.location = loc } function getCookie(name) { - var prefix = name + "="; + var prefix = name + "="; var cStr = document.cookie; var start = cStr.indexOf(prefix); if (start==-1) { return null; } - + var end = cStr.indexOf(";", start+prefix.length); if (end==-1) { end=cStr.length; } var value=cStr.substring(start+prefix.length, end); return unescape(value); } -function setCookie(name, value, expiration) { +function setCookie(name, value, expiration) { document.cookie = name+"="+value+"; expires="+expiration; } function toggleCheckbox(checkBox) { @@ -43,11 +43,11 @@ function toggle_list(id){ if (ulElement){ if (ulElement.className == 'closed'){ ulElement.className = "open"; - imgElement.src = "/images/list_opened.gif"; + imgElement.src = "/themes/original/images/list_opened.gif"; hiddenElement.value = "1" }else{ ulElement.className = "closed"; - imgElement.src = "/images/list_closed.gif"; + imgElement.src = "/themes/original/images/list_closed.gif"; hiddenElement.value = "0" } } @@ -58,11 +58,11 @@ function toggle_layer(id) { if (lElement){ if (lElement.className == 'closed'){ lElement.className = "open"; - imgElement.src = "/images/list_opened.gif"; + imgElement.src = "/themes/original/images/list_opened.gif"; return true; }else{ lElement.className = "closed"; - imgElement.src = "/images/list_closed.gif"; + imgElement.src = "/themes/original/images/list_closed.gif"; return false; } } @@ -86,9 +86,9 @@ function toggle_text(id){ elem = eval( "document.all." + id ); else return false; - + if(!elem) return true; - + elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" @@ -107,7 +107,7 @@ function setCFF(id) {if(getFF(id))getFF(id).checked=true;} function updateSUFromC(btnName) { var suem = getCookie('_cdf_em');var sueg = getCookie('_cdf_gr'); if (suem != "" && suem != null && suem != "undefined") { setFF('sup_email', suem); setFF('signup_submit_button',btnName); } - + if (sueg && sueg != "") { if (sueg.indexOf(",") < 0 && sueg != "") { gr_id = sueg; setCFF('supgr_'+gr_id); } else while ((i = sueg.indexOf(",")) >= 0) { gr_id = sueg.substring(0,i); sueg = sueg.substring(i+1); setCFF('supgr_'+gr_id); } @@ -133,7 +133,7 @@ function replaceHRFST(ifrm) { for (var i=0; i= 12) { adds = ' PM'; h = system_date.getHours() - 12; } + if (system_date.getHours() >= 12) { adds = ' PM'; h = system_date.getHours() - 12; } else { adds = ' AM'; h = system_date.getHours(); } - spans[i].innerHTML = h + ":" + (system_date.getMinutes()+"").replace(/\b(\d)\b/g, '0$1') + adds; + spans[i].innerHTML = h + ":" + (system_date.getMinutes()+"").replace(/\b(\d)\b/g, '0$1') + adds; } } function PopupPic(sPicURL,sWidth,sHeight) { @@ -198,4 +198,4 @@ function open_link(target, location){ } else { window.top.location = location; } -} \ No newline at end of file +} diff --git a/public/javascripts/htmlstyle.js b/themes/original/javascripts/htmlstyle.js similarity index 100% rename from public/javascripts/htmlstyle.js rename to themes/original/javascripts/htmlstyle.js diff --git a/public/javascripts/jstrim.pl b/themes/original/javascripts/jstrim.pl similarity index 100% rename from public/javascripts/jstrim.pl rename to themes/original/javascripts/jstrim.pl diff --git a/public/javascripts/prototype_src.js b/themes/original/javascripts/prototype_src.js similarity index 100% rename from public/javascripts/prototype_src.js rename to themes/original/javascripts/prototype_src.js diff --git a/public/javascripts/scriptaculous.js b/themes/original/javascripts/scriptaculous.js similarity index 100% rename from public/javascripts/scriptaculous.js rename to themes/original/javascripts/scriptaculous.js diff --git a/public/javascripts/slider.js b/themes/original/javascripts/slider.js similarity index 100% rename from public/javascripts/slider.js rename to themes/original/javascripts/slider.js diff --git a/public/javascripts/webmail.js b/themes/original/javascripts/webmail.js similarity index 100% rename from public/javascripts/webmail.js rename to themes/original/javascripts/webmail.js diff --git a/themes/original/stylesheets/.gitkeep b/themes/original/stylesheets/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/public/stylesheets/admin.css b/themes/original/stylesheets/admin.css similarity index 73% rename from public/stylesheets/admin.css rename to themes/original/stylesheets/admin.css index 5d426b8..789496a 100755 --- a/public/stylesheets/admin.css +++ b/themes/original/stylesheets/admin.css @@ -28,11 +28,11 @@ a { text-decoration: none; background-color: transparent; } - + a:hover { color: #444; } - + a:active { color: #000; background-color: transparent; @@ -45,7 +45,7 @@ a { margin: 1em auto; text-align: left; background-color: #fff; - color: #858585; + color: #858585; } @@ -68,7 +68,7 @@ a { height: 240px; margin: 15px 30px; padding: 0; - border: 0; + border: 0; } #advert img { @@ -158,7 +158,7 @@ table.list th { font-size: 12px; font-weight: bold; color: #e70; - text-align: left; + text-align: left; padding-left: 1em; } @@ -181,9 +181,9 @@ div.gal img {border: 1px solid; border-color: #444 #AAA #AAA #444;} div.lc img {height: 96px; width: 128px; margin: 40px 0 0 0;} div.pt img {height: 128px; width: 96px; margin: 8px 16px 0 0; margin-left:10px;} div.gal ul {margin: 0.25em 0 0 0; padding: 0; font: bold small Arial, Verdana, sans-serif;} -div.gal ul li {padding: 0; list-style-type:none; } -div.gal ul li.galcaption {display: block; text-align: left; padding: 0 15px; margin: 0;} -div.gal ul li.galedit {display: block; text-align: left; padding: 0 15px; margin: 0;} +div.gal ul li {padding: 0; list-style-type:none; } +div.gal ul li.galcaption {display: block; text-align: left; padding: 0 15px; margin: 0;} +div.gal ul li.galedit {display: block; text-align: left; padding: 0 15px; margin: 0;} div.gal ul li.galdel {display: block; text-align: left; padding: 0 15px; margin: 0;} #iconmenu { @@ -213,7 +213,7 @@ div.gal ul li.galdel {display: block; text-align: left; padding: 0 15px; margin: color: gray; display: block; width: 110px; - margin: 0; + margin: 0; padding: 64px 0 0 0; background-position: center top; background-repeat: no-repeat; @@ -222,40 +222,40 @@ div.gal ul li.galdel {display: block; text-align: left; padding: 0 15px; margin: text-decoration: none; } -#iconmenu li a:hover { +#iconmenu li a:hover { color: black; text-decoration: none; background-position: center top; - border: 1px dashed #DCDCDC; + border: 1px dashed #DCDCDC; } -#mmhomepage, #mmhomepage a { background-image: url(/images/homepage.gif); } -#mmlogo, #mmlogo a { background-image: url(/images/logo.gif); } -#mmwebmail, #mmwebmail a { background-image: url(/images/webmail.gif); } -#mmcontacts, #mmcontacts a { background-image: url(/images/contacts.gif); } -#mmcontactgroups, #mmcontactgroups a { background-image: url(/images/contact_groups.gif); } -#mmcontactscales, #mmcontactscales a { background-image: url(/images/contact_scales.gif); } -#mmarticletypes, #mmarticletypes a { background-image: url(/images/article_types.gif); } -#mmarticles, #mmarticles a { background-image: url(/images/articles.gif); } -#mmgallery, #mmgallery a { background-image: url(/images/image.gif); } -#mmcategories, #mmcategories a { background-image: url(/images/categories.gif); } -#mmregion, #mmregion a { background-image: url(/images/region.gif); } -#mmlogout, #mmlogout a { background-image: url(/images/logout.gif); } -#mmwizard, #mmwizard a { background-image: url(/images/wizard_mirr.gif); } -#mmpages, #mmpages a { background-image: url(/images/pages.gif); } -#mmmenueditor, #mmmenueditor a { background-image: url(/images/menueditor.gif); } -#mmforumcats, #mmforumcats a { background-image: url(/images/forum.gif); } -#mmforums, #mmforums a { background-image: url(/images/forum.gif); } -#mmchnagepassword, #mmchnagepassword a { background-image: url(/images/password.gif); } -#mmblog, #mmblog a { background-image: url(/images/blog.gif); } -#mmcar, #mmcar a { background-image: url(/images/car.gif); } -#mmpathstatpath, #mmpathstatpath a { background-image: url(/images/stats.gif); } -#mmnewsletters, #mmnewsletters a { background-image: url(/images/newsletters.gif); } -#mmadvert, #mmadvert a { background-image: url(/images/advert.gif); } -#mmforms, #mmforms a { background-image: url(/images/formbuilder.gif); } -#mmattachments, #mmattachments a { background-image: url(/images/attachment.gif); } -#mmphoto, #mmphoto a { background-image: url(/images/photo.gif); } -#mmtypo, #mmtypo a { background-image: url(/images/typo.gif); } +#mmhomepage, #mmhomepage a { background-image: url("/themes/original/images/homepage.gif"); } +#mmlogo, #mmlogo a { background-image: url("/themes/original/images/logo.gif"); } +#mmwebmail, #mmwebmail a { background-image: url("/themes/original/images/webmail.gif"); } +#mmcontacts, #mmcontacts a { background-image: url("/themes/original/images/contacts.gif"); } +#mmcontactgroups, #mmcontactgroups a { background-image: url("/themes/original/images/contact_groups.gif"); } +#mmcontactscales, #mmcontactscales a { background-image: url("/themes/original/images/contact_scales.gif"); } +#mmarticletypes, #mmarticletypes a { background-image: url("/themes/original/images/article_types.gif"); } +#mmarticles, #mmarticles a { background-image: url("/themes/original/images/articles.gif"); } +#mmgallery, #mmgallery a { background-image: url("/themes/original/images/image.gif"); } +#mmcategories, #mmcategories a { background-image: url("/themes/original/images/categories.gif"); } +#mmregion, #mmregion a { background-image: url("/themes/original/images/region.gif"); } +#mmlogout, #mmlogout a { background-image: url("/themes/original/images/logout.gif"); } +#mmwizard, #mmwizard a { background-image: url("/themes/original/images/wizard_mirr.gif"); } +#mmpages, #mmpages a { background-image: url("/themes/original/images/pages.gif"); } +#mmmenueditor, #mmmenueditor a { background-image: url("/themes/original/images/menueditor.gif"); } +#mmforumcats, #mmforumcats a { background-image: url("/themes/original/images/forum.gif"); } +#mmforums, #mmforums a { background-image: url("/themes/original/images/forum.gif"); } +#mmchnagepassword, #mmchnagepassword a { background-image: url("/themes/original/images/password.gif"); } +#mmblog, #mmblog a { background-image: url("/themes/original/images/blog.gif"); } +#mmcar, #mmcar a { background-image: url("/themes/original/images/car.gif"); } +#mmpathstatpath, #mmpathstatpath a { background-image: url("/themes/original/images/stats.gif"); } +#mmnewsletters, #mmnewsletters a { background-image: url("/themes/original/images/newsletters.gif"); } +#mmadvert, #mmadvert a { background-image: url("/themes/original/images/advert.gif"); } +#mmforms, #mmforms a { background-image: url("/themes/original/images/formbuilder.gif"); } +#mmattachments, #mmattachments a { background-image: url("/themes/original/images/attachment.gif"); } +#mmphoto, #mmphoto a { background-image: url("/themes/original/images/photo.gif"); } +#mmtypo, #mmtypo a { background-image: url("/themes/original/images/typo.gif"); } /* Wizard */ @@ -390,20 +390,20 @@ td.htmlarea { border: 1px solid; } -#suggest { - padding: 10px; - margin: 10px; +#suggest { + padding: 10px; + margin: 10px; border: 1px dotted; width: 362px; - voice-family: "\"}\""; - voice-family: inherit; + voice-family: "\"}\""; + voice-family: inherit; width: 383px; } -#suggest p { - padding: 0; - margin-left: 0; - margin-top:0; +#suggest p { + padding: 0; + margin-left: 0; + margin-top:0; font-size: 10px; } @@ -466,22 +466,22 @@ li.error { color: red; } .cpointer { cursor: pointer; cursor: hand; } -.partactive { - padding-top: 10px; - width: 150px; - height: 25px; +.partactive { + padding-top: 10px; + width: 150px; + height: 25px; text-align: center; - background-color: rgb(220,220,220); - border: #555 solid 0.5px; + background-color: rgb(220,220,220); + border: #555 solid 0.5px; } -.partsel { - padding-top: 10px; - width: 150px; +.partsel { + padding-top: 10px; + width: 150px; height: 25px; - text-align: center; - background-color: rgb(190,190,190); - border: #555 solid 0.5px; + text-align: center; + background-color: rgb(190,190,190); + border: #555 solid 0.5px; } div#parts a img { border: 0; align: right } @@ -496,7 +496,7 @@ div#parts a img { border: 0; align: right } } .part-editor h2 { padding: 0; margin: 0; color: #00F; margin-bottom: 20px } -.part-editor label { font-size: 10px; color: #00F } +.part-editor label { font-size: 10px; color: #00F } div#parts { width: 150px; @@ -513,11 +513,11 @@ div#compose-choose { } div#compose-radios { - padding-top: 10px; - width: 150px; + padding-top: 10px; + width: 150px; height: 25px; - float: left; - background-color: rgb(220,220,220); + float: left; + background-color: rgb(220,220,220); } div#compose-radios a img { border: 0px; } @@ -538,11 +538,11 @@ div#tab_content table tr td.cpointer a img { border: 0; } div#choose-urls { font-size: 0.75em; text-align: left; padding: 5px; } div#choose-urls h4 { margin: 0; padding: 0; } div#choose-urls ul { margin: 0; padding: 0; } -div#choose-urls li { list-style-type:none; background: #EDF4F5; border: 1px solid #AAA; margin: 1px; } +div#choose-urls li { list-style-type:none; background: #EDF4F5; border: 1px solid #AAA; margin: 1px; } div#left-menu-items ul { margin: 0; padding: 0; } -div#left-menu-items li { list-style-type:none; background: #EDF4F5; border: 1px solid #AAA; margin: 1px;} -div#left-menu-items a img { border: 0;} +div#left-menu-items li { list-style-type:none; background: #EDF4F5; border: 1px solid #AAA; margin: 1px;} +div#left-menu-items a img { border: 0;} div#left-menu-items ul li ul li { list-style-type:none; background: #F4F5ED; border: 1px solid #AAA; margin: 1px; } div#left-menu-items ul li ul { margin: 2px; padding: 2px; } @@ -551,4 +551,4 @@ div.lm-subitems { margin: 5px; } .comboarrow {} .combodivshow {position:absolute; display: inline;z-index:10000 } .combodiv { position:abcoslute; display:none; z-index:10000 } -.combosel { width: 220px; border-style: none; } \ No newline at end of file +.combosel { width: 220px; border-style: none; } diff --git a/public/stylesheets/mailr.css b/themes/original/stylesheets/mailr.css similarity index 84% rename from public/stylesheets/mailr.css rename to themes/original/stylesheets/mailr.css index e659984..8657423 100755 --- a/public/stylesheets/mailr.css +++ b/themes/original/stylesheets/mailr.css @@ -3,7 +3,7 @@ .closed { display: none; } #logo { - background-image: url("/images/logo.png"); + background-image: url("/themes/original/images/logo.png"); background-repeat: no-repeat; height: 125px; } @@ -46,7 +46,7 @@ table.form_layout td.form_actions { text-align: right; } /* Rounded Box Corners ---------------------------------------------------------------------- */ .box {margin: 0 0 0.75em 0; clear: both; position: relative;} -b.cn { position: absolute; height: 10px; width: 10px; margin: 0; padding: 0; background: url(../images/white.png) no-repeat; line-height: 1px; font-size: 1px; } +b.cn { position: absolute; height: 10px; width: 10px; margin: 0; padding: 0; background: url("/themes/original/images/white.png") no-repeat; line-height: 1px; font-size: 1px; } b.tl {top: -1px; left: -1px; background-position: top left;} b.tr {top: -1px; right: -1px; background-position: top right;} b.bl {bottom: -1px; left: -1px; background-position: bottom left;} @@ -55,9 +55,9 @@ b.br {bottom: -1px; right: -1px; background-position: bottom right;} /* IE Filters */ * html b.bl {bottom:-2px} * html b.br {bottom:-2px} -* html b.cn {background-image: url(../images/white.gif);} +* html b.cn {background-image: url("/themes/original/images/white.gif");} -#container { background: url("../images/d6deec.gif") top left repeat-y; } +#container { background: url("/themes/original/images/d6deec.gif") top left repeat-y; } #tab_content { width: 100%; } diff --git a/public/stylesheets/tabs.css b/themes/original/stylesheets/tabs.css similarity index 89% rename from public/stylesheets/tabs.css rename to themes/original/stylesheets/tabs.css index 3f9219e..5396fed 100755 --- a/public/stylesheets/tabs.css +++ b/themes/original/stylesheets/tabs.css @@ -2,7 +2,7 @@ background: #789A9F; padding-top: 1.8em; width: 98%; - background-image: url(../images/select.png); + background-image: url("/themes/original/images/select.png"); } #tab_content { @@ -49,7 +49,7 @@ border: 1px solid #666; border-bottom: none; background: #789A9F; - background-image: url(../images/select.png); + background-image: url("/themes/original/images/select.png"); padding-bottom: 4px; margin-top: 0; color: #000; @@ -59,7 +59,7 @@ background: #EDF4F5; border: 1px solid #AAA; border-bottom: none; - background-image: url(../images/deselect.png); + background-image: url("/themes/original/images/deselect.png"); } #header ul#primary a:hover { @@ -108,4 +108,4 @@ background: transparent; } -#header ul#secondary li:last-child a { border: none; } \ No newline at end of file +#header ul#secondary li:last-child a { border: none; } diff --git a/public/stylesheets/webmail/icon-folder-open.gif b/themes/original/stylesheets/webmail/icon-folder-open.gif similarity index 100% rename from public/stylesheets/webmail/icon-folder-open.gif rename to themes/original/stylesheets/webmail/icon-folder-open.gif diff --git a/public/stylesheets/webmail/webmail.css b/themes/original/stylesheets/webmail/webmail.css similarity index 100% rename from public/stylesheets/webmail/webmail.css rename to themes/original/stylesheets/webmail/webmail.css diff --git a/app/views/contact_groups/edit.html.erb b/themes/original/views/contact_groups/edit.html.erb similarity index 100% rename from app/views/contact_groups/edit.html.erb rename to themes/original/views/contact_groups/edit.html.erb diff --git a/app/views/contact_groups/index.html.erb b/themes/original/views/contact_groups/index.html.erb similarity index 100% rename from app/views/contact_groups/index.html.erb rename to themes/original/views/contact_groups/index.html.erb diff --git a/app/views/contacts/add_multiple.html.erb b/themes/original/views/contacts/add_multiple.html.erb similarity index 100% rename from app/views/contacts/add_multiple.html.erb rename to themes/original/views/contacts/add_multiple.html.erb diff --git a/app/views/contacts/choose.html.erb b/themes/original/views/contacts/choose.html.erb similarity index 100% rename from app/views/contacts/choose.html.erb rename to themes/original/views/contacts/choose.html.erb diff --git a/app/views/contacts/import_preview.html.erb b/themes/original/views/contacts/import_preview.html.erb similarity index 100% rename from app/views/contacts/import_preview.html.erb rename to themes/original/views/contacts/import_preview.html.erb diff --git a/app/views/contacts/index.html.erb b/themes/original/views/contacts/index.html.erb similarity index 100% rename from app/views/contacts/index.html.erb rename to themes/original/views/contacts/index.html.erb diff --git a/app/views/contacts/new.html.erb b/themes/original/views/contacts/new.html.erb similarity index 100% rename from app/views/contacts/new.html.erb rename to themes/original/views/contacts/new.html.erb diff --git a/app/views/folders/index.html.erb b/themes/original/views/folders/index.html.erb similarity index 100% rename from app/views/folders/index.html.erb rename to themes/original/views/folders/index.html.erb diff --git a/themes/original/views/layouts/.gitkeep b/themes/original/views/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/original/views/layouts/chooser.html.erb b/themes/original/views/layouts/chooser.html.erb new file mode 100755 index 0000000..7c3b872 --- /dev/null +++ b/themes/original/views/layouts/chooser.html.erb @@ -0,0 +1,19 @@ + + + + <%=@title%> + + + <%=stylesheet_link_tag current_theme_stylesheet_path('admin') %> + <%=stylesheet_link_tag current_theme_stylesheet_path('tabs') %> + <%=stylesheet_link_tag current_theme_stylesheet_path('mailr') %> + <%=javascript_include_tag current_theme_javascript_path('global') %> + + + + <%= @content_for_layout %> + + + + diff --git a/themes/original/views/layouts/login.html.erb b/themes/original/views/layouts/login.html.erb new file mode 100755 index 0000000..ef95149 --- /dev/null +++ b/themes/original/views/layouts/login.html.erb @@ -0,0 +1,15 @@ + + + + <%=t(:mailr) %> » <%= t(:please_login)%> + + <%=stylesheet_link_tag current_theme_stylesheet_path('admin') %> + <%=stylesheet_link_tag current_theme_stylesheet_path('mailr') %> + + + + <%= yield %> + + diff --git a/themes/original/views/layouts/public.html.erb b/themes/original/views/layouts/public.html.erb new file mode 100755 index 0000000..2eced03 --- /dev/null +++ b/themes/original/views/layouts/public.html.erb @@ -0,0 +1,31 @@ + + + + <%= t :mailr %> + + + <%=stylesheet_link_tag current_theme_stylesheet_path('admin') %> + <%=stylesheet_link_tag current_theme_stylesheet_path('tabs') %> + <%=stylesheet_link_tag current_theme_stylesheet_path('mailr') %> + <%=javascript_include_tag current_theme_javascript_path('global') %> + <%=javascript_include_tag current_theme_javascript_path('webmail') %> + + <%=javascript_include_tag :defaults %> + + + +
+
+ +
<%= yield %>
+
+
+
+ + diff --git a/app/views/login/index.rhtml b/themes/original/views/login/index.rhtml similarity index 100% rename from app/views/login/index.rhtml rename to themes/original/views/login/index.rhtml diff --git a/app/views/shared/_folders.html.erb b/themes/original/views/shared/_folders.html.erb similarity index 100% rename from app/views/shared/_folders.html.erb rename to themes/original/views/shared/_folders.html.erb diff --git a/app/views/webmail/_contacts.html.erb b/themes/original/views/webmail/_contacts.html.erb similarity index 100% rename from app/views/webmail/_contacts.html.erb rename to themes/original/views/webmail/_contacts.html.erb diff --git a/app/views/webmail/_expr.html.erb b/themes/original/views/webmail/_expr.html.erb similarity index 100% rename from app/views/webmail/_expr.html.erb rename to themes/original/views/webmail/_expr.html.erb diff --git a/app/views/webmail/_filter.html.erb b/themes/original/views/webmail/_filter.html.erb similarity index 100% rename from app/views/webmail/_filter.html.erb rename to themes/original/views/webmail/_filter.html.erb diff --git a/app/views/webmail/_message_row.html.erb b/themes/original/views/webmail/_message_row.html.erb similarity index 90% rename from app/views/webmail/_message_row.html.erb rename to themes/original/views/webmail/_message_row.html.erb index e5f003c..9509d13 100755 --- a/app/views/webmail/_message_row.html.erb +++ b/themes/original/views/webmail/_message_row.html.erb @@ -10,5 +10,5 @@ <%= message_date(message_row.date) %> <%= message_size(message_row.size) %> - <%= message_row.content_type == 'multipart' ? image_tag('attachment.png') : ' ' %> + <%= message_row.content_type == 'multipart' ? image_tag(current_theme_image_path('attachment.png')) : ' ' %> diff --git a/app/views/webmail/_search.html.erb b/themes/original/views/webmail/_search.html.erb similarity index 73% rename from app/views/webmail/_search.html.erb rename to themes/original/views/webmail/_search.html.erb index 851964a..e967c1d 100755 --- a/app/views/webmail/_search.html.erb +++ b/themes/original/views/webmail/_search.html.erb @@ -1,7 +1,7 @@ - <%= t :search%>open + <%= t :search%>open - diff --git a/app/views/webmail/compose.html.erb b/themes/original/views/webmail/compose.html.erb similarity index 100% rename from app/views/webmail/compose.html.erb rename to themes/original/views/webmail/compose.html.erb diff --git a/app/views/webmail/error_connection.html.erb b/themes/original/views/webmail/error_connection.html.erb similarity index 100% rename from app/views/webmail/error_connection.html.erb rename to themes/original/views/webmail/error_connection.html.erb diff --git a/app/views/webmail/filter.html.erb b/themes/original/views/webmail/filter.html.erb similarity index 100% rename from app/views/webmail/filter.html.erb rename to themes/original/views/webmail/filter.html.erb diff --git a/app/views/webmail/filters.html.erb b/themes/original/views/webmail/filters.html.erb similarity index 100% rename from app/views/webmail/filters.html.erb rename to themes/original/views/webmail/filters.html.erb diff --git a/app/views/webmail/folders.html.erb b/themes/original/views/webmail/folders.html.erb similarity index 100% rename from app/views/webmail/folders.html.erb rename to themes/original/views/webmail/folders.html.erb diff --git a/app/views/webmail/mailsent.html.erb b/themes/original/views/webmail/mailsent.html.erb similarity index 100% rename from app/views/webmail/mailsent.html.erb rename to themes/original/views/webmail/mailsent.html.erb diff --git a/app/views/webmail/message.html.erb b/themes/original/views/webmail/message.html.erb similarity index 100% rename from app/views/webmail/message.html.erb rename to themes/original/views/webmail/message.html.erb diff --git a/app/views/webmail/messages.html.erb b/themes/original/views/webmail/messages.html.erb similarity index 96% rename from app/views/webmail/messages.html.erb rename to themes/original/views/webmail/messages.html.erb index b4b0314..b1652e5 100755 --- a/app/views/webmail/messages.html.erb +++ b/themes/original/views/webmail/messages.html.erb @@ -27,7 +27,7 @@ - <%=t :operations%>open + <%=t :operations%>open
diff --git a/app/views/webmail/noattachment.html.erb b/themes/original/views/webmail/noattachment.html.erb similarity index 100% rename from app/views/webmail/noattachment.html.erb rename to themes/original/views/webmail/noattachment.html.erb diff --git a/app/views/webmail/prefs.html.erb b/themes/original/views/webmail/prefs.html.erb similarity index 100% rename from app/views/webmail/prefs.html.erb rename to themes/original/views/webmail/prefs.html.erb diff --git a/app/views/webmail/view_source.html.erb b/themes/original/views/webmail/view_source.html.erb similarity index 100% rename from app/views/webmail/view_source.html.erb rename to themes/original/views/webmail/view_source.html.erb