ucenter 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d1dcc7055c7ee28d0f4fb05b65b4a994215808a
4
- data.tar.gz: 1090fb5d8c8f327654747e0af5325c288d8b05a6
3
+ metadata.gz: 455a44d1c4adabc58b1e3427ab519d340edae2d2
4
+ data.tar.gz: 44f6c5b7e7f0b6716fc66ec6680f70ba7173c140
5
5
  SHA512:
6
- metadata.gz: 713c51920ffb18ca26c9d4fa588226430f3e08953d66c5191df36c19ccf21ef85271ff1a122195f3b3ae87bc51a2048b24489045451e58cbbe27374feb8cd77c
7
- data.tar.gz: d51c837df83c907a6da7ddbe52e482802746134bcd25cfbcc9f2e2996bd8e153450eb36679f504797b490420f90efae0481fdf7f83ee19f3b09dbd589dbeb3bc
6
+ metadata.gz: f53e7f4caa4ef1d23c28446d83e7d1e4296329d2fd30ac33f803843518a186431459c5037609dced43ea82f8922e72ee744d9f3c52a66c918f7467f6f6a28d1d
7
+ data.tar.gz: ff434fc772fc413ebb1a114f0212d5a80b92179a27d5d3abebc4e6dfbddd85e966182a184647a73383110c9dffd54a023cfe42afe1912271d6275b8366a697a7
data/Gemfile CHANGED
@@ -2,4 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in ucenter.gemspec
4
4
  gemspec
5
- gem "mysql2"
5
+ gem "mysql2"
6
+ gem "nokogiri"
data/lib/ucenter.rb CHANGED
@@ -3,4 +3,5 @@ require 'ucenter/client'
3
3
  require 'ucenter/interface/base'
4
4
  require 'ucenter/interface/authcode'
5
5
  require 'ucenter/interface/user'
6
+ require 'ucenter/interface/xml'
6
7
  require 'ucenter/interface/utility'
@@ -12,5 +12,9 @@ module Ucenter
12
12
  @utility ||= Ucenter::Interface::Utility.new(self)
13
13
  end
14
14
 
15
+ def xml
16
+ @xml ||= Ucenter::Interface::Xml.new(self)
17
+ end
18
+
15
19
  end
16
20
  end
@@ -7,12 +7,25 @@ module Ucenter
7
7
  data = get_user_by_uid(username)
8
8
  elsif is_uid == 2
9
9
  data= get_user_by_email(username)
10
+ elsif is_uid == 3
11
+ data = get_user_by_phone(username)
10
12
  else
11
13
  data = get_user_by_username(username)
12
14
  end
13
15
  data
14
16
  end
15
17
 
18
+ def check_login(username, password, is_uid = FALSE)
19
+ user = get_user(username, is_uid)
20
+ if user['username'].nil?
21
+ return [-1,nil]
22
+ elsif user['password'] != md5("#{md5(password)}#{user['salt']}")
23
+ return [-2,nil]
24
+ end
25
+ [user['uid'],user]
26
+ end
27
+
28
+ protected
16
29
  def get_user_by_username(username)
17
30
  db_client.query("SELECT * FROM #{Ucenter::Config.uc_dbtablepre}members WHERE username='#{username}'").to_a[0]
18
31
  end
@@ -24,6 +37,13 @@ module Ucenter
24
37
  def get_user_by_email(username)
25
38
  db_client.query("SELECT * FROM #{Ucenter::Config.uc_dbtablepre}members WHERE email='#{username}'").to_a[0]
26
39
  end
40
+
41
+ def get_user_by_phone(username)
42
+ db_client.query("SELECT * FROM #{Ucenter::Config.uc_dbtablepre}members WHERE phone='#{username}'").to_a[0]
43
+ end
44
+
45
+ private
46
+ def md5 str; Digest::MD5.hexdigest str.to_s end
27
47
  end
28
48
  end
29
49
  end
@@ -0,0 +1,44 @@
1
+ module Ucenter
2
+ module Interface
3
+ class Xml < Base
4
+ def parse body
5
+ reader = Nokogiri::XML::Reader(body)
6
+
7
+ result ||= Hash.new
8
+ vars ||= []
9
+
10
+ reader.each do |node|
11
+ if node.name == 'item'
12
+ if vars.include?(node.attributes['id'])
13
+ vars.delete(node.attributes['id'])
14
+ else
15
+ vars << node.attributes['id']
16
+ end
17
+ elsif node.name == '#cdata-section'
18
+ # 只能写出这么渣的代码,求高手调教
19
+ case vars.length
20
+ when 1
21
+ result[vars[0]] = node.value
22
+ when 2
23
+ result[vars[0]] = Hash.new if result[vars[0]].nil?
24
+ result[vars[0]][vars[1]] = node.value
25
+ when 3
26
+ result[vars[0]][vars[1]] = Hash.new if result[vars[0]][vars[1]].nil?
27
+ result[vars[0]][vars[1]][vars[2]] = node.value
28
+ when 4
29
+ result[vars[0]][vars[1]][vars[2]] = Hash.new if result[vars[0]][vars[1]][vars[2]].nil?
30
+ result[vars[0]][vars[1]][vars[2]][vars[3]] = node.value
31
+ when 5
32
+ result[vars[0]][vars[1]][vars[2]][vars[3]] = Hash.new if result[vars[0]][vars[1]][vars[2]][vars[3]].nil?
33
+ result[vars[0]][vars[1]][vars[2]][vars[3]][vars[4]] = node.value
34
+ end
35
+ end
36
+ end
37
+ result
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+
44
+
@@ -1,3 +1,3 @@
1
1
  module Ucenter
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/ucenter.gemspec CHANGED
@@ -20,4 +20,6 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake", "~>0"
23
+ spec.add_development_dependency "mysql2", "~>0"
24
+ spec.add_development_dependency "nokogiri", "~>0"
23
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willin Wang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-26 00:00:00.000000000 Z
11
+ date: 2014-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mysql2
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: nokogiri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description: http://willin.wang visit for more info.
42
70
  email: willin@willin.org
43
71
  executables: []
@@ -56,6 +84,7 @@ files:
56
84
  - lib/ucenter/interface/base.rb
57
85
  - lib/ucenter/interface/user.rb
58
86
  - lib/ucenter/interface/utility.rb
87
+ - lib/ucenter/interface/xml.rb
59
88
  - lib/ucenter/version.rb
60
89
  - ucenter.gemspec
61
90
  homepage: https://github.com/willin/ucenter