my_forum 0.0.1.beta2 → 0.0.1.beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.rdoc +9 -1
- data/app/assets/images/my_forum/smiles/acute.gif +0 -0
- data/app/assets/images/my_forum/smiles/aggressive.gif +0 -0
- data/app/assets/images/my_forum/smiles/beee.gif +0 -0
- data/app/assets/images/my_forum/smiles/blum2.gif +0 -0
- data/app/assets/images/my_forum/smiles/blush2.gif +0 -0
- data/app/assets/images/my_forum/smiles/cray.gif +0 -0
- data/app/assets/images/my_forum/smiles/dirol.gif +0 -0
- data/app/assets/images/my_forum/smiles/download.gif +0 -0
- data/app/assets/images/my_forum/smiles/i-m_so_happy.gif +0 -0
- data/app/assets/images/my_forum/smiles/ireful2.gif +0 -0
- data/app/assets/javascripts/my_forum/application.js +3 -0
- data/app/assets/javascripts/my_forum/jquery.scrollTo.min.js +7 -0
- data/app/assets/javascripts/my_forum/jquery.selection.js +354 -0
- data/app/assets/javascripts/my_forum/my_forum.js.coffee +38 -0
- data/app/assets/stylesheets/my_forum/application.css.scss +12 -0
- data/app/assets/stylesheets/my_forum/posts.css.scss +5 -0
- data/app/assets/stylesheets/my_forum/topics.css.scss +4 -0
- data/app/assets/stylesheets/my_forum/welcome.css.scss +1 -0
- data/app/controllers/my_forum/application_controller.rb +7 -0
- data/app/controllers/my_forum/attachments_controller.rb +23 -0
- data/app/controllers/my_forum/forums_controller.rb +1 -1
- data/app/controllers/my_forum/images_controller.rb +7 -0
- data/app/controllers/my_forum/posts_controller.rb +15 -1
- data/app/controllers/my_forum/private_messages_controller.rb +1 -1
- data/app/controllers/my_forum/topics_controller.rb +3 -0
- data/app/helpers/my_forum/posts_helper.rb +15 -6
- data/app/helpers/my_forum/users_helper.rb +2 -0
- data/app/models/my_forum/attachment.rb +8 -0
- data/app/models/my_forum/avatar.rb +4 -0
- data/app/models/my_forum/image.rb +5 -0
- data/app/models/my_forum/post.rb +2 -0
- data/app/models/my_forum/topic.rb +10 -9
- data/app/models/my_forum/user.rb +1 -0
- data/app/views/layouts/my_forum/_user_navbar.html.haml +1 -0
- data/app/views/my_forum/forums/_topic_subject.html.haml +2 -2
- data/app/views/my_forum/private_messages/inbox.haml +4 -2
- data/app/views/my_forum/topics/_post.haml +6 -2
- data/app/views/my_forum/topics/_quick_answer.haml +80 -2
- data/app/views/my_forum/topics/show.haml +11 -3
- data/config/locales/ru.yml +2 -0
- data/config/routes.rb +5 -0
- data/db/migrate/20141117122751_create_my_forum_posts.rb +1 -1
- data/db/migrate/20141118131215_create_my_forum_users.rb +6 -5
- data/db/migrate/20151012095554_create_my_forum_images.rb +12 -0
- data/lib/my_forum/engine.rb +1 -1
- data/lib/my_forum/version.rb +1 -1
- data/lib/tasks/my_forum_tasks.rake +131 -4
- data/spec/controllers/my_forum/attachments_controller_spec.rb +7 -0
- data/spec/controllers/my_forum/images_controller_controller_spec.rb +7 -0
- data/spec/models/my_forum/image_spec.rb +7 -0
- metadata +40 -2
data/app/models/my_forum/post.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module MyForum
|
2
2
|
class Topic < ActiveRecord::Base
|
3
|
-
has_many
|
4
|
-
belongs_to :forum, :
|
3
|
+
has_many :posts, counter_cache: true, dependent: :destroy
|
4
|
+
belongs_to :forum, counter_cache: true
|
5
5
|
belongs_to :user
|
6
6
|
|
7
7
|
def info
|
@@ -16,18 +16,19 @@ module MyForum
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def unread?(current_user, last_post)
|
19
|
-
return
|
20
|
-
|
21
|
-
log = LogReadMark.where(user_id: current_user.id, topic_id: self.id, post_id: last_post.id).count
|
22
|
-
log >= 1 ? false : true
|
19
|
+
return false unless current_user
|
20
|
+
!LogReadMark.where(user_id: current_user.id, topic_id: self.id, post_id: last_post.id).present?
|
23
21
|
end
|
24
22
|
|
25
|
-
def mark_as_read(current_user,
|
23
|
+
def mark_as_read(current_user, last_post)
|
26
24
|
return true unless current_user
|
27
25
|
|
28
26
|
log = LogReadMark.find_or_create_by(user_id: current_user.id, topic_id: self.id)
|
29
|
-
|
30
|
-
log.
|
27
|
+
|
28
|
+
if last_post.id.to_i > log.post_id.to_i
|
29
|
+
log.post_id = last_post.id
|
30
|
+
log.save
|
31
|
+
end
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
data/app/models/my_forum/user.rb
CHANGED
@@ -19,6 +19,8 @@
|
|
19
19
|
- @private_messages.each do |message|
|
20
20
|
%tr
|
21
21
|
- html_class = 'unread' if message.unread?
|
22
|
-
%td=link_to message.created_at, private_message_url(message), class: html_class
|
22
|
+
%td=link_to message.created_at.strftime('%d-%b-%y %H:%M'), private_message_url(message), class: html_class
|
23
23
|
%td=link_to message.sender_login, private_message_url(message), class: html_class
|
24
|
-
%td=link_to message.subject, private_message_url(message), class: html_class
|
24
|
+
%td=link_to message.subject, private_message_url(message), class: html_class
|
25
|
+
|
26
|
+
= will_paginate @private_messages
|
@@ -1,8 +1,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
- post_counter += 1
|
2
|
+
|
3
|
+
.row.post-header{ id: "post_number_#{post_counter}"}
|
4
|
+
.col-md-10.post_from_user_login
|
3
5
|
- user_login = post.user.try(:login)
|
4
6
|
= online_user_marker(user_login)
|
5
7
|
= user_login
|
8
|
+
.col-md-1.post_number.pull-right
|
9
|
+
=link_to t('.number', post_number: post_counter), forum_topic_path(@forum, post.topic, show_post: post_counter)
|
6
10
|
.row
|
7
11
|
.col-md-2
|
8
12
|
= render 'user_info', post: post
|
@@ -1,8 +1,86 @@
|
|
1
1
|
.row
|
2
2
|
.col-md-10.col-md-offset-1
|
3
|
+
.text-editor-buttons{ data: { apply_to: 'quick_answer_textarea' } }
|
4
|
+
%div.btn-group
|
5
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
6
|
+
%i{ class: 'fa fa-bold' }
|
7
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
8
|
+
%i{ class: 'fa fa-italic' }
|
9
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
10
|
+
%i{ class: 'fa fa-strikethrough' }
|
11
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
12
|
+
%i{ class: 'fa fa-underline' }
|
13
|
+
|
14
|
+
-# %div.btn-group
|
15
|
+
-# =link_to '#', class: 'btn btn-default btn-sm' do
|
16
|
+
-# %i{ class: 'fa fa-align-left' }
|
17
|
+
-# =link_to '#', class: 'btn btn-default btn-sm' do
|
18
|
+
-# %i{ class: 'fa fa-align-center' }
|
19
|
+
-# =link_to '#', class: 'btn btn-default btn-sm' do
|
20
|
+
-# %i{ class: 'fa fa-align-right' }
|
21
|
+
-# =link_to '#', class: 'btn btn-default btn-sm' do
|
22
|
+
-# %i{ class: 'fa fa-align-justify' }
|
23
|
+
|
24
|
+
%div.btn-group
|
25
|
+
=link_to '#', class: 'btn btn-default btn-sm', data: { toggle: 'modal' } do
|
26
|
+
%i{ class: 'fa fa-camera-retro' }
|
27
|
+
|
28
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
29
|
+
%i{ class: 'fa fa-video-camera' }
|
30
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
31
|
+
%i{ class: 'fa fa-link' }
|
32
|
+
|
33
|
+
%div.btn-group.smiles
|
34
|
+
- smiles = %w(acute aggressive beee blum2 blush2 cray dirol download i-m_so_happy ireful2)
|
35
|
+
- smiles.each do |smile_file|
|
36
|
+
=link_to '#', class: 'btn btn-default btn-sm' do
|
37
|
+
%img{ src: asset_path("my_forum/smiles/#{smile_file}.gif"), class: 'smile' }
|
38
|
+
|
3
39
|
= form_for @new_post, url: forum_topic_posts_path(forum, topic), role: 'form' do |form|
|
4
|
-
.form-group= form.text_area :text, class: 'form-control'
|
40
|
+
.form-group= form.text_area :text, class: 'form-control quick-answer', id: 'quick_answer_textarea'
|
5
41
|
|
6
42
|
.pull-right
|
7
43
|
= form.submit t('.quick_answer'), class: 'btn btn-primary'
|
8
|
-
|
44
|
+
=# link_to t('.advanced_answer'), '#', class: 'btn btn-primary'
|
45
|
+
|
46
|
+
|
47
|
+
#add_photo.modal.fade
|
48
|
+
.modal-dialog
|
49
|
+
.modal-content
|
50
|
+
.modal-header
|
51
|
+
%button.close{ type: 'button', aria_label: 'Close', data: { dismiss: 'modal' } }
|
52
|
+
%span{ aria_hidden: "true" }
|
53
|
+
×
|
54
|
+
%h4.modal-title
|
55
|
+
= t('.add_new_photo')
|
56
|
+
.modal-body
|
57
|
+
= form_for MyForum::Attachment.new, url: attachments_path, multipart: true, remote: true do |f|
|
58
|
+
= f.file_field :file
|
59
|
+
|
60
|
+
#loaded-content
|
61
|
+
|
62
|
+
:coffee
|
63
|
+
$('#attachment_file').change ->
|
64
|
+
file_data = $('#attachment_file').prop('files')[0]
|
65
|
+
form_data = new FormData()
|
66
|
+
form_data.append('file', file_data)
|
67
|
+
|
68
|
+
$.ajax({
|
69
|
+
url: "#{attachments_path}"
|
70
|
+
dataType: 'html'
|
71
|
+
cache: false
|
72
|
+
contentType: false
|
73
|
+
processData: false
|
74
|
+
data: form_data
|
75
|
+
type: 'post',
|
76
|
+
success: (data, textStatus, jqXHR) ->
|
77
|
+
response = $.parseJSON(data)
|
78
|
+
$('#quick_answer_textarea').append('[attachment=' + response.attachment_id + ']')
|
79
|
+
})
|
80
|
+
|
81
|
+
|
82
|
+
.modal-footer
|
83
|
+
%button.btn.btn-default{ type: 'button', aria_label: 'Close', data: { dismiss: 'modal' } }
|
84
|
+
Close
|
85
|
+
%button.btn.btn-primary{ type: 'button' }
|
86
|
+
Save changes
|
@@ -11,11 +11,19 @@
|
|
11
11
|
=t('.messages_in_topic', count: @topic.posts.count)
|
12
12
|
.row.post-list-container
|
13
13
|
.box
|
14
|
-
|
15
|
-
= render 'post', post: post
|
14
|
+
= render partial: 'post', collection: @topic_posts
|
16
15
|
|
17
|
-
|
16
|
+
.row
|
17
|
+
= will_paginate @topic_posts
|
18
18
|
|
19
19
|
- if can_quick_answer?(@topic)
|
20
20
|
#quick_answer
|
21
21
|
= render 'quick_answer', forum: @forum, topic: @topic
|
22
|
+
|
23
|
+
:coffee
|
24
|
+
$(document).on 'ready page:load', ->
|
25
|
+
container = $('body')
|
26
|
+
scroll_to = $('post_number_' + "#{params[:show_post]}")
|
27
|
+
scroll_to = 'post_number_' + "#{params[:show_post]}"
|
28
|
+
|
29
|
+
$('body').scrollTo(scroll_to);
|
data/config/locales/ru.yml
CHANGED
@@ -63,6 +63,7 @@ ru:
|
|
63
63
|
advanced_answer: 'Расширенный ответ'
|
64
64
|
post:
|
65
65
|
sent: "Отправленно: %{datetime}"
|
66
|
+
number: "Сообщение #%{post_number}"
|
66
67
|
|
67
68
|
users:
|
68
69
|
signin:
|
@@ -116,6 +117,7 @@ ru:
|
|
116
117
|
will_paginate:
|
117
118
|
previous_label: 'Назад'
|
118
119
|
next_label: 'Вперед'
|
120
|
+
page_gap: ''
|
119
121
|
|
120
122
|
|
121
123
|
activerecord:
|
data/config/routes.rb
CHANGED
@@ -8,11 +8,16 @@ MyForum::Engine.routes.draw do
|
|
8
8
|
match 'unread_topics', to: 'forums#unread_topics', via: [:get], as: :unread_topics
|
9
9
|
match 'mark_all_as_read', to: 'forums#mark_all_as_read', via: [:get], as: :mark_all_as_read
|
10
10
|
|
11
|
+
resources :images
|
12
|
+
resources :avatars
|
13
|
+
resources :attachments
|
14
|
+
|
11
15
|
resources :users do
|
12
16
|
collection do
|
13
17
|
get :autocomplete
|
14
18
|
end
|
15
19
|
end
|
20
|
+
|
16
21
|
resources :private_messages
|
17
22
|
|
18
23
|
resources :forums, only: [:index, :show] do
|
@@ -7,17 +7,18 @@ class CreateMyForumUsers < ActiveRecord::Migration
|
|
7
7
|
t.string :real_name
|
8
8
|
t.integer :gender
|
9
9
|
t.date :birthdate
|
10
|
-
t.
|
10
|
+
t.text :signature
|
11
11
|
t.string :avatar
|
12
12
|
t.string :location
|
13
13
|
t.string :user_ip
|
14
14
|
t.text :additional_info
|
15
15
|
t.string :email
|
16
16
|
t.integer :posts_count
|
17
|
-
t.boolean :
|
18
|
-
t.boolean :
|
19
|
-
t.boolean :
|
20
|
-
t.boolean :
|
17
|
+
t.boolean :activated, default: false
|
18
|
+
t.boolean :is_admin, default: false
|
19
|
+
t.boolean :is_moderator, default: false
|
20
|
+
t.boolean :is_deleted, default: false
|
21
|
+
t.boolean :permanently_banned, default: false
|
21
22
|
t.timestamps null: false
|
22
23
|
t.timestamp :last_logged_in
|
23
24
|
end
|
data/lib/my_forum/engine.rb
CHANGED
data/lib/my_forum/version.rb
CHANGED
@@ -1,4 +1,131 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
namespace :my_forum do
|
2
|
+
namespace :import do
|
3
|
+
namespace :smf do
|
4
|
+
|
5
|
+
$connection = Mysql2::Client.new Rails.configuration.database_configuration['smf_import']
|
6
|
+
|
7
|
+
desc "Import Boards"
|
8
|
+
task boards: :environment do
|
9
|
+
MyForum::Category.delete_all
|
10
|
+
MyForum::Forum.delete_all
|
11
|
+
|
12
|
+
sql = <<-SQL
|
13
|
+
SELECT
|
14
|
+
`smf_categories`.`name` AS category_name,
|
15
|
+
`smf_boards`.`name` AS board_name,
|
16
|
+
`smf_boards`.`description` AS board_description
|
17
|
+
FROM smf_boards
|
18
|
+
INNER JOIN `smf_categories` ON `smf_boards`.`id_cat` = `smf_categories`.`id_cat`
|
19
|
+
SQL
|
20
|
+
|
21
|
+
result = $connection.query sql
|
22
|
+
result.each do |row|
|
23
|
+
category = MyForum::Category.find_or_create_by(name: row['category_name'])
|
24
|
+
category.forums.create(name: row['board_name'], description: row['board_description'])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Import Users"
|
29
|
+
task users: :environment do
|
30
|
+
MyForum::User.destroy_all
|
31
|
+
|
32
|
+
sql = "SELECT member_name, date_registered, real_name, email_address, personal_text, birthdate, website_title, website_url, signature, avatar, is_activated FROM smf_members;"
|
33
|
+
result = $connection.query sql
|
34
|
+
result.each do |row|
|
35
|
+
begin
|
36
|
+
date_registered = Time.at(row['date_registered'].to_i) rescue nil
|
37
|
+
user = MyForum::User.create!(
|
38
|
+
login: row['member_name'],
|
39
|
+
email: row['email_address'],
|
40
|
+
real_name: row['real_name'],
|
41
|
+
birthdate: row['birthdate'],
|
42
|
+
signature: row['signature'],
|
43
|
+
avatar: row['avatar'],
|
44
|
+
created_at: date_registered,
|
45
|
+
additional_info: {
|
46
|
+
personal_text: row['personal_text'],
|
47
|
+
website_title: row['website_title'],
|
48
|
+
website_url: row['website_url'],
|
49
|
+
is_activated: row['is_activated']
|
50
|
+
})
|
51
|
+
rescue => e
|
52
|
+
print e
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "Import Topics and Posts"
|
58
|
+
task topics: :environment do
|
59
|
+
MyForum::Topic.delete_all
|
60
|
+
MyForum::Post.delete_all
|
61
|
+
|
62
|
+
sql = <<-SQL
|
63
|
+
SELECT
|
64
|
+
`smf_boards`.`name` AS board_name, `smf_messages`.`poster_email`, `smf_messages`.`poster_name`, `smf_messages`.`body`,
|
65
|
+
`smf_messages`.`subject`, `smf_messages`.`poster_time`, `smf_messages`.`id_topic`
|
66
|
+
FROM `smf_messages`
|
67
|
+
INNER JOIN `smf_boards` ON `smf_messages`.`id_board` = `smf_boards`.`id_board`
|
68
|
+
ORDER BY `id_msg` ASC, `id_topic` ASC;
|
69
|
+
SQL
|
70
|
+
result = $connection.query sql
|
71
|
+
result.each do |row|
|
72
|
+
begin
|
73
|
+
user = MyForum::User.find_by_email(row['poster_email']) || MyForum::User.find_by_login(row['poster_name'])
|
74
|
+
user = MyForum::User.create!(login: row['poster_name'], email: row['poster_email'], is_deleted: true) unless user
|
75
|
+
|
76
|
+
forum = MyForum::Forum.find_or_create_by(name: row['board_name'])
|
77
|
+
|
78
|
+
# smf does not uses description field, so i use it temponary while import process
|
79
|
+
unless topic = MyForum::Topic.where(description: row['id_topic']).first
|
80
|
+
topic = forum.topics.create!(name: row['subject'], description: row['id_topic'])
|
81
|
+
end
|
82
|
+
|
83
|
+
post_time = Time.at(row['poster_time'].to_i)
|
84
|
+
topic.posts.create!(user: user, text: row['body'], forum_id: forum.id, created_at: post_time, updated_at: post_time)
|
85
|
+
rescue => e
|
86
|
+
print e
|
87
|
+
end
|
88
|
+
end
|
89
|
+
MyForum::Topic.update_all(description: nil)
|
90
|
+
|
91
|
+
end
|
92
|
+
|
93
|
+
desc "Import Private Messages"
|
94
|
+
task pms: :environment do
|
95
|
+
MyForum::PrivateMessage.delete_all
|
96
|
+
|
97
|
+
sql = <<-SQL
|
98
|
+
SELECT
|
99
|
+
smf_personal_messages.msgtime, smf_personal_messages.subject, smf_personal_messages.body, smf_personal_messages.from_name,
|
100
|
+
smf_pm_recipients.id_member as to_member, smf_members.member_name
|
101
|
+
FROM smf_personal_messages
|
102
|
+
LEFT JOIN smf_pm_recipients ON smf_personal_messages.id_pm = smf_pm_recipients.id_pm
|
103
|
+
LEFT JOIN smf_members ON smf_members.id_member = smf_pm_recipients.id_member
|
104
|
+
SQL
|
105
|
+
|
106
|
+
result = $connection.query sql
|
107
|
+
result.each do |row|
|
108
|
+
sender = MyForum::User.find_by_login(row['from_name'])
|
109
|
+
recipient = MyForum::User.find_by_login(row['member_name'])
|
110
|
+
next unless sender and recipient
|
111
|
+
|
112
|
+
pm_time = Time.at(row['msgtime'].to_i)
|
113
|
+
|
114
|
+
MyForum::PrivateMessage.create!(
|
115
|
+
sender_id: sender.id,
|
116
|
+
sender_login: sender.login,
|
117
|
+
recipient_id: recipient.id,
|
118
|
+
recipient_login: recipient.login,
|
119
|
+
sender_deleted: false,
|
120
|
+
recipient_deleted: false,
|
121
|
+
unread: false,
|
122
|
+
subject: row['subject'],
|
123
|
+
body: row['body'],
|
124
|
+
created_at: pm_time,
|
125
|
+
updated_at: pm_time)
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_forum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Omelchenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 3.0.6
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: font-awesome-sass
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description: Simple forum engine.
|
112
126
|
email:
|
113
127
|
- prosto.vint@gmail.com
|
@@ -118,6 +132,16 @@ files:
|
|
118
132
|
- MIT-LICENSE
|
119
133
|
- README.rdoc
|
120
134
|
- Rakefile
|
135
|
+
- app/assets/images/my_forum/smiles/acute.gif
|
136
|
+
- app/assets/images/my_forum/smiles/aggressive.gif
|
137
|
+
- app/assets/images/my_forum/smiles/beee.gif
|
138
|
+
- app/assets/images/my_forum/smiles/blum2.gif
|
139
|
+
- app/assets/images/my_forum/smiles/blush2.gif
|
140
|
+
- app/assets/images/my_forum/smiles/cray.gif
|
141
|
+
- app/assets/images/my_forum/smiles/dirol.gif
|
142
|
+
- app/assets/images/my_forum/smiles/download.gif
|
143
|
+
- app/assets/images/my_forum/smiles/i-m_so_happy.gif
|
144
|
+
- app/assets/images/my_forum/smiles/ireful2.gif
|
121
145
|
- app/assets/javascripts/my_forum/admin/categories.js.coffee
|
122
146
|
- app/assets/javascripts/my_forum/admin/dashboard.js.coffee
|
123
147
|
- app/assets/javascripts/my_forum/admin/forums.js.coffee
|
@@ -125,6 +149,8 @@ files:
|
|
125
149
|
- app/assets/javascripts/my_forum/admin/users.js
|
126
150
|
- app/assets/javascripts/my_forum/application.js
|
127
151
|
- app/assets/javascripts/my_forum/forums.js.coffee
|
152
|
+
- app/assets/javascripts/my_forum/jquery.scrollTo.min.js
|
153
|
+
- app/assets/javascripts/my_forum/jquery.selection.js
|
128
154
|
- app/assets/javascripts/my_forum/my_forum.js.coffee
|
129
155
|
- app/assets/javascripts/my_forum/posts.js.coffee
|
130
156
|
- app/assets/javascripts/my_forum/topics.js.coffee
|
@@ -148,7 +174,9 @@ files:
|
|
148
174
|
- app/controllers/my_forum/admin/roles_controller.rb
|
149
175
|
- app/controllers/my_forum/admin/users_controller.rb
|
150
176
|
- app/controllers/my_forum/application_controller.rb
|
177
|
+
- app/controllers/my_forum/attachments_controller.rb
|
151
178
|
- app/controllers/my_forum/forums_controller.rb
|
179
|
+
- app/controllers/my_forum/images_controller.rb
|
152
180
|
- app/controllers/my_forum/posts_controller.rb
|
153
181
|
- app/controllers/my_forum/private_messages_controller.rb
|
154
182
|
- app/controllers/my_forum/topics_controller.rb
|
@@ -167,9 +195,12 @@ files:
|
|
167
195
|
- app/helpers/my_forum/welcome_helper.rb
|
168
196
|
- app/mailers/application_mailer.rb
|
169
197
|
- app/mailers/my_forum/user_mailer.rb
|
198
|
+
- app/models/my_forum/attachment.rb
|
199
|
+
- app/models/my_forum/avatar.rb
|
170
200
|
- app/models/my_forum/category.rb
|
171
201
|
- app/models/my_forum/category_permission.rb
|
172
202
|
- app/models/my_forum/forum.rb
|
203
|
+
- app/models/my_forum/image.rb
|
173
204
|
- app/models/my_forum/log_read_mark.rb
|
174
205
|
- app/models/my_forum/post.rb
|
175
206
|
- app/models/my_forum/private_message.rb
|
@@ -229,10 +260,13 @@ files:
|
|
229
260
|
- db/migrate/20150215204852_create_my_forum_user_group_links.rb
|
230
261
|
- db/migrate/20150215212443_create_my_forum_category_permissions.rb
|
231
262
|
- db/migrate/20150227210814_create_my_forum_private_messages.rb
|
263
|
+
- db/migrate/20151012095554_create_my_forum_images.rb
|
232
264
|
- lib/my_forum.rb
|
233
265
|
- lib/my_forum/engine.rb
|
234
266
|
- lib/my_forum/version.rb
|
235
267
|
- lib/tasks/my_forum_tasks.rake
|
268
|
+
- spec/controllers/my_forum/attachments_controller_spec.rb
|
269
|
+
- spec/controllers/my_forum/images_controller_controller_spec.rb
|
236
270
|
- spec/controllers/my_forum/private_messages_controller_spec.rb
|
237
271
|
- spec/controllers/my_forum/users_controller_spec.rb
|
238
272
|
- spec/dummy/README.rdoc
|
@@ -274,6 +308,7 @@ files:
|
|
274
308
|
- spec/dummy/public/500.html
|
275
309
|
- spec/dummy/public/favicon.ico
|
276
310
|
- spec/helpers/my_forum/private_messages_helper_spec.rb
|
311
|
+
- spec/models/my_forum/image_spec.rb
|
277
312
|
- spec/models/my_forum/private_message_spec.rb
|
278
313
|
- spec/models/my_forum/user_spec.rb
|
279
314
|
- spec/rails_helper.rb
|
@@ -303,6 +338,8 @@ signing_key:
|
|
303
338
|
specification_version: 4
|
304
339
|
summary: Simple Forum
|
305
340
|
test_files:
|
341
|
+
- spec/controllers/my_forum/attachments_controller_spec.rb
|
342
|
+
- spec/controllers/my_forum/images_controller_controller_spec.rb
|
306
343
|
- spec/controllers/my_forum/private_messages_controller_spec.rb
|
307
344
|
- spec/controllers/my_forum/users_controller_spec.rb
|
308
345
|
- spec/dummy/app/assets/javascripts/application.js
|
@@ -344,6 +381,7 @@ test_files:
|
|
344
381
|
- spec/dummy/Rakefile
|
345
382
|
- spec/dummy/README.rdoc
|
346
383
|
- spec/helpers/my_forum/private_messages_helper_spec.rb
|
384
|
+
- spec/models/my_forum/image_spec.rb
|
347
385
|
- spec/models/my_forum/private_message_spec.rb
|
348
386
|
- spec/models/my_forum/user_spec.rb
|
349
387
|
- spec/rails_helper.rb
|