Merge branch 'master' of github.com:diaspora/diaspora
Conflicts: config/locales/diaspora/en.yml
This commit is contained in:
commit
1adf93ace1
41 changed files with 3752 additions and 146 deletions
|
|
@ -3,6 +3,7 @@
|
|||
# the COPYRIGHT file.
|
||||
|
||||
class CommentsController < ApplicationController
|
||||
include ApplicationHelper
|
||||
before_filter :authenticate_user!
|
||||
|
||||
respond_to :html
|
||||
|
|
@ -15,7 +16,14 @@ class CommentsController < ApplicationController
|
|||
@comment = current_user.comment(text, :on => target) if target
|
||||
if @comment
|
||||
Rails.logger.info("event=comment_create user=#{current_user.inspect} status=success comment=#{@comment.inspect}")
|
||||
render :nothing => true, :status => 201
|
||||
|
||||
respond_to do |format|
|
||||
format.js{ render :json => { :post_id => @comment.post_id,
|
||||
:comment_id => @comment.id,
|
||||
:html => render_to_string(:partial => type_partial(@comment), :locals => {:post => @comment, :current_user => current_user})},
|
||||
:status => 201 }
|
||||
format.html{ render :nothing => true, :status => 201 }
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => 401
|
||||
end
|
||||
|
|
|
|||
|
|
@ -26,9 +26,18 @@ class StatusMessagesController < ApplicationController
|
|||
for photo in photos
|
||||
current_user.dispatch_post(photo, :to => params[:status_message][:to])
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.js{ render :json => { :post_id => @status_message.id,
|
||||
:html => render_to_string(:partial => 'shared/stream_element', :locals => {:post => @status_message, :current_user => current_user})},
|
||||
:status => 201 }
|
||||
format.html{ respond_with @status_message }
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
format.js{ render :status => 401 }
|
||||
end
|
||||
end
|
||||
|
||||
render :nothing => true
|
||||
end
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
|
||||
module DashboardsHelper
|
||||
def title_for_page
|
||||
I18n.t('dashboards.helper.home')
|
||||
I18n.t('_home')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -23,13 +23,14 @@ module SocketsHelper
|
|||
Rails.logger.error("web socket view rendering failed for object #{object.inspect}.")
|
||||
raise e
|
||||
end
|
||||
action_hash = {:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object)}
|
||||
action_hash = {:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object)}
|
||||
action_hash.merge! opts
|
||||
if object.is_a? Photo
|
||||
action_hash[:photo_hash] = object.thumb_hash
|
||||
end
|
||||
|
||||
if object.is_a? Comment
|
||||
action_hash[:comment_id] = object.id
|
||||
action_hash[:my_post?] = (object.post.person.owner.id == uid)
|
||||
action_hash[:notification] = notification(object)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -382,8 +382,8 @@ class User
|
|||
|
||||
|
||||
def seed_aspects
|
||||
self.aspects.create(:name => "Family")
|
||||
self.aspects.create(:name => "Work")
|
||||
self.aspects.create(:name => I18n.t('aspects.seed.family'))
|
||||
self.aspects.create(:name => I18n.t('aspects.seed.work'))
|
||||
end
|
||||
|
||||
def as_json(opts={})
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
.span-24.last
|
||||
%h2{:style => "position:relative;"}
|
||||
Home
|
||||
= t('_home')
|
||||
.right
|
||||
%span.description
|
||||
= current_user.diaspora_handle
|
||||
= info_text("This is your diaspora handle. Like an email address, you can give this to people to reach you.")
|
||||
= info_text(t('.handle_explanation'))
|
||||
|
||||
.span-15.last
|
||||
= render 'aspects/no_contacts_message', :aspect => @aspect, :contact_count => @contacts.count
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
-# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
-# licensed under the Affero General Public License version 3 or later. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
%div{:data => {:role => 'content'}}
|
||||
%div{:data => {:role => 'fieldcontain'}}
|
||||
=render 'shared/publisher', :aspect => @aspect
|
||||
|
||||
= render 'shared/stream', :posts => @posts
|
||||
|
||||
/%div{:data => {:role => 'footer', :id => 'footer-toolbar', :position => 'fixed'}}
|
||||
/ %div{:data => {:role => 'navbar'}}
|
||||
/ %ul
|
||||
/ %li{:class => 'ui-btn-active'}
|
||||
/ = link_to 'posts', '#'
|
||||
/ %li
|
||||
/ =link_to 'contacts', '#'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
-# licensed under the Affero General Public License version 3 or later. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
%li.comment
|
||||
%li.comment{:data=>{:guid=>post.id}}
|
||||
= person_image_link(post.person)
|
||||
.content
|
||||
.from
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@
|
|||
%br/
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit "Resend confirmation instructions"
|
||||
= f.submit t('.resend_confirmation')
|
||||
= render :partial => "devise/shared/links"
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@
|
|||
%br/
|
||||
= f.password_field :password_confirmation
|
||||
%p
|
||||
= f.submit "Change my password"
|
||||
= f.submit t('.change_password')
|
||||
= render :partial => "devise/shared/links"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
= link_to t('.forgot_your_password'), new_password_path(resource_name)
|
||||
%br/
|
||||
- if devise_mapping.confirmable? && controller_name != 'confirmations'
|
||||
= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
|
||||
= link_to t('.receive_confirmation'), new_confirmation_path(resource_name)
|
||||
%br/
|
||||
- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
|
||||
= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
|
||||
= link_to t('.receive_unlock'), new_unlock_path(resource_name)
|
||||
%br/
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@
|
|||
%br/
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit "Resend unlock instructions"
|
||||
= f.submit t('.resend_unlock')
|
||||
= render :partial => "devise/shared/links"
|
||||
|
|
|
|||
|
|
@ -13,27 +13,20 @@
|
|||
#why.span-22.prepend-1.last
|
||||
.span-7
|
||||
%h2
|
||||
Choice
|
||||
= t('.choice')
|
||||
%p
|
||||
Diaspora allows you to sort your connections into groups called Aspects.
|
||||
Unique to Diaspora, Aspects ensure your photos, stories and jokes are shared
|
||||
with only the people you want them to be.
|
||||
= t('.choice_explanation')
|
||||
|
||||
.span-7
|
||||
%h2
|
||||
Ownership
|
||||
= t('.ownership')
|
||||
%p
|
||||
You own your pictures, and you shouldn’t have to give that up just in order
|
||||
to share them. You maintain ownership of everything you share on Diaspora,
|
||||
giving you full control over how it is distributed.
|
||||
|
||||
= t('.ownership_explanation')
|
||||
.span-7
|
||||
%h2
|
||||
Simplicity
|
||||
= t('.simplicity')
|
||||
%p
|
||||
Diaspora makes sharing clean and easy – this goes doubly so for privacy.
|
||||
Innherently private, Diaspora doesn’t have pages of settings and options to
|
||||
wade through to keep your profile secure and to your liking.
|
||||
= t('.simplicity_explanation')
|
||||
|
||||
|
||||
.span-22.prepend-1.last
|
||||
|
|
@ -47,12 +40,12 @@
|
|||
#info_links.span-22.prepend-1.last
|
||||
.span-10
|
||||
%h3
|
||||
Learn about how to host your own Diaspora server
|
||||
= t('.learn_about_host')
|
||||
|
||||
|
||||
.span-11
|
||||
%h3
|
||||
Learn more about Diaspora as an open source project.
|
||||
= t('.learn_about_open_source')
|
||||
|
||||
|
||||
.span-24.last{:style=>"text-align:center;"}
|
||||
|
|
@ -10,5 +10,5 @@
|
|||
= f.password_field :password_confirmation
|
||||
|
||||
= f.hidden_field :invitation_token
|
||||
= f.submit 'sign_up'
|
||||
= f.submit t('.sign_up')
|
||||
= render :partial => "devise/shared/links"
|
||||
|
|
|
|||
|
|
@ -33,13 +33,13 @@
|
|||
#aspect_nav
|
||||
%ul
|
||||
%li{:class => ("selected" if @aspect == :all)}
|
||||
= link_to ((@request_count == 0)? "Home" : "Home (#{@request_count})"), root_path, :class => new_request(@request_count)
|
||||
= link_to ((@request_count == 0)? t('_home') : "#{t('_home')} (#{@request_count})"), root_path, :class => new_request(@request_count)
|
||||
|
||||
- for aspect in @aspects
|
||||
%li{:class => ("selected" if current_aspect?(aspect))}
|
||||
= link_for_aspect aspect
|
||||
%li
|
||||
= link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('.add_a_new_aspect')
|
||||
= link_to '+', '#add_aspect_pane', :class => "add_aspect_button", :title => t('aspects.manage.add_a_new_aspect')
|
||||
|
||||
.fancybox_content
|
||||
#add_aspect_pane
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
});
|
||||
|
||||
$('.delete').bind('ajax:failure', function() {
|
||||
alert("Cannot remove #{person.real_name} from last aspect.");
|
||||
alert("#{t('.cannot_remove', :name => person.real_name)}");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
- for aspect in @aspects_with_person
|
||||
%li
|
||||
= link_to aspect.name, aspect
|
||||
= link_to "x", {:controller => "aspects", :action => "remove_from_aspect", :person_id => person.id, :aspect_id => aspect.id}, :confirm => "Remove #{person.real_name} from #{aspect}?", :remote => true, :class => "delete"
|
||||
= link_to "x", {:controller => "aspects", :action => "remove_from_aspect", :person_id => person.id, :aspect_id => aspect.id}, :confirm => t('.remove_from', :name => person.real_name, :aspect => aspect), :remote => true, :class => "delete"
|
||||
|
||||
|
||||
-if is_contact || person == current_user.person
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@
|
|||
var progress = Math.round(loaded / total * 100 );
|
||||
$('#fileInfo').text(fileName + ' ' + progress + '%');
|
||||
},
|
||||
|
||||
messages: {
|
||||
typeError: "#{t('.invalid_ext')}",
|
||||
sizeError: "#{t('.size_error')}",
|
||||
emptyError: "#{t('.empty')}"
|
||||
},
|
||||
|
||||
onSubmit: function(id, fileName){
|
||||
$('#file-upload').addClass("loading");
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
.photo_options{:data=>{:actor=>"#{@photo.person.owner.id}",:actor_person=>"#{@photo.person.id}",:image_url=>"#{@photo.url(:thumb_large)}"}}
|
||||
= link_to t('.make_profile_photo'), '#', :class => 'make_profile_photo'
|
||||
|
|
||||
= link_to 'edit', '#', :id => "edit_photo_toggle"
|
||||
= link_to t('.edit'), '#', :id => "edit_photo_toggle"
|
||||
|
||||
-else
|
||||
= image_tag @photo.url(:scaled_full)
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
|
||||
-if @ownership
|
||||
#photo_edit_options
|
||||
%h4 Edit photo description / delete photo
|
||||
%h4= t('.edit_delete_photo')
|
||||
%p
|
||||
= form_for @photo, :remote => true do |p|
|
||||
= p.text_field :caption, :value => @photo.caption
|
||||
|
|
@ -67,8 +67,8 @@
|
|||
- if @photo.status_message_id
|
||||
#original_post_info
|
||||
%h4{:style=>"position:relative;"}
|
||||
Original Post
|
||||
= link_to 'view', @photo.status_message
|
||||
= t('.original_post')
|
||||
= link_to t('.view'), @photo.status_message
|
||||
|
||||
%p
|
||||
= @photo.status_message.message
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
- for photo in @photo.status_message.photos
|
||||
= link_to (image_tag photo.url(:thumb_small)), object_path(photo)
|
||||
|
||||
%h4 Comments
|
||||
%h4= t('_comments')
|
||||
|
||||
- if @photo.status_message_id
|
||||
%div{:id => 'status_message_stream', :class => 'stream show'}
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@
|
|||
= request.hidden_field :to, :value => destination_handle
|
||||
= request.submit t('people.person.add_contact'), :disable_with => t('requests.create.sending')
|
||||
.message.hidden
|
||||
%i sent!
|
||||
%i= t('.sent')
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
%h3 Add a new contact
|
||||
%h3= t('aspects.manage.add_a_new_contact')
|
||||
|
||||
= form_tag(person_by_handle_path, :id => "new_request_to_#{aspect.id}", :class => "webfinger_form", :remote => true) do
|
||||
=t('.enter_a_diaspora_username')
|
||||
%br
|
||||
%i= t '.your_diaspora_username_is', :diaspora_handle => current_user.diaspora_handle
|
||||
|
||||
= search_field_tag :diaspora_handle,'', :id => "request_d_handle_to_#{aspect.id}", :results => 5, :placeholder => "Diaspora handle"
|
||||
= search_field_tag :diaspora_handle,'', :id => "request_d_handle_to_#{aspect.id}", :results => 5, :placeholder => t('.diaspora_handle')
|
||||
= hidden_field_tag :aspect_id, aspect.id
|
||||
|
||||
- if defined?(getting_started)
|
||||
|
|
@ -18,13 +18,13 @@
|
|||
- if defined?(manage)
|
||||
= hidden_field_tag :manage, true
|
||||
|
||||
= submit_tag t('.create_request')
|
||||
= submit_tag t('requests.manage_aspect_contacts.create_request')
|
||||
%br
|
||||
#loader.hidden= image_tag 'ajax-loader.gif'
|
||||
%ul#request_result{:aspect_id => aspect.id}
|
||||
%li.error.hidden
|
||||
#message
|
||||
= link_to "Know their email address? You should invite them", "#invite_user_pane", :class => "invite_user_button"
|
||||
= link_to t('requests.manage_aspect_contacts.know_email'), "#invite_user_pane", :class => "invite_user_button"
|
||||
%br
|
||||
.yo{ :style => "display:none;"}
|
||||
#invite_user_pane
|
||||
|
|
|
|||
|
|
@ -25,13 +25,13 @@
|
|||
$("#edit_aspect_pane").addClass("active");
|
||||
$(".contact_pictures").fadeOut(200, function(){
|
||||
$("#edit_aspect_pane").fadeIn(200);
|
||||
trigger.html("done editing");
|
||||
trigger.html("#{t('.done_editing')}");
|
||||
});
|
||||
},
|
||||
|
||||
fadeOut: function(){
|
||||
var trigger = $("#edit_aspect_trigger");
|
||||
trigger.html("edit aspect");
|
||||
trigger.html("#{t('.edit_aspect')}");
|
||||
|
||||
$("#edit_aspect_pane").removeClass("active");
|
||||
$("#edit_aspect_pane").fadeOut(200, function(){
|
||||
|
|
@ -51,9 +51,9 @@
|
|||
#new_request_pane{:class => "everyone"}
|
||||
%h1.new_request
|
||||
- if @request_count > 1
|
||||
= link_to "#{@request_count} new requests!", aspects_manage_path
|
||||
= link_to t('.new_requests', :count => @request_count), aspects_manage_path
|
||||
- else
|
||||
= link_to "#{@request_count} new request!", aspects_manage_path
|
||||
= link_to t('.new_request', :count => @request_count), aspects_manage_path
|
||||
|
||||
#left_pane{:class => ("everyone" if aspect == :all)}
|
||||
- if aspect == :all
|
||||
|
|
@ -62,26 +62,26 @@
|
|||
%h2{:style=>"position:relative;margin-bottom:0;"}
|
||||
= aspect
|
||||
.right
|
||||
= link_to "edit aspect", "#", :id => "edit_aspect_trigger", :class => "button"
|
||||
= link_to t('.edit_aspect'), "#", :id => "edit_aspect_trigger", :class => "button"
|
||||
|
||||
%span.aspect_contact_count{:style=>"color:#999;font-size:14px;"}
|
||||
= aspect.contacts.count
|
||||
- if aspect.contacts.count == 1
|
||||
contact
|
||||
= t('.contact')
|
||||
- else
|
||||
contacts
|
||||
= t('.contacts')
|
||||
|
||||
- unless aspect == :all
|
||||
#edit_aspect_pane
|
||||
- if @contacts.count > 0
|
||||
%h3 Add an existing contact
|
||||
%h3= t('.add_existing')
|
||||
= render 'shared/contact_list', :aspect => aspect, :contacts => @contacts, :manage => defined?(manage)
|
||||
|
||||
= render 'shared/add_contact', :aspect => aspect
|
||||
|
||||
%h3 Aspect settings
|
||||
%h3= t('.aspect_settings')
|
||||
.big_buttons
|
||||
= button_to "Remove Aspect", aspect, :method => "delete", :confirm => "Remove aspect?"
|
||||
= button_to t('.remove_aspect'), aspect, :method => "delete", :confirm => t('.confirm_remove_aspect')
|
||||
|
||||
.contact_pictures
|
||||
- for contact in contacts
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
|
||||
- if aspect == :all && @contacts.count == 0
|
||||
%h4
|
||||
You currently have no contacts. Find your contacts here.
|
||||
= t('.no_contacts')
|
||||
= form_tag(people_path, :method => 'get') do
|
||||
= text_field_tag 'q', nil, :placeholder => t('search'), :type => 'search', :results => 5
|
||||
|
||||
|
|
@ -101,9 +101,9 @@
|
|||
%br
|
||||
|
||||
%h3{:style=>"position:relative;"}
|
||||
Aspects
|
||||
= t('.aspects')
|
||||
.right{:style=>"font-size:12px;top:7px;"}
|
||||
= link_to 'add aspect', '#add_aspect_pane', :class => "add_aspect_button"
|
||||
= link_to t('.add_aspect'), '#add_aspect_pane', :class => "add_aspect_button"
|
||||
|
||||
- for user_aspect in current_user.aspects
|
||||
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
%h4.aspect_title_right{:style => "margin-bottom:0;"}
|
||||
= link_to user_aspect, user_aspect
|
||||
%span{:style=>"font-size:12px;color:#888;"}
|
||||
= "#{user_aspect.contacts.count} contacts"
|
||||
= "#{user_aspect.contacts.count} #{t('.contacts')}"
|
||||
|
||||
- if user_aspect.contacts.count > 0
|
||||
- for aspect_contact in user_aspect.contacts[0..8]
|
||||
|
|
@ -124,7 +124,7 @@
|
|||
%br
|
||||
%br
|
||||
|
||||
%h3 Invites
|
||||
%p invite people to join Diaspora.
|
||||
%h3= t('.invites')
|
||||
%p= t('.invite_people')
|
||||
= render "shared/invitations", :invites => @invites
|
||||
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@
|
|||
- for aspect in current_user.aspects_with_post( post.id )
|
||||
%li= link_to aspect.name, aspect
|
||||
#person_nav_links
|
||||
= link_to t('.view_profile'), person_path(person)
|
||||
= link_to t('layouts.header.view_profile'), person_path(person)
|
||||
= link_to t('_photos'), person_photos_path(person)
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
});
|
||||
|
||||
$('.remove').live('ajax:failure', function(data, html, xhr) {
|
||||
alert("Cannot remove person from last aspect.");
|
||||
alert("#{t('.cannot_remove')}");
|
||||
});
|
||||
|
||||
$('.add').live('ajax:success', function(data, html, xhr) {
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@
|
|||
%ul#photodropzone
|
||||
= status.error_messages
|
||||
#file-upload.button
|
||||
add photos
|
||||
= t('.add_photos')
|
||||
|
||||
%p
|
||||
%params
|
||||
= status.label :message, t('.post_a_message_to', :aspect => (aspect == :all ? "all contacts" : aspect))
|
||||
= status.label :message, t('.post_a_message_to', :aspect => (aspect == :all ? t('.all_contacts') : aspect))
|
||||
= status.text_area :message, :rows => 2, :value => params[:prefill]
|
||||
|
||||
= status.hidden_field :to, :value => (aspect == :all ? aspect : aspect.id)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
= link_to t('.destroy'), @status_message, :confirm => t('are_you_sure'), :method => :delete
|
||||
|
||||
.span-9.last
|
||||
%h4{:style=>"margin-bottom:5px;"} Comments
|
||||
%h4{:style=>"margin-bottom:5px;"}= t('_comments')
|
||||
%div{:class => 'stream show', :id => 'status_message_stream'}
|
||||
%li.message{:data=>{:guid=>@status_message.id}}
|
||||
= render "comments/comments", :post => @status_message
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
$(".aspects li").find(".delete").live("click", function(){
|
||||
var aspectElement = $(this).parent("li");
|
||||
if (confirm("are you sure?")){
|
||||
if (confirm(#{t('are_you_sure')})){
|
||||
aspectElement.fadeOut(300, function(){aspectElement.remove();});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
= form_for @person, :html => { :multipart => true } do |person|
|
||||
%h3
|
||||
= t('.your_profile')
|
||||
= t('people.edit.your_profile')
|
||||
.description
|
||||
= t('people.edit.info_available_to')
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
= t('.user_menu')
|
||||
%p
|
||||
= t('.manage_aspects')
|
||||
%b #{t('shared.aspect_nav.manage')}
|
||||
%b #{t('.manage')}
|
||||
= t('.tab_also_added')
|
||||
|
||||
.submit_block
|
||||
|
|
|
|||
|
|
@ -28,4 +28,4 @@ def harden_ruby(ruby_string)
|
|||
|
||||
end
|
||||
|
||||
harden_ruby("ree")
|
||||
harden_ruby("ruby-1.8.7-p302")
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ def harden_ruby(ruby_string)
|
|||
|
||||
end
|
||||
|
||||
harden_ruby("ree")
|
||||
harden_ruby("ruby-1.8.7-p302")
|
||||
|
||||
include_recipe "centos::image_magick"
|
||||
include_recipe "centos::mongo_db"
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ javascripts:
|
|||
mobile:
|
||||
- public/javascripts/vendor/jquery144.min.js
|
||||
- public/javascripts/custom-mobile-scripting.js
|
||||
- public/javascripts/rails.js
|
||||
- public/javascripts/vendor/jquery-ui-1.8.6.custom.min.js
|
||||
- public/javascripts/vendor/jquery_mobile_a2.min.js
|
||||
- public/javascripts/mobile.js
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ cross_server:
|
|||
deploy_to: '/usr/local/app/diaspora'
|
||||
user: 'root'
|
||||
repo: 'git://github.com/diaspora/diaspora.git'
|
||||
branch: 'homepage'
|
||||
branch: 'master'
|
||||
default_env: 'development'
|
||||
servers:
|
||||
tom:
|
||||
|
|
|
|||
|
|
@ -27,12 +27,16 @@ en:
|
|||
passwords:
|
||||
send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
|
||||
updated: 'Your password was changed successfully. You are now signed in.'
|
||||
edit:
|
||||
change_password: "Change my password"
|
||||
new:
|
||||
forgot_password: "Forgot your password?"
|
||||
send_password_instructions: "Send me reset password instructions"
|
||||
confirmations:
|
||||
send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
|
||||
confirmed: 'Your account was successfully confirmed. You are now signed in.'
|
||||
new:
|
||||
resend_confirmation: "Resend confirmation instructions"
|
||||
registrations:
|
||||
signed_up: 'You have signed up successfully. If enabled, a confirmation was sent to your e-mail.'
|
||||
updated: 'You updated your account successfully.'
|
||||
|
|
@ -40,6 +44,8 @@ en:
|
|||
unlocks:
|
||||
send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
|
||||
unlocked: 'Your account was successfully unlocked. You are now signed in.'
|
||||
new:
|
||||
resend_unlock: "Resend unlock instructions"
|
||||
invitations:
|
||||
send_instructions: 'Your invitation has been sent.'
|
||||
invitation_token_invalid: 'The invitation token provided is not valid!'
|
||||
|
|
@ -76,4 +82,5 @@ en:
|
|||
sign_in: 'Sign in'
|
||||
sign_up: 'Sign up'
|
||||
forgot_your_password: 'Forgot your password?'
|
||||
|
||||
receive_confirmation: "Didn't receive confirmation instructions?"
|
||||
receive_unlock: "Didn't receive unlock instructions?"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ en:
|
|||
back: "Back"
|
||||
the_world: "the world"
|
||||
search: "Search"
|
||||
_home: "Home"
|
||||
_comments: "Comments"
|
||||
|
||||
activemodel:
|
||||
errors:
|
||||
|
|
@ -60,10 +62,6 @@ en:
|
|||
blog: "blog"
|
||||
developers: "developers"
|
||||
login: "login"
|
||||
add_a_new_aspect: "add a new aspect"
|
||||
manage: "Manage"
|
||||
manage_your_aspects: "Manage your Aspects"
|
||||
everyone: "Everyone"
|
||||
application:
|
||||
powered_by: "POWERED BY DIASPORA*"
|
||||
shared:
|
||||
|
|
@ -77,27 +75,35 @@ en:
|
|||
share_with_all: "Share with all aspects"
|
||||
share_with: "Share with %{aspect}"
|
||||
all: "all"
|
||||
add_photos: "add photos"
|
||||
all_contacts: "all contacts"
|
||||
aspect_contacts:
|
||||
add_contacts: "add contacts"
|
||||
everyone: "Everyone"
|
||||
add_to: "add to %{aspect}"
|
||||
add_a_new_contact_to: "Add a new contact to"
|
||||
done_editing: "done editing"
|
||||
new_requests: "%{count} new requests!"
|
||||
new_request: "%{count} new request!"
|
||||
edit_aspect: "edit aspect"
|
||||
contact: "contact"
|
||||
contacts: "contacts"
|
||||
add_existing: "Add an existing contact"
|
||||
aspect_settings: "Aspect settings"
|
||||
remove_aspect: "Remove Aspect"
|
||||
confirm_remove_aspect: "Remove aspect?"
|
||||
no_contacts: "You currently have no contacts. Find your contacts here."
|
||||
aspects: "Aspects"
|
||||
add_aspect: "add aspect"
|
||||
invites: "Invites"
|
||||
invite_people: "invite people to join Diaspora."
|
||||
add_contact:
|
||||
enter_a_diaspora_username: "Enter a Diaspora username:"
|
||||
your_diaspora_username_is: "Your Diaspora username is: %{diaspora_handle}"
|
||||
contact_username: "Contact's username"
|
||||
create_request: "Find by Diaspora handle"
|
||||
invitations:
|
||||
invites: "Invites"
|
||||
invite_someone: "Invite someone"
|
||||
invitations_left: "(%{count} left)"
|
||||
reshare:
|
||||
reshare: "Reshare"
|
||||
author_info:
|
||||
view_profile: "View profile"
|
||||
status_messages: "status messages"
|
||||
viewing: "viewing"
|
||||
all: "all"
|
||||
public_explain:
|
||||
title: "You are about to post a public message!"
|
||||
outside: "Public messages will be available for others outside of Diaspora to see."
|
||||
|
|
@ -107,8 +113,7 @@ en:
|
|||
new: "New %{type} from %{from}"
|
||||
contact_list:
|
||||
search_contacts: "Search contacts"
|
||||
add_to: "Add %{name} to %{aspect}"
|
||||
remove_from: "Remove %{name} from %{aspect}"
|
||||
cannot_remove: "Cannot remove person from last aspect. (If you want to disconnect from this person you must remove contact.)"
|
||||
aspects:
|
||||
no_contacts_message:
|
||||
nobody: "We know you know people — bring them to Diaspora!"
|
||||
|
|
@ -149,6 +154,11 @@ en:
|
|||
remove_from_aspect:
|
||||
success: "Successfully removed person from aspect"
|
||||
failure: "Failed to remove person from aspect"
|
||||
seed:
|
||||
family: "Family"
|
||||
work: "Work"
|
||||
index:
|
||||
handle_explanation: "This is your diaspora handle. Like an email address, you can give this to people to reach you."
|
||||
users:
|
||||
edit:
|
||||
invite_contacts: "Invite contacts"
|
||||
|
|
@ -169,8 +179,6 @@ en:
|
|||
finished: "Finished!"
|
||||
skip: "skip getting started"
|
||||
save_and_continue: "Save and continue"
|
||||
step_1:
|
||||
your_profile: "Your Profile"
|
||||
step_2:
|
||||
your_aspects: "Your aspects"
|
||||
description: "Tell Diaspora what different aspects of you are seen by different contacts. You can manage these later by clicking the manage tab on the top right. Your aspects are unique to you, and not visible by others."
|
||||
|
|
@ -189,6 +197,7 @@ en:
|
|||
manage_aspects: "You can manage your aspects any time by clicking the"
|
||||
tab_also_added: "tab. Your contacts can also be added while on a particular aspect page, as well."
|
||||
finish: "Finish"
|
||||
manage: "Manage"
|
||||
update:
|
||||
password_changed: "Password Changed"
|
||||
password_not_changed: "Password Change Failed"
|
||||
|
|
@ -203,13 +212,12 @@ en:
|
|||
photos:
|
||||
show:
|
||||
delete_photo: "Delete Photo"
|
||||
prev: "prev"
|
||||
full_size: "full size"
|
||||
next: "next"
|
||||
edit_photo: "Edit Photo"
|
||||
add_a_description: "Add a description"
|
||||
make_profile_photo: "make profile photo"
|
||||
update_photo: "Update Photo"
|
||||
view: "view"
|
||||
edit: "edit"
|
||||
edit_delete_photo: "Edit photo description / delete photo"
|
||||
original_post: "Original Post"
|
||||
edit:
|
||||
editing: "Editing"
|
||||
photo:
|
||||
|
|
@ -228,9 +236,6 @@ en:
|
|||
destroy:
|
||||
notice: "Photo deleted."
|
||||
new_photo:
|
||||
drop: "Drop photos here to upload"
|
||||
upload: "Upload a photo"
|
||||
failed: "Failed"
|
||||
invalid_ext: "{file} has invalid extension. Only {extensions} are allowed."
|
||||
size_error: "{file} is too large, maximum file size is {sizeLimit}."
|
||||
empty: "{file} is empty, please select files again without it."
|
||||
|
|
@ -263,6 +268,8 @@ en:
|
|||
send_invitation: "Send invitation"
|
||||
check_token:
|
||||
not_found: "Invitation token not found"
|
||||
edit:
|
||||
sign_up: "sign_up"
|
||||
status_messages:
|
||||
new_status_message:
|
||||
tell_me_something_good: "tell me something good"
|
||||
|
|
@ -305,11 +312,12 @@ en:
|
|||
profile_sidebar:
|
||||
remove_contact: "remove contact"
|
||||
edit_my_profile: "Edit my profile"
|
||||
last_seen: "last seen: %{how_long_ago}"
|
||||
bio: "bio"
|
||||
gender: "gender"
|
||||
born: "born"
|
||||
in_aspects: "in aspects"
|
||||
cannot_remove: "Cannot remove %{name} from last aspect. (If you want to disconnect from this person you must remove contact.)"
|
||||
remove_from: "Remove %{name} from %{aspect}?"
|
||||
helper:
|
||||
results_for: " results for %{params}"
|
||||
people_on_pod_are_aware_of: " people on pod are aware of"
|
||||
|
|
@ -329,7 +337,8 @@ en:
|
|||
create:
|
||||
sending: "Sending..."
|
||||
sent: "You've asked to share with %{name}. They should see it next time they log in to Diaspora."
|
||||
tried: "we tried our best to send a message to %{account}"
|
||||
new_request_to_person:
|
||||
sent: "sent!"
|
||||
services:
|
||||
index:
|
||||
logged_in_as: "logged in as"
|
||||
|
|
@ -341,9 +350,6 @@ en:
|
|||
success: "Authentication successful."
|
||||
destroy:
|
||||
success: "Successfully destroyed authentication."
|
||||
dashboards:
|
||||
helper:
|
||||
home: "Home"
|
||||
notifier:
|
||||
hello: "Hello %{name}!"
|
||||
love: "love,"
|
||||
|
|
@ -362,3 +368,11 @@ en:
|
|||
share_what_you_want: "Share what you want, with who you want."
|
||||
already_account: "already have an account?"
|
||||
login_here: "log in here"
|
||||
choice: "Choice"
|
||||
choice_explanation: "Diaspora lets you sort your connections into groups called aspects. Unique to Diaspora, aspects ensure that your photos, stories and jokes are shared only with the people you intend."
|
||||
ownership: "Ownership"
|
||||
ownership_explanation: "You own your pictures, and you shouldn’t have to give that up just to share them. You maintain ownership of everything you share on Diaspora, giving you full control over how it's distributed."
|
||||
simplicity: "Simplicity"
|
||||
simplicity_explanation: "Diaspora makes sharing clean and easy – and this goes for privacy too. Inherently private, Diaspora doesn’t make you wade through pages of settings and options just to keep your profile secure."
|
||||
learn_about_host: "Learn about how to host your own Diaspora server"
|
||||
learn_about_open_source: "Learn more about Diaspora as an open source project."
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
$(document).bind("mobileinit", function(){
|
||||
$.extend( $.mobile , {
|
||||
|
||||
ajaxLinksEnabled : false
|
||||
ajaxFormsEnabled : false
|
||||
});
|
||||
});
|
||||
// $(document).bind("mobileinit", function(){
|
||||
// $.extend( $.mobile , {
|
||||
//
|
||||
// ajaxLinksEnabled : false
|
||||
// ajaxFormsEnabled : false
|
||||
// });
|
||||
// });
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
$(document).ready(function(){
|
||||
var $stream = $(".stream");
|
||||
var $publisher = $("#publisher");
|
||||
// expand all comments on page load
|
||||
$(".stream:not('.show')").find('.comments').each(function(index) {
|
||||
var comments = $(this);
|
||||
|
|
@ -51,6 +52,22 @@ $(document).ready(function(){
|
|||
}
|
||||
});
|
||||
|
||||
$(".new_status_message").bind('ajax:success', function(data, json, xhr){
|
||||
json = $.parseJSON(json);
|
||||
WebSocketReceiver.addPostToStream(json['post_id'],json['html']);
|
||||
});
|
||||
$(".new_status_message").bind('ajax:failure', function(data, html, xhr){
|
||||
alert('failed to post message!');
|
||||
});
|
||||
|
||||
$(".new_comment").live('ajax:success', function(data, json, xhr){
|
||||
json = $.parseJSON(json);
|
||||
WebSocketReceiver.processComment(json['post_id'],json['comment_id'],json['html'],false);
|
||||
});
|
||||
$(".new_comment").live('ajax:failure', function(data, html, xhr){
|
||||
alert('failed to post message!');
|
||||
});
|
||||
|
||||
});//end document ready
|
||||
|
||||
|
||||
|
|
|
|||
3541
public/javascripts/vendor/jquery_mobile_a2.js
vendored
Normal file
3541
public/javascripts/vendor/jquery_mobile_a2.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -121,6 +121,7 @@ $.fn.clearForm = function() {
|
|||
|
||||
var video_active_container = null;
|
||||
|
||||
|
||||
function openVideo(type, videoid, link) {
|
||||
var container = document.createElement('div'),
|
||||
$container = $(container);
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ var WebSocketReceiver = {
|
|||
WebSocketReceiver.processRetraction(obj['post_id']);
|
||||
|
||||
}else if (obj['class']=="comments"){
|
||||
WebSocketReceiver.processComment(obj['post_id'], obj['html'], {'notification':obj['notification'], 'mine?':obj['mine?'], 'my_post?':obj['my_post?']})
|
||||
WebSocketReceiver.processComment(obj['post_id'], obj['comment_id'], obj['html'], {'notification':obj['notification'], 'mine?':obj['mine?'], 'my_post?':obj['my_post?']})
|
||||
|
||||
}else{
|
||||
WebSocketReceiver.processPost(obj['class'], obj['html'], obj['aspect_ids'])
|
||||
WebSocketReceiver.processPost(obj['class'], obj['post_id'], obj['html'], obj['aspect_ids'])
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -63,44 +63,50 @@ var WebSocketReceiver = {
|
|||
}
|
||||
},
|
||||
|
||||
processComment: function(post_id, html, opts){
|
||||
post = $("*[data-guid='"+post_id+"']'");
|
||||
$('.comments li:last', post ).before(
|
||||
$(html).fadeIn("fast", function(){})
|
||||
);
|
||||
toggler = $('.show_post_comments', post);
|
||||
processComment: function(postId, commentId, html, opts){
|
||||
|
||||
if(toggler.length > 0){
|
||||
toggler.html(
|
||||
toggler.html().replace(/\d+/,$('.comments', post)[0].childElementCount -1)
|
||||
if( $(".comment[data-guid='"+commentId+"']").length == 0 ){
|
||||
|
||||
post = $("*[data-guid='"+postId+"']'");
|
||||
$('.comments li:last', post ).before(
|
||||
$(html).fadeIn("fast", function(){})
|
||||
);
|
||||
toggler = $('.show_post_comments', post);
|
||||
|
||||
if( !$(".comments", post).is(':visible') ){
|
||||
toggler.click();
|
||||
if(toggler.length > 0){
|
||||
toggler.html(
|
||||
toggler.html().replace(/\d+/,$('.comments', post)[0].childElementCount -1)
|
||||
);
|
||||
|
||||
if( !$(".comments", post).is(':visible') ){
|
||||
toggler.click();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( !opts['mine?'] && opts['my_post?']) {
|
||||
WebSocketReceiver.processNotification(opts['notification']);
|
||||
if( !opts['mine?'] && opts['my_post?']) {
|
||||
WebSocketReceiver.processNotification(opts['notification']);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
processPost: function(className, html, aspectIds){
|
||||
processPost: function(className, postId, html, aspectIds){
|
||||
if(WebSocketReceiver.onPageForAspects(aspectIds)){
|
||||
if( $("#no_posts").is(":visible") ){
|
||||
$("#no_posts").fadeOut(400, WebSocketReceiver.addPostToStream(html)).hide();
|
||||
$("#no_posts").fadeOut(400, WebSocketReceiver.addPostToStream(postId, html)).hide();
|
||||
} else {
|
||||
WebSocketReceiver.addPostToStream(html);
|
||||
WebSocketReceiver.addPostToStream(postId, html);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
addPostToStream: function(html){
|
||||
$("#main_stream:not('.show')").prepend(
|
||||
$(html).fadeIn("fast", function(){
|
||||
$("#main_stream").find("label").first().inFieldLabels();
|
||||
})
|
||||
);
|
||||
addPostToStream: function(postId, html){
|
||||
if( $(".message[data-guid='"+postId+"']").length == 0 ){
|
||||
$("#main_stream:not('.show')").prepend(
|
||||
$(html).fadeIn("fast", function(){
|
||||
$("#main_stream").find("label").first().inFieldLabels();
|
||||
})
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
onPageForClass: function(className){
|
||||
|
|
|
|||
|
|
@ -159,8 +159,9 @@ header
|
|||
:background
|
||||
:color #000
|
||||
|
||||
:border
|
||||
:radius 5px
|
||||
:-webkit-border-radius 5px
|
||||
:-moz-border-radius 5px
|
||||
:border-radius 5px
|
||||
|
||||
:position absolute
|
||||
:display inline
|
||||
|
|
@ -688,6 +689,8 @@ li.message .from .right
|
|||
:-moz-border-radius 3px
|
||||
:border-radius 3px
|
||||
|
||||
:max-width 100%
|
||||
|
||||
img
|
||||
:z-index 2
|
||||
:position relative
|
||||
|
|
@ -1261,7 +1264,10 @@ ul#settings_nav
|
|||
:color rgb(250,250,250)
|
||||
:border 1px solid #ddd
|
||||
:padding 11px
|
||||
|
||||
:-webkit-border-radius 4px
|
||||
:-moz-border-radius 4px
|
||||
:border-radius 4px
|
||||
|
||||
h2,h3
|
||||
:border
|
||||
|
|
@ -1954,6 +1960,8 @@ h3,h4
|
|||
:color #ccc
|
||||
|
||||
:-webkit-border-radius 10px
|
||||
:-moz-border-radius 10px
|
||||
:border-radius 10px
|
||||
|
||||
:width 15px
|
||||
:max-width 12px
|
||||
|
|
|
|||
Loading…
Reference in a new issue