skinny_forum 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +8 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +92 -0
- data/MIT-LICENSE +20 -0
- data/README.md +29 -0
- data/README.rdoc +3 -0
- data/Rakefile +34 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/images/skinny_forum/.keep +0 -0
- data/app/assets/images/skinny_forum/internet.png +0 -0
- data/app/assets/images/skinny_forum/myphoto.jpg +0 -0
- data/app/assets/images/skinny_forum/silver_selector.png +0 -0
- data/app/assets/javascripts/skinnyforum/application.js +22 -0
- data/app/assets/javascripts/skinnyforum/forum_admin.js.coffee +433 -0
- data/app/assets/javascripts/skinnyforum/forum_basic.js.coffee +269 -0
- data/app/assets/javascripts/skinnyforum/forum_translator.js.coffee +113 -0
- data/app/assets/javascripts/skinnyforum/forum_user.js.coffee +394 -0
- data/app/assets/javascripts/skinnyforum/global_java.js +141 -0
- data/app/assets/stylesheets/skinnyforum/application.css.scss +25 -0
- data/app/assets/stylesheets/skinnyforum/custom.css.scss +289 -0
- data/app/controllers/skinnyforum/application_controller.rb +24 -0
- data/app/controllers/skinnyforum/forums_controller.rb +130 -0
- data/app/helpers/skinnyforum/application_helper.rb +4 -0
- data/app/mailers/.keep +0 -0
- data/app/mailers/skinnyforum/user_mailer.rb +13 -0
- data/app/models/.keep +0 -0
- data/app/models/skinnyforum/forum.rb +251 -0
- data/app/models/skinnyforum/forum_category.rb +70 -0
- data/app/models/skinnyforum/forum_hyperlink.rb +50 -0
- data/app/models/skinnyforum/forum_language.rb +86 -0
- data/app/models/skinnyforum/forum_people_list.rb +183 -0
- data/app/models/skinnyforum/forum_photo.rb +62 -0
- data/app/models/skinnyforum/forum_topic.rb +137 -0
- data/app/models/skinnyforum/forum_translation.rb +109 -0
- data/app/views/layouts/skinnyforum/application.html.erb +14 -0
- data/app/views/skinnyforum/forums/_dummy.html.erb +0 -0
- data/app/views/skinnyforum/forums/_forum.html.erb +107 -0
- data/app/views/skinnyforum/forums/_forum_admin.html.erb +133 -0
- data/app/views/skinnyforum/forums/newforum_photo.js.erb +1 -0
- data/app/views/skinnyforum/user_mailer/note_to_forum_users.html.erb +32 -0
- data/app_data/forum_base.csv +8 -0
- data/app_data/forum_help.csv +24 -0
- data/app_data/reset cmds +13 -0
- data/config/locales/skinnyforum/forum_de.yml +88 -0
- data/config/locales/skinnyforum/forum_en.yml +88 -0
- data/config/locales/skinnyforum/forum_es.yml +88 -0
- data/config/locales/skinnyforum/forum_fr.yml +88 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20130100_add_users.rb +11 -0
- data/db/migrate/20140601_add_forums.rb +164 -0
- data/lib/skinny_forum.rb +4 -0
- data/lib/skinny_forum/engine.rb +5 -0
- data/lib/skinny_forum/forum_shared_code.rb +94 -0
- data/lib/skinny_forum/version.rb +3 -0
- data/lib/tasks/forum_tasks.rake +52 -0
- data/lib/tasks/skinny_forum_tasks.rake +4 -0
- data/skinny_forum.gemspec +28 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/mailers/.keep +0 -0
- data/test/dummy/app/models/.keep +0 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +83 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/skinny_forum_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- metadata +234 -0
@@ -0,0 +1,109 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: forum_translations
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# forum_id :integer
|
7
|
+
# forum_topic_id :integer
|
8
|
+
# forum_category_id :integer
|
9
|
+
# forum_language_id :integer
|
10
|
+
# user_id :integer
|
11
|
+
# suggestion :boolean default(FALSE)
|
12
|
+
# state :string(20) default("new")
|
13
|
+
# content :text
|
14
|
+
# resolution :text
|
15
|
+
# created_at :datetime
|
16
|
+
# updated_at :datetime
|
17
|
+
#
|
18
|
+
|
19
|
+
class ForumTranslation < ActiveRecord::Base
|
20
|
+
include ForumSharedCode
|
21
|
+
require 'json'
|
22
|
+
belongs_to :forum
|
23
|
+
belongs_to :forum_category
|
24
|
+
belongs_to :forum_topic
|
25
|
+
belongs_to :forum_hyperlink
|
26
|
+
|
27
|
+
def self.translate_to(list)
|
28
|
+
list.each{|entry|
|
29
|
+
translations=ForumAssist.named_array(ForumTranslation.where(forum_id:entry[:id]).pluck(:language,:content),[:language,:content],d2=true)
|
30
|
+
entry.store(:translations,translations)
|
31
|
+
}
|
32
|
+
list
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.get_localized_forum(language,params)
|
36
|
+
params={language:0} if params.nil? #won't match so will default to non-translated copy
|
37
|
+
plucking=ForumAssist.make_string_list(params[:plucking])
|
38
|
+
ordering=ForumAssist.make_string_list(params[:ordering]) unless params[:ordering].nil?
|
39
|
+
params[:ordering].nil? ?
|
40
|
+
alist=Forum.where(params[:lookup]).pluck(plucking) :
|
41
|
+
alist= Forum.where(params[:lookup]).order(ordering).pluck(plucking)
|
42
|
+
unless alist.empty?
|
43
|
+
indexes=plucking.split(',')
|
44
|
+
content=indexes.index('content')
|
45
|
+
language_list=ForumLanguage.where(active:true).order(:code).pluck(:id,:name)
|
46
|
+
language_list=ForumAssist.named_array(language_list,[:id,:item],d2=true)
|
47
|
+
if alist.is_a?(Array)
|
48
|
+
alist.each { |a_entry|
|
49
|
+
entry=ForumAssist.named_array(a_entry,params[:plucking],d2=false)
|
50
|
+
translation = ForumTranslation.where(forum_id:entry[:id],forum_language_id:language).pluck(:content)[0] unless language.nil?
|
51
|
+
a_entry[content]=translation unless translation.nil?
|
52
|
+
full_list=ForumTranslation.where(forum_id:entry[:id]).pluck(:forum_language_id)
|
53
|
+
a_entry.push(!(full_list.size==language_list.size))
|
54
|
+
if language_list.empty?
|
55
|
+
a_entry.push(['nothing'])
|
56
|
+
else
|
57
|
+
this_list=[]
|
58
|
+
language_list.each{ |thisone| this_list.push(thisone[:item]) unless full_list.include?(thisone[:id]) }
|
59
|
+
a_entry.push(this_list.clone.to_json )
|
60
|
+
end
|
61
|
+
}
|
62
|
+
else
|
63
|
+
translation = ForumTranslation.where(forum_id:alist[:id],forum_language_id:language).pluck(:content)[0]
|
64
|
+
alist[:content]=translation unless translation.nil?
|
65
|
+
end
|
66
|
+
params[:size] == 0 ? alist[0] : alist
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# noinspection RubyLiteralArrayInspection
|
71
|
+
def self.get_translations(params)
|
72
|
+
language = ForumLanguage.get_me(params)
|
73
|
+
topic = ForumTopic.where(name:params[:topic]).pluck(:id)[0]
|
74
|
+
ForumAssist.named_array(ForumTranslation.where(forum_topic_id:topic,forum_language_id:language,state:['new','open']).pluck(:forum_id,:content,:suggestion),[:forum_id,:translation,:suggestion],d2=true)
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.add_one(params,topic_id,user_id,forum_id)
|
78
|
+
unless params[:translation] == ''
|
79
|
+
if ForumPeopleList.check_people({topic:topic_id,list:'moderator',user_id:user_id}) && !ForumTranslation.where(forum_language_id:ForumLanguage.get_me(params),forum_id:params[:id]).nil?
|
80
|
+
ForumTranslation.where(forum_id:forum_id,forum_topic_id:topic_id, forum_language_id:ForumLanguage.get_me(params)).update_all(content:params[:translation],suggestion:false,state:'open')
|
81
|
+
ForumTranslation.where(forum_id:params[:id],forum_topic_id:topic_id,suggestion:true).update_all(state:'closed')
|
82
|
+
else
|
83
|
+
suggestion = !ForumTranslation.where(forum_language_id:ForumLanguage.get_me(params),forum_id:forum_id).nil?
|
84
|
+
ForumTranslation.create(forum_id:forum_id,user_id:user_id,forum_topic_id:topic_id, forum_language_id:ForumLanguage.get_me(params), content:params[:translation],suggestion:suggestion,state:'new')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.translate_list(alist,language,list_name)
|
90
|
+
alist.each.each {|entry|
|
91
|
+
translation=ForumTranslation.find_by(forum_id:entry[:id],forum_language_id:language) unless language.nil?
|
92
|
+
case list_name
|
93
|
+
when 'category'
|
94
|
+
entry.store(:item,ForumCategory.where(id:entry[:id]).pluck(:name)[0] )
|
95
|
+
entry.store(:value,entry[:item])
|
96
|
+
when 'topic'
|
97
|
+
entry.store(:item,ForumTopic.where(id:entry[:id]).pluck(:name)[0] )
|
98
|
+
entry.store(:value,entry[:item])
|
99
|
+
when 'language'
|
100
|
+
translation ={content:entry[:value].concat(' - ').concat(entry[:local_name])}
|
101
|
+
entry.store(:value,'wait')
|
102
|
+
else
|
103
|
+
end
|
104
|
+
entry[:value]=translation[:content] unless translation.nil?
|
105
|
+
}
|
106
|
+
alist
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= full_title(yield(:title)) %></title>
|
5
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
|
6
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<div class="container" id="main-body">
|
11
|
+
<%= yield %>
|
12
|
+
</div>
|
13
|
+
</body>
|
14
|
+
</html>
|
File without changes
|
@@ -0,0 +1,107 @@
|
|
1
|
+
<div id="forum-box" class="col-md-12" >
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
<%@categories=[['select category',0] ]%>
|
6
|
+
<%@forum_actions=[] %>
|
7
|
+
<%@user_tags=[] %>
|
8
|
+
<%@user_email=[]%>
|
9
|
+
<%@distribution_lists=[] %>
|
10
|
+
<%@languages= [['Select Language',0]] %>
|
11
|
+
<%@myphoto= 'forum_photo' %>
|
12
|
+
<%@topics=[['select topic',0] ] %>
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
<%= select_tag(:forum, options_for_select(@categories),id:'forum-category', class: 'forum-select') %>
|
18
|
+
<%= select_tag(:forum, options_for_select(@topics), id:'forum-topic', class: 'forum-select') %>
|
19
|
+
<span id="forum-voting-booth" hidden>
|
20
|
+
<button class='forum-vote-up' type='button' id= 'forum-vote' name='up'>
|
21
|
+
<span class="glyphicon glyphicon-chevron-up"></span>
|
22
|
+
</button>
|
23
|
+
<button type="button" class="vote-green" id='forum-vote-count' value="vote"></button>
|
24
|
+
<button class='forum-vote-down' type='button' id= 'forum-vote' name='down'>
|
25
|
+
<span class="glyphicon glyphicon-chevron-down"></span>
|
26
|
+
</button>
|
27
|
+
</span>
|
28
|
+
<span id= 'subscribe-forum' hidden> <input class='blue-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-subscribe' value= "<%= t('forum.Subscribe')%>" ></span>
|
29
|
+
<span id= 'unsubscribe-forum' hidden> <input class='red-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-unsubscribe' value= "<%= t('forum.Unsubscribe')%>" ></span>
|
30
|
+
<span id= 'review-forum-span' hidden>
|
31
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'review-forum' data-state='done' data-done= "<%= t('forum.Done')%>" data-review= "<%= t('forum.Review')%>" value= "<%= t('forum.Review')%>" >
|
32
|
+
<span id='forum-review-buttons' hidden>
|
33
|
+
<input class='green-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-accept-rest' value= "<%= t('forum.Accept_Rest')%>" >
|
34
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-reject-rest' value= "<%= t('forum.Reject_Rest')%>" >
|
35
|
+
</span></span>
|
36
|
+
<span id="forum-senate-admin">
|
37
|
+
<span hidden> <input type="text" id="forum-add-admin-user" class="admin-edit-field" value="'me" ></span>
|
38
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'forum-admin-views' data-view= 'lists' value= "<%= t('forum.Lists')%>" >
|
39
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'forum-admin-views' data-view= 'users' value= "<%= t('forum.Users')%>" >
|
40
|
+
</span>
|
41
|
+
<span><input class='red-elipse comment-btn right' type='button' id= 'close-forum' value= "<%= t('forum.Close')%>" > </span>
|
42
|
+
<%unless @languages.nil? %><%= select_tag(:forum, options_for_select(@languages), id:'forum-language',class: 'forum-select right pad-10R') %> <%end%>
|
43
|
+
|
44
|
+
<div class= 'new-thing' id="forum-add-new-thing-span" hidden>
|
45
|
+
<input id="forum-suggestion" class="new-thing">
|
46
|
+
<input class='green-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-add-suggestion-submit' value= "<%= t('forum.Submit')%>" >
|
47
|
+
</div>
|
48
|
+
<span id="forum-dummy-box"></span>
|
49
|
+
<div id="forum-photo-upload " style="display: none;">
|
50
|
+
<%= form_for @myphoto, url:url_for(controller: :forums, action: :newforum_photo), html:{id: 'my-forum-photo'}, remote:true do |f| %>
|
51
|
+
<span >
|
52
|
+
<%= csrf_meta_tags %>
|
53
|
+
<% @form=f %>
|
54
|
+
<label for="upload_file">Select File</label>
|
55
|
+
<%= f.text_area :data %>
|
56
|
+
<%= f.file_field :file, multiple: true %>
|
57
|
+
</span>
|
58
|
+
<%end%>
|
59
|
+
</div>
|
60
|
+
|
61
|
+
<div class="forum-senate" id='forum-senate'>
|
62
|
+
<span id=forum-comment-span class="comment-new-span">
|
63
|
+
<input class='green-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-post-it' value= "<%= t('forum.Post')%>" >
|
64
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-edit-comment' value= "<%= t('forum.Edit')%>" >
|
65
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-restrict-comment' data-unrestrict= "<%= t('forum.Unrestrict')%>" data-restrict= "<%= t('forum.Restrict')%>" value='' >
|
66
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-invite-comment' value= "<%= t('forum.invite')%>" >
|
67
|
+
<input class='green-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-accept-comment' value= "<%= t('forum.Accept')%>" >
|
68
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-user-button' name= 'forum-reject-comment' value= "<%= t('forum.Reject')%>" >
|
69
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-user-button' name= 'add-forum-voting' value= "<%= t('forum.Add_Voting')%>" >
|
70
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-user-button' name= 'add-forum-translation' value= "<%= t('forum.Translate')%>" >
|
71
|
+
|
72
|
+
<%= image_tag('internet.png',class: 'forum-add-internet', id:'forum-add-hyperlink') %>
|
73
|
+
<%= image_tag('myphoto.jpg', class: 'forum-add-photo', id: 'forum-add-photo') %>
|
74
|
+
<%= text_area_tag 'forum-comment',nil, rows:3, class:'senate-new'%>
|
75
|
+
<input class='red-elipse comment-btn right' type='button' id= 'forum-user-button' name= 'forum-cancel-comment' value= "<%= t('forum.Cancel')%>" >
|
76
|
+
<span id="forum-invitation-span" hidden>
|
77
|
+
<label><%= t('forum.Invitation_list')%></label>
|
78
|
+
<input type="text" class="admin-edit-field" id= "forum-invite-list">
|
79
|
+
</span>
|
80
|
+
<span id="forum-add-hyperlink-span">
|
81
|
+
<label><%= t('forum.Hyperlink')%></label>
|
82
|
+
<label>URL</label>
|
83
|
+
<input type="text" class="admin-edit-field" id= "forum-hyperlink-address">
|
84
|
+
<label><%= t('forum.Text')%></label>
|
85
|
+
<input type="text" class="admin-edit-field" id= "forum-hyperlink-text">
|
86
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-create-hyperlink' value= "<%= t('forum.Create')%>" >
|
87
|
+
</span>
|
88
|
+
<span id="forum-translate-hyperlink-span">
|
89
|
+
</span>
|
90
|
+
<span id="forum-translation-span" class="forum-translation-span" hidden>
|
91
|
+
<label id="choice-label "><%= t('forum.Translation')%></label>
|
92
|
+
<span class="btn-group">
|
93
|
+
<button class="cool-selector"><input class= 'silver-selector' type='button' id= 'forum-translation-language' data-select_it="<%= t('forum.select_language')%>" value="<%= t('forum.select_language')%>"></button>
|
94
|
+
<ul id='forum-translation-choices' class="dropdown-menu">
|
95
|
+
|
96
|
+
</ul>
|
97
|
+
</span>
|
98
|
+
<div id="forum-translation-scroll" class="forum-translation-scroll">
|
99
|
+
<%= text_area_tag 'forum-comment-translation',nil, rows:3, class:'senate-new' %>
|
100
|
+
</div>
|
101
|
+
|
102
|
+
</span>
|
103
|
+
</span>
|
104
|
+
</div>
|
105
|
+
|
106
|
+
<%=render partial: 'forums/forum_admin'%>
|
107
|
+
</div>
|
@@ -0,0 +1,133 @@
|
|
1
|
+
<div class="forum-senate" id="forum-senate-admin-users" style="display: none;">
|
2
|
+
|
3
|
+
<%@empty= [[t( :empty_list),0 ]] %>
|
4
|
+
<div class='row'><br>
|
5
|
+
<span class="col-md-3">
|
6
|
+
<br><br>
|
7
|
+
<%=select_tag(:users,options_for_select(@forum_actions ), id:'forum-actions', class:'forum-select')%>
|
8
|
+
<input class='red-elipse comment-btn' type='button' id= "forum-admin-button" name ='forum-act-on-admin-selector' value= "<%= t('forum.Submit')%>" >
|
9
|
+
</span>
|
10
|
+
<span class="col-md-3">
|
11
|
+
<label> <%= t('forum.User_Name') %> </label> <br><br>
|
12
|
+
|
13
|
+
<button class="cool-selector" name="forum-user-tag-show"><input class= 'silver-selector' type='button' id= 'forum-admin-button' name='forum-user-tag-choose' value="<%= t('forum.select_user')%>"></button>
|
14
|
+
<span id='forum-user-tag-span'><%=select_tag(:users,options_for_select(@user_tags ), multiple:true, name:'forum-user-tag',size:6, class:'forum-select')%></span>
|
15
|
+
</span>
|
16
|
+
<span class="col-md-3">
|
17
|
+
<label> <%= t('forum.User_Email')%> </label> <br><br>
|
18
|
+
<button class="cool-selector" name="forum-user-email-show"><input class= 'silver-selector' type='button' id= 'forum-admin-button' name='forum-user-email-choose' value="<%= t('forum.select_user')%>"></button>
|
19
|
+
<span id='forum-user-email-span'><%=select_tag(:user_email,options_for_select(@user_email), multiple:true, size:6, name:'forum-user-email', class:'forum-select')%></span>
|
20
|
+
</span>
|
21
|
+
<span class="col-md-3">
|
22
|
+
<span id="forum-distribution-span">
|
23
|
+
<label> <%= t('forum.Distribuiton_List_Name')%> </label> <br><br>
|
24
|
+
<%=select_tag(:forum,options_for_select(@distribution_lists), id:'forum-distribution-lists', class:'forum-select')%>
|
25
|
+
<input type="text" id='forum-new-distribution-list' class="admin-edit-field" hidden >
|
26
|
+
</span>
|
27
|
+
<span id="forum-moderator-add-span">
|
28
|
+
<label> <%= t('Add_Topic_Monitor')%> </label> <br><br>
|
29
|
+
<%= select_tag(:forum, options_for_select(@categories),id:'forum-category-monitor', class: 'forum-select') %>
|
30
|
+
<%= select_tag(:forum, options_for_select(@topics), id:'forum-topic-monitor', class: 'forum-select') %>
|
31
|
+
</span>
|
32
|
+
</span>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
|
36
|
+
<div id= 'forum-email-email' class="row" style="display: none;">
|
37
|
+
<input type="text" id="forum-email-subject" class="forum-email-subject" placeholder="<%= t('forum.subject')%>" >
|
38
|
+
<textarea id="forum-email-body" class="forum-email-body" placeholder="<%= t('forum.message')%>" ></textarea>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
<div class="forum-senate" id="forum-senate-admin-lists" style="display: none;">
|
42
|
+
<%@categories.pop%>
|
43
|
+
<%@categories2=@categories.clone%>
|
44
|
+
<%@categories2.pop%>
|
45
|
+
<%= select_tag(:forum, options_for_select(@categories2),id:'forum-category-admin', class: 'forum-select') %>
|
46
|
+
<div class="row senate-row">
|
47
|
+
<div id= 'forum-category-set' class="col-md-4">
|
48
|
+
<ul id= 'forum-admins-category-list'>
|
49
|
+
<li>
|
50
|
+
<input class='red-elipse btn-sm' type='button' id= 'delete-forum-object'
|
51
|
+
data-del= "<%= t('forum.del')%>" data-open= "<%= t('forum.open')%>" value= "<%= t('forum.del')%>" >
|
52
|
+
<input class='blue-elipse btn-sm' type='button' id= 'edit-forum-object'
|
53
|
+
data-save= "<%= t('forum.save')%>" data-edit= "<%= t('forum.edit')%>" value= "<%= t('forum.edit')%>" >
|
54
|
+
<span></span><span id="forum-edit-me" hidden><input type="text" class="admin-edit-field" ></span>
|
55
|
+
</li>
|
56
|
+
</ul>
|
57
|
+
<span id="forum-add-category-input-span" hidden><input id='forum-add-admin-category' type="text" class="admin-edit-field" ></span> <br>
|
58
|
+
<input class='blue-elipse comment-btn' type='button' id=forum-admin-button name= 'forum-add-category'
|
59
|
+
data-state='add' data-add= "<%= t('forum.Add_Category')%>" data-save= "<%= t('forum.save')%>" value= "<%= t('forum.Add_Category')%>" >
|
60
|
+
<input class='blue-elipse comment-btn' type='button' id=forum-admin-button name= 'forum-translate-category'
|
61
|
+
data-state='translate' data-translate= "<%= t('forum.Translate')%>" data-done= "<%= t('forum.Done')%>" value= "<%= t('forum.Translate')%>" >
|
62
|
+
<input class='red-elipse comment-btn' type='button' id=forum-admin-button name= 'forum-add-cancel'
|
63
|
+
data-who='category' value= "<%= t('forum.Cancel')%>" >
|
64
|
+
<ul id="forum-category-prososals-list" hidden>
|
65
|
+
<li>
|
66
|
+
<input class='green-elipse btn-sm' type='button' id= 'forum-admin-button' name= 'forum-suggestion-response'
|
67
|
+
data-action='accept' value= "<%= t('forum.Accept')%>" >
|
68
|
+
<input class='red-elipse btn-sm' type='button' id= 'forum-admin-button' name= 'forum-suggestion-response'
|
69
|
+
data-action='reject' value= "<%= t('forum.Reject')%>" >
|
70
|
+
<span data-type="item"></span><span data-type="user"></span>
|
71
|
+
</li>
|
72
|
+
</ul>
|
73
|
+
</div>
|
74
|
+
<div id= 'forum-topic-set' class="col-md-5">
|
75
|
+
<ul id="forum-admins-topic-list">
|
76
|
+
<li>
|
77
|
+
<input class='red-elipse btn-sm' type='button' id= 'delete-forum-object'
|
78
|
+
data-del= "<%= t('forum.del')%>" data-open= "<%= t('forum.open')%>" value= "<%= t('forum.del')%>" >
|
79
|
+
<input class='blue-elipse btn-sm' type='button' id= 'edit-forum-object'
|
80
|
+
data-save= "<%= t('forum.save')%>" data-edit= "<%= t('forum.edit')%>" value= "<%= t('forum.edit')%>" >
|
81
|
+
<span></span><span id="forum-edit-me" hidden><input type="text" class="admin-edit-field" ></span>
|
82
|
+
</li>
|
83
|
+
</ul>
|
84
|
+
<span id="forum-add-topic-input-span" hidden><input id='forum-add-admin-topic' type="text" class="admin-edit-field" ></span><br>
|
85
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name='forum-add-topic'
|
86
|
+
data-state='add' data-add= "<%= t('forum.Add_Topic')%>" data-save= "<%= t('forum.save')%>" value= "<%= t('forum.Add_Topic')%>" >
|
87
|
+
<input class='blue-elipse comment-btn' type='button' id=forum-admin-button name= 'forum-translate-topic'
|
88
|
+
data-state='translate' data-translate= "<%= t('forum.Translate')%>" data-done= "<%= t('forum.Done')%>" value= "<%= t('forum.Translate')%>" >
|
89
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-admin-button' name='forum-add-cancel'
|
90
|
+
data-who='topic' value= "<%= t('forum.Cancel')%>" >
|
91
|
+
<ul id="forum-topic-prososals-list" hidden>
|
92
|
+
<li>
|
93
|
+
<input class='green-elipse btn-sm' type='button' id= 'forum-admin-button' name='forum-suggestion-response'
|
94
|
+
data-action='accept' value= "<%= t('forum.Accept')%>" >
|
95
|
+
<input class='red-elipse btn-sm' type='button' id= 'forum-admin-button' name='forum-suggestion-response'
|
96
|
+
data-action='reject' value= "<%= t('forum.Reject')%>" >
|
97
|
+
<span data-type="item"></span><span data-type='user'></span><span data-type="category"></span>
|
98
|
+
</li>
|
99
|
+
</ul>
|
100
|
+
</div>
|
101
|
+
<div id= 'forum-language-set' class="col-md-3">
|
102
|
+
<span id="forum-add-language-input-span" hidden>
|
103
|
+
<label><%= t('forum.Language_Name')%> </label>
|
104
|
+
<input id='forum-add-admin-language' type="text" class="admin-edit-field" >
|
105
|
+
<label><%= t('forum.Localized_Name') %></label>
|
106
|
+
<input id='forum-add-admin-language-localized' type="text" class="admin-edit-field" >
|
107
|
+
<label><%= t('forum.Language_code') %></label>
|
108
|
+
<input id='forum-add-admin-language-code' type="text" class="admin-edit-field" >
|
109
|
+
</span><br>
|
110
|
+
|
111
|
+
<span id="language-selector-span" hidden>
|
112
|
+
<%=select_tag(:users,options_for_select([t('forum.Select_Language')] ), id:'forum-admin-language-select', class:'forum-select')%><br>
|
113
|
+
</span>
|
114
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'forum-activate-language' value= "<%= t('forum.Activate')%>" >
|
115
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'forum-deactivate-language' value= "<%= t('forum.Deactivate')%>" >
|
116
|
+
<br>
|
117
|
+
<input class='blue-elipse comment-btn' type='button' id= 'forum-admin-button' name= 'forum-add-language'
|
118
|
+
data-state='add' data-add= "<%= t('forum.Add_Language')%>" data-save= "<%= t('forum.save')%>" value= "<%= t('forum.Add_Language')%>" >
|
119
|
+
<input class='red-elipse comment-btn' type='button' id= 'forum-admin-button' name='forum-add-cancel' data-who='language' value= "<%= t('forum.Cancel')%>" >
|
120
|
+
|
121
|
+
<ul id="forum-language-prososals-list" hidden>
|
122
|
+
<li>
|
123
|
+
<input class='blue-elipse btn-sm' type='button' id= 'forum-admin-button' name= 'forum-suggestion-response' value= "<%= t('forum.Close')%>" >
|
124
|
+
<span></span>
|
125
|
+
<span data-type="language"></span><span></span>
|
126
|
+
</li>
|
127
|
+
</ul>
|
128
|
+
</div>
|
129
|
+
</div>
|
130
|
+
</div>
|
131
|
+
|
132
|
+
|
133
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
$("#forum-dummy-box").html('<%= escape_javascript(render partial: 'shared/dummy' )%>');
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<div>
|
8
|
+
|
9
|
+
<img src="https://openstuff.s3.amazonaws.com/pdmlogo2.png" height=80>
|
10
|
+
|
11
|
+
<h2>'<%= t(:from_Forum_Admin)%>'</h2>
|
12
|
+
|
13
|
+
<br>
|
14
|
+
</div>
|
15
|
+
<div>
|
16
|
+
<%(0...@content.size).each do |i| %>
|
17
|
+
<%= @content[i]%>
|
18
|
+
<br>
|
19
|
+
<%end%>
|
20
|
+
</div>
|
21
|
+
<div>
|
22
|
+
<br>
|
23
|
+
<br>
|
24
|
+
<br>
|
25
|
+
Email: <%= link_to('bnaCreations.heroukuapp@heroku.com', 'mailto:bnaCreations@gmail.com', class: 'contact2') %>
|
26
|
+
|
27
|
+
</div>
|
28
|
+
|
29
|
+
|
30
|
+
</body>
|
31
|
+
|
32
|
+
</html>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
tag,user_id,category,restricted,owner_name,topic,content,parent,resolution,state
|
2
|
+
1,1,new feature,false,bobb,animation,What about animation,0,,new
|
3
|
+
2,2,new feature,false,Jacky,animation,What kind of output,1,,new
|
4
|
+
3,1,new feature,false,bobb,animation,Gif file output,2,,new
|
5
|
+
4,3,new feature,false,joe joe,animation,Can we make them talk,1,,new
|
6
|
+
5,1,new feature,false,bobb,animation,"Yes, we can use some software to sync their mouth movement with a sound track",4,,new
|
7
|
+
6,2,new feature,false,Jacky,animation,Can I use it for my school project,1,,new
|
8
|
+
7,1,new feature,false,bobb,animation,Yes as long as your professor okays it,6,,new
|
@@ -0,0 +1,24 @@
|
|
1
|
+
tag,user_id,category,restricted,owner_name,topic,content,parent,resolution,state
|
2
|
+
8,1,help,false,bobb,help, help options,0,,new
|
3
|
+
10,1,help,false,bobb,crop,change image to include only the area selected,0,,new
|
4
|
+
12,1,help,false,bobb,cut,remove selected image content,0,,new
|
5
|
+
14,1,help,false,bobb,color crop,Remove all except the dominate color in the selected area,0,,new
|
6
|
+
16,1,help,false,bobb,color erase,Remove the dominate color in the selected area,0,,new
|
7
|
+
18,1,help,false,bobb,borders,feather the borders,0,,new
|
8
|
+
20,1,help,false,bobb,shadow,Remove the dark parts of the selected area- typically shadows,0,,new
|
9
|
+
22,1,help,false,bobb,select,operate on the area bounded by the selected area,0,,new
|
10
|
+
24,1,help,false,bobb,select,"pen image erase or un-erase, double click will change state",0,,new
|
11
|
+
26,1,help,false,bobb,Fit,make edited object fit into window,0,,new
|
12
|
+
28,1,help,false,bobb,Composite,set view where multiple image are able to be arranged upon a background,0,,new
|
13
|
+
30,1,help,false,bobb,Undo,"Undo the last action, the program save 4 actions",0,,new
|
14
|
+
32,1,help,false,bobb,Save,Save image to a file,0,,new
|
15
|
+
34,1,help,false,bobb,add image,"add an image to the project. This will allow you to select an image on your computer to add to your project. The image will be processed to remove the background color, ie. Green Screen. You can select no-processing to manually remove the background if you prefer. You may also select any image from your image collection",0,,new
|
16
|
+
36,1,help,false,bobb,Composite – crop,"this will crop the background to the area selected, in effect zooming in",0,,new
|
17
|
+
38,1,help,false,bobb,Edit,Set View to edit selected image,0,,new
|
18
|
+
40,1,help,false,bobb,Double click,this will select the image the mouse is on. ,0,,new
|
19
|
+
42,1,help,false,bobb,Select Background,choose a background image from the websites collection,0,,new
|
20
|
+
44,1,help,false,bobb,my own Background,Choose an image for the background from one on your computer. You can choose to make it public so other user can select it or keep it private so that it's only available to you,0,,new
|
21
|
+
46,1,help,false,bobb,New Project,Create a new project. You will be asked to name the new project and provide a description of it for your future reference. The project may have as many images as you like arranged on a background,0,,new
|
22
|
+
48,1,help,false,bobb,My image,add an image from you collection to your project,0,,new
|
23
|
+
50,1,help,false,bobb,Locate,Will reset all images position to the top left corner of the background and size them to full height,0,,new
|
24
|
+
52,1,help,false,bobb,Merge,this will write out a png file with the images and background.,0,,new
|
data/app_data/reset cmds
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
heroku pg:reset HEROKU_POSTGRESQL_BLACK_URL --app bnastudios --confirm bnastudios
|
3
|
+
heroku run rake db:migrate --app bnastudios
|
4
|
+
heroku run rake db:loadme --app bnastudios
|
5
|
+
heroku run rake db:load_forum --app bnastudios
|
6
|
+
heroku restart --app bnastudios
|
7
|
+
|
8
|
+
|
9
|
+
heroku pg:reset HEROKU_POSTGRESQL_GRAY_URL --app staging-bnastudios --confirm staging-bnastudios
|
10
|
+
heroku run rake db:migrate --app staging-bnastudios
|
11
|
+
heroku run rake db:loadme --app staging-bnastudios
|
12
|
+
heroku run rake db:load_forum --app staging-bnastudios
|
13
|
+
heroku restart --app staging-bnastudios
|