xforum 0.0.23 → 0.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/xforum/category.rb +2 -2
- data/app/models/xforum/forum.rb +2 -2
- data/app/models/xforum/photo.rb +1 -1
- data/app/models/xforum/topic.rb +4 -4
- data/app/models/xforum/translation.rb +19 -4
- data/lib/active_record_extension.rb +69 -0
- data/lib/xforum/engine.rb +1 -0
- data/lib/xforum/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc117ec03d67331b03463b23ad6bd5f7a497e442
|
4
|
+
data.tar.gz: 9ea7c11c3b567a1af0265c3c08d13dc51facb1f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5e609daa43c2f2ea42740b402dc8ab08de6623397426bb81abc4fc87aba334323643cb28756f970c8dbb460dc47b0f69abec8f8f299843a7478b7c7e7a29140
|
7
|
+
data.tar.gz: a6251e7c28d92c1785df25b1d92fa7842bfb78a74caca2bcc9ef31eb7e32c4f1fe2177f5cfb445d789ba149d5a3d06b5fa5ddc18f12247a4b48c1172aa28490f
|
@@ -60,8 +60,8 @@ module Xforum
|
|
60
60
|
Category.create(name:'select category',closed:false,suggestion:false)
|
61
61
|
end
|
62
62
|
params[:hold_test]=='true' ?
|
63
|
-
category_list=
|
64
|
-
category_list=
|
63
|
+
category_list= Category.grab({closed:false,suggestion:false},[:id,:name,:closed,:restricted],{}) :
|
64
|
+
category_list= Category.grab('all',[:id,:name,:closed,:restricted],{})
|
65
65
|
category_list=ForumAssist.make_last(category_list.clone, {key: :id,ref:Category.where(name:'request new category').pluck(:id)[0]})
|
66
66
|
category_list=ForumAssist.make_first(category_list.clone,{key: :id,ref:Category.where(name:'select category').pluck(:id)[0]})
|
67
67
|
category_list=PeopleList.check_restrictions(category_list.clone,user,'categories') unless user.forum_admin?
|
data/app/models/xforum/forum.rb
CHANGED
@@ -64,7 +64,7 @@ module Xforum
|
|
64
64
|
if senate_list.nil? || senate_list.empty?
|
65
65
|
[]
|
66
66
|
else
|
67
|
-
voting=
|
67
|
+
voting=Topic.grab({id:topic_id},[:vote,:votes],{})[0]
|
68
68
|
voting[:vote] ? votes=Topic.count_votes(JSON.load(voting[:votes])) : votes=0
|
69
69
|
parent=Forum.look_for_key(senate_list,:parent,0)
|
70
70
|
new_list=[]
|
@@ -90,7 +90,7 @@ module Xforum
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def self.clear_user_topic(user_id,topic_id)
|
93
|
-
comments=
|
93
|
+
comments=Forum.grab({topic_id:topic_id},[:id,:tag],{order:[:tag]})
|
94
94
|
tags=[]
|
95
95
|
test_comments=comments.clone
|
96
96
|
test_comments.each{ |comment|
|
data/app/models/xforum/photo.rb
CHANGED
@@ -28,7 +28,7 @@ module Xforum
|
|
28
28
|
|
29
29
|
def self.get_photo(params)
|
30
30
|
params[:id].nil? || params[:id] == '' ? which = {tag:params[:tag]} : which = {id:params[:id]}
|
31
|
-
data=
|
31
|
+
data=Forum.grab(which,[:id,:parent],{})[0]
|
32
32
|
urls=Photo.get_photos(data[:id])
|
33
33
|
{tag:params[:tag],edit:params[:edit],urls:urls,id:data[:id],parent:data[:parent],count:params[:count].to_i+1}
|
34
34
|
end
|
data/app/models/xforum/topic.rb
CHANGED
@@ -15,12 +15,12 @@ module Xforum
|
|
15
15
|
unless params[:category] == 'select category'
|
16
16
|
category_id=Category.where(name:params[:category]).pluck(:id)[0]
|
17
17
|
params[:hold_test]=='true' ?
|
18
|
-
topics=
|
19
|
-
topics=
|
18
|
+
topics=Topic.grab({category_id:category_id,closed:false,suggestion:false}, [:id,:name,:state,:restricted,:closed],{swap:{name: :item}}) :
|
19
|
+
topics=Topic.grab({category_id:category_i}, [:id,:name,:state,:restricted,:closed],{swap:{name: :item}})
|
20
20
|
topics=[] if topics[0][:id].nil?
|
21
21
|
topics=PeopleList.check_restrictions(topics,user,'topic') unless user.forum_admin?
|
22
|
-
a=
|
23
|
-
b=
|
22
|
+
a=Topic.grab({name:'select topic'},[:id,:name,:state,:restricted,:closed],{swap:{name: :item}})[0]
|
23
|
+
b=Topic.grab({name:'request new topic'}, [:id,:name,:state,:restricted,:closed],{swap:{name: :item}})[0]
|
24
24
|
topics.unshift(a)
|
25
25
|
topics.push(b)
|
26
26
|
{list_data:Translation.translate_list(topics,params[:language],'topic'),id:params[:list]}
|
@@ -1,3 +1,16 @@
|
|
1
|
+
# forum_id t.integer
|
2
|
+
# user_id t.integer
|
3
|
+
# topic_id t.integer
|
4
|
+
# category_id t.integer
|
5
|
+
# language_id t.integer
|
6
|
+
# hyperlink_id t.integer
|
7
|
+
# suggestion, t.boolean default: false
|
8
|
+
# state, t.string limit: 20, default: new
|
9
|
+
# content t.text
|
10
|
+
# resolution t.text
|
11
|
+
# created_at t.datetime
|
12
|
+
# updated_at t.datetime
|
13
|
+
|
1
14
|
|
2
15
|
module Xforum
|
3
16
|
class Translation < ActiveRecord::Base
|
@@ -9,7 +22,7 @@ module Xforum
|
|
9
22
|
|
10
23
|
def self.translate_to(list)
|
11
24
|
list.each{|entry|
|
12
|
-
translations=
|
25
|
+
translations=AssitMe.named_array(Translation.where(forum_id:entry[:id]).pluck(:language,:content),[:language,:content])
|
13
26
|
entry.store(:translations,translations)
|
14
27
|
}
|
15
28
|
list
|
@@ -52,9 +65,11 @@ module Xforum
|
|
52
65
|
|
53
66
|
# noinspection RubyLiteralArrayInspection
|
54
67
|
def self.get_translations(params)
|
55
|
-
|
56
|
-
|
57
|
-
ForumAssist.named_array(Translation.where(topic_id:
|
68
|
+
language_id = Language.get_me(params)
|
69
|
+
topic_id = Topic.where(name:params[:topic]).pluck(:id)[0]
|
70
|
+
ForumAssist.named_array(Translation.where(topic_id:topic_id,language_id:language_id,state:['new','open']).pluck(:forum_id,:content,:suggestion),[:forum_id,:item,:suggestion])
|
71
|
+
#Translation.grab({topic_id:topic_id,language_id:language_id,state:['new','open']},[:forum_id,:item,:suggestion],{swap:{name: :item}})
|
72
|
+
|
58
73
|
end
|
59
74
|
|
60
75
|
def self.add_one(params,topic_id,user_id,forum_id)
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module ActiveRecordExtension
|
2
|
+
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
# add your instance methods here
|
6
|
+
def foo
|
7
|
+
"foo"
|
8
|
+
end
|
9
|
+
|
10
|
+
# add your static(class) methods here
|
11
|
+
module ClassMethods
|
12
|
+
def grab(which,what,options)
|
13
|
+
pluck=Assist.make_string_list(what)
|
14
|
+
unless options[:swap].nil?
|
15
|
+
swaps=options[:swap]
|
16
|
+
swaps.each_key { |key|
|
17
|
+
index=what.index(key.to_sym)
|
18
|
+
what[index]=swaps[key.to_sym]
|
19
|
+
}
|
20
|
+
end
|
21
|
+
order=Assist.make_string_list(options[:sort]) unless options.nil? || options[:sort].nil?
|
22
|
+
if which=='all'
|
23
|
+
order.nil? ?
|
24
|
+
Assist.named_array(self.all.pluck(pluck),what) :
|
25
|
+
Assist.named_array(self.all.order(order).pluck(pluck),what)
|
26
|
+
else
|
27
|
+
order.nil? ?
|
28
|
+
Assist.named_array(self.where(which).pluck(pluck),what) :
|
29
|
+
Assist.named_array(self.where(which).order(order).pluck(pluck),what)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module Assist
|
35
|
+
|
36
|
+
def self.make_string_list(alist)
|
37
|
+
plucking=''
|
38
|
+
alist.each {|entry|
|
39
|
+
plucking.concat(',' ) unless plucking==''
|
40
|
+
plucking.concat(entry.to_s)
|
41
|
+
}
|
42
|
+
plucking
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.named_array(data,what)
|
46
|
+
data = Array.new(what.size,nil) if data.nil? || data.empty?
|
47
|
+
if data.size==1
|
48
|
+
double=true
|
49
|
+
data.push(data[0])
|
50
|
+
end
|
51
|
+
pseudo= !data[0].is_a?(Array) && what.size>1
|
52
|
+
temp=Array.new{{}}
|
53
|
+
pseudo ? size=1 : size=data.size
|
54
|
+
(0...size).each {|i|
|
55
|
+
temp[i]={}
|
56
|
+
datax=data[i]
|
57
|
+
(0...what.size).each { |j|
|
58
|
+
pseudo ? temp[i].store(what[j], data[j]) : temp[i].store(what[j], datax[j]) }
|
59
|
+
Rails.logger.debug 'hello'
|
60
|
+
}
|
61
|
+
temp.shift if double
|
62
|
+
temp
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# include the extension
|
69
|
+
ActiveRecord::Base.send(:include, ActiveRecordExtension)
|
data/lib/xforum/engine.rb
CHANGED
data/lib/xforum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xforum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert D Blanton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sqlite3
|
@@ -220,6 +220,7 @@ files:
|
|
220
220
|
- db/migrate/20140601_create_forum_forums.rb
|
221
221
|
- db/migrate/20140602_add_restricted_to_category.rb
|
222
222
|
- db/migrate/20140602_change_suggestion_default.rb
|
223
|
+
- lib/active_record_extension.rb
|
223
224
|
- lib/tasks/xforum_tasks.rake
|
224
225
|
- lib/xforum.rb
|
225
226
|
- lib/xforum/engine.rb
|
@@ -275,7 +276,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
275
276
|
requirements:
|
276
277
|
- - "~>"
|
277
278
|
- !ruby/object:Gem::Version
|
278
|
-
version: '2.
|
279
|
+
version: '2.0'
|
279
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
281
|
requirements:
|
281
282
|
- - "~>"
|