liftapp-client 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ {"checkin":{"id":35388042,"client_uuid":"ea182ef9-8067-47a3-9b4b-b5835e3be55d","timezone":"+11:00","title":"For the 3rd time","date":"2014-12-22T01:50:36Z","timestamp":"1s","user":{"name":"Jonathan Maddison","id":33705,"picture_url":"https://www.lift.do/users/e7fcd2db926273e895ef/avatar/50","profile_url":"/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef"},"habit":{"id":23946,"name":"Connect","slug":"connect","updated_at":"2014-01-10T21:15:16Z","plan_id":20785,"stats":{"total":21,"completed":1},"progress":{"subscriber_count":41,"completed":1,"total":21,"streak":1,"user_id":33705,"graduation_count":0,"total_checkin_count":3,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":0},{"effective_week_start":"2014-12-21","target":0,"checkin_count":1}]}},"celebrations":{},"instruction_id":445485,"subscription":{"next_instruction_id":445486}}}
@@ -0,0 +1 @@
1
+ {"id":33705,"name":"Peter Pan","picture_url":"http://profile.ak.fbcdn.net/hprofile-ak-snc6/260854_100003561549613_94631864_q.jpg","profile_url":"http://www.lift.do/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef","email":"neo@matrix.com","stats":{"total_checkin_count":92,"first_checkin_date":"2013-02-12T23:52:50Z"},"networks":["facebook"],"share_on":[{"name":"twitter","defaults_on":false,"auth_mode":"none"}]}
@@ -0,0 +1 @@
1
+ {"plans":[{"id":1285,"plan_id":1285,"name":"Cook","slug":"cook","path":"/plans/1285-cook","description":"Ready to build this habit? Join and check in any day you meet your goal.","blurb":"","cover_image":{"width_940":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_940.png","width_640":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_640.png","width_320":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_320.png","ios_profile_2x":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-ios_profile_2x.png","ios_profile":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-ios_profile.png"},"has_instructions":false,"subscriber_count":408,"stats":{"subscriber_count":408},"featured":false,"has_video":false,"coaches_count":1,"answers_count":0,"questions_count":1,"habit_id":2925},{"id":20785,"plan_id":20785,"name":"Connect","slug":"connect","path":"/plans/20785-connect","description":"Ready to build this habit? Join and check in any day you meet your goal.","blurb":"","cover_image":{"width_940":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_940.png","width_640":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_640.png","width_320":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-width_320.png","ios_profile_2x":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-ios_profile_2x.png","ios_profile":"https://s3.amazonaws.com/com.lift.assets/images/default-goal-cover-0-ios_profile.png"},"has_instructions":false,"subscriber_count":41,"stats":{"subscriber_count":41},"featured":false,"has_video":false,"coaches_count":2,"answers_count":0,"questions_count":0,"habit_id":23946},{"id":2818,"plan_id":2818,"name":"Create something","slug":"create-something","path":"/plans/2818-create-something","description":"Ready to build this habit? Join and check in any day you meet your goal.","blurb":"","cover_image":{"width_940":"https://lift-user-uploads.s3.amazonaws.com/plans/2818/width_940_463-Create-something.jpg","width_640":"https://lift-user-uploads.s3.amazonaws.com/plans/2818/width_640_463-Create-something.jpg","width_320":"https://lift-user-uploads.s3.amazonaws.com/plans/2818/width_320_463-Create-something.jpg","ios_profile_2x":"https://lift-user-uploads.s3.amazonaws.com/plans/2818/ios_profile_2x_463-Create-something.jpg","ios_profile":"https://lift-user-uploads.s3.amazonaws.com/plans/2818/ios_profile_463-Create-something.jpg"},"has_instructions":false,"subscriber_count":6109,"stats":{"subscriber_count":6109},"featured":false,"has_video":false,"coaches_count":1,"answers_count":6,"questions_count":2,"habit_id":3593}],"subscriptions":[{"habit_id":2925,"plan_id":1285,"private":false,"archived":false,"order":null,"next_instruction_id":16816,"last_instruction_id":16835,"progress":{"subscriber_count":408,"completed":1,"total":21,"streak":1,"user_id":33705,"graduation_count":0,"total_checkin_count":2,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":0},{"effective_week_start":"2014-12-21","target":0,"checkin_count":1}]}},{"habit_id":23946,"plan_id":20785,"private":false,"archived":false,"order":null,"next_instruction_id":445486,"last_instruction_id":445505,"progress":{"subscriber_count":41,"completed":1,"total":21,"streak":1,"user_id":33705,"graduation_count":0,"total_checkin_count":3,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":0},{"effective_week_start":"2014-12-21","target":0,"checkin_count":1}]}},{"habit_id":3593,"plan_id":2818,"private":false,"archived":false,"order":null,"next_instruction_id":50409,"last_instruction_id":50428,"progress":{"subscriber_count":6109,"completed":2,"total":21,"streak":1,"user_id":33705,"graduation_count":0,"total_checkin_count":2,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":1},{"effective_week_start":"2014-12-21","target":0,"checkin_count":1}]}}],"instructions":[{"id":16815,"plan_id":1285,"title":"Cook","description":"For discussion: What's your goal for building this habit?","order":0},{"id":16816,"plan_id":1285,"title":"Cook","description":"For discussion: What's your standard for checking in?","order":1},{"id":50403,"plan_id":2818,"title":"Create something","description":"Welcome to our new milestone system. You earn a milestone every 21 steps.\n\nFor discussion: What's your goal for building this habit?","order":0},{"id":50405,"plan_id":2818,"title":"Create something","description":"For discussion: What's your standard for checking in?","order":1},{"id":50409,"plan_id":2818,"title":"Create something","description":"For discussion: What is the simple first step that gives you momentum for this habit?","order":2},{"id":445485,"plan_id":20785,"title":"Connect","description":"Welcome to our new milestone system. You earn a milestone every 21 steps.\n\nFor discussion: What's your goal for building this habit?","order":0},{"id":445486,"plan_id":20785,"title":"Connect","description":"For discussion: What's your standard for checking in?","order":1}],"activity_items":[{"id":35216192,"type":"checkin","created_time":"2014-12-18T00:08:57Z","source_time":"2014-12-18T00:08:59Z","effective_date":"2014-12-18","title":"For the 1st time","user":{"name":"Jonathan Maddison","id":33705,"picture_url":"https://www.lift.do/users/e7fcd2db926273e895ef/avatar/50","profile_url":"https://www.lift.do/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef"},"habit":{"id":3593,"name":"Create something","slug":"create-something","updated_at":"2014-01-10T21:15:16Z","plan_id":2818},"note":null,"comments":[],"props":[],"totals":{"checkins":1},"instruction_id":50403,"celebrations":{},"rich_title":"<a href=\"/habits/create-something\">Create something</a> for the 1st time","activity_rich_title":"<a href=\"/habits/create-something\">Create something</a> for the 1st time"},{"id":35349794,"type":"checkin","created_time":"2014-12-21T02:43:08Z","source_time":"2014-12-21T02:43:08Z","effective_date":"2014-12-21","title":"For the 2nd time","user":{"name":"Jonathan Maddison","id":33705,"picture_url":"https://www.lift.do/users/e7fcd2db926273e895ef/avatar/50","profile_url":"https://www.lift.do/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef"},"habit":{"id":3593,"name":"Create something","slug":"create-something","updated_at":"2014-01-10T21:15:16Z","plan_id":2818},"note":null,"comments":[],"props":[{"id":14095506,"created_time":"2014-12-21T07:11:21Z","user":{"name":"Tony Stubblebine","id":2,"picture_url":"https://www.lift.do/users/92c2ecca97f690e2faef/avatar/50","profile_url":"https://www.lift.do/users/92c2ecca97f690e2faef","profile_hash":"92c2ecca97f690e2faef"}}],"totals":{"checkins":2},"instruction_id":50405,"celebrations":{},"rich_title":"<a href=\"/habits/create-something\">Create something</a> for the 2nd time","activity_rich_title":"<a href=\"/habits/create-something\">Create something</a> for the 2nd time"},{"id":35386145,"type":"checkin","created_time":"2014-12-22T00:43:22Z","source_time":"2014-12-22T00:43:21Z","effective_date":"2014-12-22","title":"For the 2nd time","user":{"name":"Jonathan Maddison","id":33705,"picture_url":"https://www.lift.do/users/e7fcd2db926273e895ef/avatar/50","profile_url":"https://www.lift.do/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef"},"habit":{"id":2925,"name":"Cook","slug":"cook","updated_at":"2014-01-10T21:15:16Z","plan_id":1285},"note":null,"comments":[],"props":[],"totals":{"checkins":2},"instruction_id":16815,"celebrations":{},"rich_title":"<a href=\"/habits/cook\">Cook</a> for the 2nd time","activity_rich_title":"<a href=\"/habits/cook\">Cook</a> for the 2nd time"},{"id":35386424,"type":"checkin","created_time":"2014-12-22T00:54:27Z","source_time":"2014-12-22T00:54:26Z","effective_date":"2014-12-22","title":"For the 3rd time","user":{"name":"Jonathan Maddison","id":33705,"picture_url":"https://www.lift.do/users/e7fcd2db926273e895ef/avatar/50","profile_url":"https://www.lift.do/users/e7fcd2db926273e895ef","profile_hash":"e7fcd2db926273e895ef"},"habit":{"id":23946,"name":"Connect","slug":"connect","updated_at":"2014-01-10T21:15:16Z","plan_id":20785},"note":null,"comments":[],"props":[],"totals":{"checkins":3},"instruction_id":445485,"celebrations":{},"rich_title":"<a href=\"/habits/connect\">Connect</a> for the 3rd time","activity_rich_title":"<a href=\"/habits/connect\">Connect</a> for the 3rd time"}],"quote":{"quote":"Things start out as hopes and end up as habits.","author":"Lillian Hellman"}}
@@ -0,0 +1 @@
1
+ {"checkin":{"habit":{"id":23946,"name":"Connect","slug":"connect","updated_at":"2014-01-10T21:15:16Z","plan_id":20785,"stats":{"total":21,"completed":0},"progress":{"subscriber_count":41,"completed":0,"total":21,"streak":0,"user_id":33705,"graduation_count":0,"total_checkin_count":2,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":0},{"effective_week_start":"2014-12-21","target":0,"checkin_count":0}]}},"subscription":{"next_instruction_id":445485}}}
@@ -0,0 +1 @@
1
+ {"checkin":{"habit":{"id":23946,"name":"Connect","slug":"connect","updated_at":"2014-01-10T21:15:16Z","plan_id":20785,"stats":{"total":21,"completed":0},"progress":{"subscriber_count":41,"completed":0,"total":21,"streak":0,"user_id":33705,"graduation_count":0,"total_checkin_count":2,"weekly_progress":[{"effective_week_start":"2014-11-16","target":0,"checkin_count":0},{"effective_week_start":"2014-11-23","target":0,"checkin_count":0},{"effective_week_start":"2014-11-30","target":0,"checkin_count":0},{"effective_week_start":"2014-12-07","target":0,"checkin_count":0},{"effective_week_start":"2014-12-14","target":0,"checkin_count":0},{"effective_week_start":"2014-12-21","target":0,"checkin_count":0}]}},"subscription":{"next_instruction_id":445485}}}
@@ -1,47 +1,36 @@
1
1
  require 'webmock/rspec'
2
+ require 'spec_helper'
2
3
  require_relative '../lib/liftapp-client.rb'
3
4
 
4
5
  describe Liftapp::Client do
5
6
 
6
7
  it 'returns profile_hash' do
7
- stub_request(:get, "https://neo@matrix.com:whiterabbit@www.lift.do/i/0/users/current").
8
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/current'))
9
-
10
- client = Liftapp::Client.new('neo@matrix.com', 'whiterabbit')
8
+ client = Liftapp::Client.new('peterpan@neverland.com', 'neverland')
11
9
  expect(client.profile_hash).to eq 'e7fcd2db926273e895ef'
12
10
  end
13
11
 
14
12
  it 'returns habit list' do
15
- stub_request(:get, "https://neo@matrix.com:whiterabbit@www.lift.do/i/0/users/current").
16
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/current'))
17
- stub_request(:get, "https://neo@matrix.com:whiterabbit@www.lift.do/api/v2/dashboard").
18
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/dashboard'))
19
-
20
- client = Liftapp::Client.new('neo@matrix.com', 'whiterabbit')
21
- expect(client.dashboard['subscriptions'].length).to eq 7
13
+ client = Liftapp::Client.new('peterpan@neverland.com', 'neverland')
14
+ expect(client.dashboard['subscriptions'].length).to eq 3
22
15
  end
23
16
 
24
17
  it 'returns checkin data' do
25
- stub_request(:get, "https://neo@matrix.com:whiterabbit@www.lift.do/i/0/users/current").
26
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/current'))
27
- stub_request(:get, "https://www.lift.do/users/e7fcd2db926273e895ef/3280").
28
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/3280'))
29
-
30
- client = Liftapp::Client.new('neo@matrix.com', 'whiterabbit')
31
- data = client.checkin_data('3280')
32
- data['checkins'].length.should be > 10
33
- data['habit-name'].should eq 'Write'
18
+ client = Liftapp::Client.new('peterpan@neverland.com', 'neverland')
19
+ data = client.checkin_data('2925')
20
+ expect(data['checkins'].length).to eq 2
21
+ expect(data['habit-name']).to eq 'Cook'
34
22
  end
35
23
 
36
24
  it 'returns successful checkin' do
37
- stub_request(:get, "https://neo@matrix.com:whiterabbit@www.lift.do/i/0/users/current").
38
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/current'))
39
- stub_request(:post, 'https://neo@matrix.com:whiterabbit@www.lift.do/api/v1/checkins').
40
- to_return(File.new(File.expand_path File.dirname(__FILE__) + '/fixtures/checkin'))
25
+ client = Liftapp::Client.new('peterpan@neverland.com', 'neverland')
26
+ data = client.checkin('23946', nil)
27
+ expect(data['checkin']['id']).to be > 0
28
+ end
41
29
 
42
- client = Liftapp::Client.new('neo@matrix.com', 'whiterabbit')
43
- data = client.checkin('2111')
44
- data['checkin']['id'].should be > 0
30
+ it 'sets name and picture_url' do
31
+ client = Liftapp::Client.new('peterpan@neverland.com', 'neverland')
32
+ expect(client.picture_url).to eq 'http://profile.ak.fbcdn.net/hprofile-ak-snc6/260854_100003561549613_94631864_q.jpg'
33
+ expect(client.name).to eq 'Peter Pan'
45
34
  end
46
35
 
47
36
  end
@@ -0,0 +1,7 @@
1
+ require 'support/fake_liftapi'
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:each) do
5
+ stub_request(:any, /www.lift.do/).to_rack(FakeLiftAPI)
6
+ end
7
+ end
@@ -0,0 +1,55 @@
1
+ require 'sinatra'
2
+
3
+
4
+ class FakeLiftAPI < Sinatra::Base
5
+ helpers do
6
+ def protected!
7
+ return if authorized?
8
+ headers['WWW-Authenticate'] = 'Basic realm="Restricted Area"'
9
+ halt 401, "Not authorized\n"
10
+ end
11
+
12
+ def authorized?
13
+ @auth ||= Rack::Auth::Basic::Request.new(request.env)
14
+ @auth.provided? and @auth.basic? and @auth.credentials and @auth.credentials == ['peterpan%40neverland.com', 'neverland']
15
+ end
16
+ end
17
+
18
+ get '/i/0/users/current' do
19
+ protected!
20
+ json_response 200, 'current.json'
21
+ end
22
+
23
+ get '/api/v4/dashboard' do
24
+ protected!
25
+ json_response 200, 'dashboard.json'
26
+ end
27
+
28
+ post '/api/v3/checkins' do
29
+ protected!
30
+ json_response 200, 'create_checkin.json'
31
+ end
32
+
33
+ delete '/api/v3/checkins' do
34
+ protected!
35
+ json_response 200, 'delete_checkin.json'
36
+ end
37
+
38
+ get '/users/:profile_hash/:habit_id' do
39
+ html_response 200, 'checkin_data.html'
40
+ end
41
+
42
+ private
43
+
44
+ def html_response(response_code, file_name)
45
+ content_type :html
46
+ status response_code
47
+ File.open(File.join(File.dirname(__FILE__), '../fixtures/', file_name), 'rb').read
48
+ end
49
+
50
+ def json_response(response_code, file_name)
51
+ content_type :json
52
+ status response_code
53
+ File.open(File.join(File.dirname(__FILE__), '../fixtures/', file_name), 'rb').read
54
+ end
55
+ end
metadata CHANGED
@@ -1,94 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liftapp-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jonathan Maddison
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
11
+ date: 2014-12-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: httparty
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: nokogiri
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: webmock
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sinatra
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0'
94
97
  description: A ruby client for the Lift.do API
@@ -98,7 +101,7 @@ executables: []
98
101
  extensions: []
99
102
  extra_rdoc_files: []
100
103
  files:
101
- - .gitignore
104
+ - ".gitignore"
102
105
  - Gemfile
103
106
  - LICENSE
104
107
  - README.md
@@ -116,54 +119,48 @@ files:
116
119
  - examples/csv_export/views/application.coffee
117
120
  - examples/csv_export/views/index.haml
118
121
  - examples/csv_export/views/layout.haml
119
- - lib/lift.rb
120
122
  - lib/liftapp-client.rb
121
123
  - lib/liftapp-client/version.rb
122
124
  - liftapp-client.gemspec
123
- - spec/fixtures/3280
124
- - spec/fixtures/checkin
125
- - spec/fixtures/checkin.delete
126
- - spec/fixtures/checkin.duplicate
127
- - spec/fixtures/checkins
128
- - spec/fixtures/current
129
- - spec/fixtures/dashboard
125
+ - spec/fixtures/checkin_data.html
126
+ - spec/fixtures/create_checkin.json
127
+ - spec/fixtures/current.json
128
+ - spec/fixtures/dashboard.json
129
+ - spec/fixtures/delete.json
130
+ - spec/fixtures/delete_checkin.json
130
131
  - spec/lift_spec.rb
132
+ - spec/spec_helper.rb
133
+ - spec/support/fake_liftapi.rb
131
134
  homepage: ''
132
135
  licenses: []
136
+ metadata: {}
133
137
  post_install_message:
134
138
  rdoc_options: []
135
139
  require_paths:
136
140
  - lib
137
141
  required_ruby_version: !ruby/object:Gem::Requirement
138
- none: false
139
142
  requirements:
140
- - - ! '>='
143
+ - - ">="
141
144
  - !ruby/object:Gem::Version
142
145
  version: '0'
143
- segments:
144
- - 0
145
- hash: -4315864822958738663
146
146
  required_rubygems_version: !ruby/object:Gem::Requirement
147
- none: false
148
147
  requirements:
149
- - - ! '>='
148
+ - - ">="
150
149
  - !ruby/object:Gem::Version
151
150
  version: '0'
152
- segments:
153
- - 0
154
- hash: -4315864822958738663
155
151
  requirements: []
156
152
  rubyforge_project:
157
- rubygems_version: 1.8.21
153
+ rubygems_version: 2.4.1
158
154
  signing_key:
159
- specification_version: 3
155
+ specification_version: 4
160
156
  summary: Client allows you to access your Lift.do habits and checkins.
161
157
  test_files:
162
- - spec/fixtures/3280
163
- - spec/fixtures/checkin
164
- - spec/fixtures/checkin.delete
165
- - spec/fixtures/checkin.duplicate
166
- - spec/fixtures/checkins
167
- - spec/fixtures/current
168
- - spec/fixtures/dashboard
158
+ - spec/fixtures/checkin_data.html
159
+ - spec/fixtures/create_checkin.json
160
+ - spec/fixtures/current.json
161
+ - spec/fixtures/dashboard.json
162
+ - spec/fixtures/delete.json
163
+ - spec/fixtures/delete_checkin.json
169
164
  - spec/lift_spec.rb
165
+ - spec/spec_helper.rb
166
+ - spec/support/fake_liftapi.rb
@@ -1,63 +0,0 @@
1
- require 'httparty'
2
- require 'json'
3
- require 'nokogiri'
4
-
5
- module LiftAPI
6
- class Client
7
-
8
- attr_accessor :profile_hash
9
-
10
- def initialize(args)
11
- @email = args[:email] if args[:email]
12
- @password = args[:password] if args[:password]
13
- @profile_hash = args[:profile_hash] if args[:profile_hash]
14
- if (@email && @password)
15
- @auth_options = {basic_auth: {username: @email, password: @password}}
16
- end
17
- end
18
-
19
- def login
20
- response = HTTParty.get('https://lift.do/i/0/users/current', @auth_options)
21
- @profile_hash = response['profile_hash']
22
- response
23
- end
24
-
25
- def dashboard
26
- HTTParty.get('https://lift.do/api/v2/dashboard', @auth_options)
27
- end
28
-
29
- def habit_activity(habit_id)
30
- HTTParty.get('https://www.lift.do/api/v2/habits/' + habit_id + '/activity', @auth_options)
31
- end
32
-
33
- def checkin(habit)
34
- end
35
-
36
- def checkin_data(habit_id)
37
- response = HTTParty.get('https://www.lift.do/users/' + @profile_hash + '/' + habit_id)
38
-
39
- doc = Nokogiri::HTML(response.body)
40
-
41
- month_names = doc.search('//*[@id="profile-calendar"]/div/div/h3')
42
- month_tables = doc.search('#profile-calendar table')
43
- checkins = []
44
-
45
- while (!month_names.empty?)
46
- month_name = month_names.shift
47
- month_table = month_tables.shift
48
- month_table.search('div.checked').each do |day|
49
- m_day = day.text
50
- checkins.push(Date.parse(m_day + ' ' + month_name.content))
51
- end
52
- end
53
- {
54
- :'habit-name' => doc.search('.profile-habit-name').first.content,
55
- :checkins => checkins.sort
56
- }
57
- end
58
-
59
- def to_s
60
- "LiftAPI (#@email)"
61
- end
62
- end
63
- end
@@ -1,1614 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Cache-Control: must-revalidate, private, max-age=0
3
- Content-Type: text/html; charset=utf-8
4
- Date: Fri, 15 Feb 2013 01:15:22 GMT
5
- Etag: "16a61cccc850d737499fa84417bd2f01"
6
- Server: nginx
7
- Set-Cookie: _lift_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRkkiJThhNmIxNWVkNTZhYzNhZmYzZmFjZDZhOWVlZDM0OTMxBjsAVEkiDHVzZXJfaWQGOwBGaQKpg0kiEF9jc3JmX3Rva2VuBjsARkkiMVNwRGdXVmlPdmJNZWNhS0tLdDNwNll4T2FwWVhNZGhSZnpqVWRrRGI2dWs9BjsARg%3D%3D--7227b561aa409c18eae8edf26608880bc32129c0; path=/; expires=Fri, 15-Mar-2013 00:15:22 GMT; HttpOnly
8
- X-Rack-Cache: miss
9
- X-Runtime: 0.123870
10
- X-Ua-Compatible: IE=Edge,chrome=1
11
- Content-Length: 38471
12
- Connection: keep-alive
13
-
14
- <!DOCTYPE html>
15
- <html lang="en">
16
- <head><script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
17
- <title>Write for Jonathan Maddison</title>
18
- <meta name="description" content="Lift helps you track and achieve habits through data visualization, streaks, and community support.">
19
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
20
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
21
- <!-- load in local version of jQuery if loading it from the CDN failed -->
22
- <script>window.jQuery || document.write('\x3Cscript src="/assets/jquery.min.js">\x3C/script>')</script>
23
- <script src="/assets/application-188ea5567e35bdc4cd17a9c8dd3e8f82.js" type="text/javascript"></script>
24
- <script type="text/javascript">
25
- $(document).ready(function() {
26
-
27
- var $freqGraph = $('.frequency-graph');
28
- $freqGraph.parent().scrollLeft($freqGraph.width());
29
-
30
- $('.pop-up-menu').hover(function(event) {
31
- $(this).children('ul').show('fast');
32
- },
33
- function(event) {
34
- $(this).children('ul').hide('fast');
35
- });
36
-
37
- trackEvent('Habit View');
38
- trackLinks("#profile-habit-download-button", "Click Profile Habit Page Download Button");
39
- });
40
- </script>
41
-
42
- <link href="/assets/application-c60b8226312e2552573a544af772cee0.css" media="screen" rel="stylesheet" type="text/css" />
43
-
44
-
45
-
46
- <meta content="authenticity_token" name="csrf-param" />
47
- <meta content="SpDgWViOvbMecaKKKt3p6YxOapYXMdhRfzjUdkDb6uk=" name="csrf-token" />
48
- <script type="text/javascript">
49
- var _gaq = _gaq || [];
50
- _gaq.push(['_setAccount', 'UA-25282941-1']);
51
- _gaq.push(['_setDomainName', 'lift.do']);
52
- _gaq.push(['_setAllowHash', false]);
53
- _gaq.push(['_trackPageview']);
54
-
55
- (function() {
56
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
57
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
58
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
59
- })();
60
-
61
- </script>
62
- <script type="text/javascript">(function(c,a){var b,d,h,e;b=c.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"===c.location.protocol?"https:":"http:")+'//api.mixpanel.com/site_media/js/api/mixpanel.2.js';d=c.getElementsByTagName("script")[0];d.parentNode.insertBefore(b,d);a._i=[];a.init=function(b,c,f){function d(a,b){var c=b.split(".");2==c.length&&(a=a[c[0]],b=c[1]);a[b]=function(){a.push([b].concat(Array.prototype.slice.call(arguments,0)))}}var g=a;"undefined"!==typeof f?g=
63
- a[f]=[]:f="mixpanel";g.people=g.people||[];h="disable track track_pageview track_links track_forms register register_once unregister identify name_tag set_config people.set people.increment".split(" ");for(e=0;e<h.length;e++)d(g,h[e]);a._i.push([b,c,f])};a.__SV=1.1;window.mixpanel=a})(document,window.mixpanel||[]);
64
-
65
- mixpanel.init("379e9e289e971f797ec12a38cb506863");
66
-
67
- mixpanel.identify('33705');
68
- mixpanel.name_tag('Jonathan Maddison');
69
-
70
- var mixpanelProperties = {
71
- 'current_user_session' : true,
72
- 'app_store' : true,
73
- 'mobile' : false,
74
- 'admin' : false,
75
- 'referrer': document.referrer
76
- };
77
- </script>
78
- </head>
79
- <body class="">
80
- <div id="fb-root"></div>
81
- <script>(function(d, s, id) {
82
- var js, fjs = d.getElementsByTagName(s)[0];
83
- if (d.getElementById(id)) return;
84
- js = d.createElement(s); js.id = id;
85
- js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=141840792619754";
86
- fjs.parentNode.insertBefore(js, fjs);
87
- }(document, 'script', 'facebook-jssdk'));
88
- </script>
89
- <div class="navbar navbar-fixed-top">
90
- <div class="navbar-inner">
91
- <div class="container">
92
- <ul class="nav">
93
- <li class="dropdown">
94
- <a href="/" class="dropdown-toggle nav-profile" data-target="#" data-toggle="dropdown">
95
- <div class="profile-image"><img alt="260854_100003561549613_94631864_q" src="http://profile.ak.fbcdn.net/hprofile-ak-snc6/260854_100003561549613_94631864_q.jpg" /></div>
96
- &nbsp;<span>Jonathan Maddison</span>
97
- <b class="caret"></b>
98
- </a> <ul class="dropdown-menu" role="menu">
99
- <li><a href="/users/e7fcd2db926273e895ef?tab=stats">My Habits</a></li>
100
- <li><a href="/users/e7fcd2db926273e895ef/2054">Exercise</a></li>
101
- <li><a href="/users/e7fcd2db926273e895ef/3943">Meet someone new</a></li>
102
- <li><a href="/users/e7fcd2db926273e895ef/71452">Organize social event</a></li>
103
- <li><a href="/users/e7fcd2db926273e895ef/33364">Contribute to open source</a></li>
104
- <li><a href="/users/e7fcd2db926273e895ef/2829">Keep in touch with friends</a></li>
105
- <li><a href="/users/e7fcd2db926273e895ef/2111">Test Lift</a></li>
106
- <li><a href="/users/e7fcd2db926273e895ef/3280">Write</a></li>
107
- </ul>
108
- </li>
109
- </ul>
110
- <ul class="nav pull-right">
111
- <li class="dropdown">
112
- <a href="/" class="dropdown-toggle nav-friends" data-target="#" data-toggle="dropdown">
113
- <i class='nav-icon nav-icon-friends'></i>
114
- &nbsp;<span>Friends</span>
115
- <b class="caret"></b>
116
- </a> <ul class="dropdown-menu" role="menu">
117
- <li><a href="/activity">Activity</a></li>
118
- <li><a href="/friendships">Friends</a></li>
119
- <li><a href="/invitations/new">Invite Friends</a></li>
120
- </ul>
121
- </li>
122
- <li class="dropdown">
123
- <a href="/" class="dropdown-toggle nav-settings" data-target="#" data-toggle="dropdown">
124
- <i class='nav-icon nav-icon-settings'></i>
125
- &nbsp;<span>Settings</span>
126
- <b class="caret"></b>
127
- </a> <ul class="dropdown-menu" role="menu">
128
- <li><a href="/settings">Settings</a></li>
129
- <li><a href="/reminders">Reminders</a></li>
130
- <li><a href="mailto:feedback@lift.do">Send Feedback</a></li>
131
- <li><a href="/logout">Sign Out</a></li>
132
- </ul>
133
- </li>
134
- </ul>
135
- </div>
136
- </div>
137
- </div>
138
- <div class="container" id="primary_container" id="users" class="profile_challenge">
139
-
140
-
141
-
142
- <div class="container" style="margin: 0 auto;">
143
-
144
- <div class="profile profile-habit">
145
- <a class="profile-image" href="/users/e7fcd2db926273e895ef"><img src="http://profile.ak.fbcdn.net/hprofile-ak-snc6/260854_100003561549613_94631864_q.jpg" /></a>
146
- <div class="profile-info">
147
- <div class="profile-name"><a href="/users/e7fcd2db926273e895ef">Jonathan Maddison</a>
148
- <div class="social-icons">
149
-
150
- <a class="facebook-icon" href="http://facebook.com/100003561549613" id="facebook_link_a" target="_blank" title="View Facebook Profile"></a>
151
- </div>
152
- </div>
153
- <h1 class="profile-habit-name">Write</h1>
154
- </div>
155
- </div>
156
-
157
-
158
- <ul id="profile-tabs" class="nav nav-tabs" style="margin-bottom: 0; padding-left: 70px; font-weight: bold; font-size: 1.1em;">
159
- <li class="active"><a href="#profile-stats-single" data-toggle="tab">Stats</a></li>
160
- <li><a href="#profile-calendar" data-toggle="tab">Calendar</a></li>
161
- <li><a href="#profile-notes" data-toggle="tab">Notes</a></li>
162
- </ul>
163
- <div id="profile-content" class="tab-content profile-habit-content">
164
- <div id="profile-stats-single" class="tab-pane active">
165
- <div class="challenge-graph-single">
166
- <span class="name"></span>
167
- <span class="badges">
168
-
169
- <span class="badge-total"><i class="icon-ok icon-white"></i>62 checkins</span>
170
- </span>
171
-
172
- <span class="frequency-graph frequency-graph-weekly">
173
- <span class="grid">
174
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li></ul>
175
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
176
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
177
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
178
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
179
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
180
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
181
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
182
- <ul><li class=" "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
183
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
184
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
185
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
186
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
187
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
188
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
189
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
190
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
191
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
192
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
193
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
194
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li><li class="checked "></li></ul>
195
- </span>
196
- <ul class="labels">
197
- <li>09/23</li>
198
- <li>09/30</li>
199
- <li>10/07</li>
200
- <li>10/14</li>
201
- <li>10/21</li>
202
- <li>10/28</li>
203
- <li>11/04</li>
204
- <li>11/11</li>
205
- <li>11/18</li>
206
- <li>11/25</li>
207
- <li>12/02</li>
208
- <li>12/09</li>
209
- <li>12/16</li>
210
- <li>12/23</li>
211
- <li>12/30</li>
212
- <li>01/06</li>
213
- <li>01/13</li>
214
- <li>01/20</li>
215
- <li>01/27</li>
216
- <li>02/03</li>
217
- <li>02/10</li>
218
- </ul>
219
- </span>
220
-
221
- </div>
222
- <h4 style="text-align: center;">Frequency per week</h4>
223
-
224
- <div class="challenge-graph-single">
225
- <span class="frequency-graph frequency-graph-monthly">
226
- <span class="grid">
227
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li><li class="checked "></li></ul>
228
- <ul><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
229
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li><li class="checked "></li></ul>
230
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
231
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li></ul>
232
- <ul><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class=" "></li><li class="checked "></li><li class="checked "></li></ul>
233
- </span>
234
- <ul class="labels">
235
- <li>Sep</li>
236
- <li>Oct</li>
237
- <li>Nov</li>
238
- <li>Dec</li>
239
- <li>Jan</li>
240
- <li>Feb</li>
241
- </ul>
242
- </span>
243
-
244
- </div>
245
- <h4 style="text-align: center;">Frequency per month</h4>
246
- </div>
247
-
248
- <div id="profile-calendar" class="tab-pane">
249
- <h3>Calendar</h3>
250
- <div class="tab-inner">
251
- <div class="calendar" style="padding: 0 10px;">
252
- <h3>February 2013</h3>
253
- <table class="cal-month">
254
- <thead><tr>
255
- <th>Su</th>
256
- <th>Mo</th>
257
- <th>Tu</th>
258
- <th>We</th>
259
- <th>Th</th>
260
- <th>Fr</th>
261
- <th>Sa</th>
262
- </tr></thead>
263
- <tbody>
264
- <tr>
265
- <td>
266
- </td>
267
- <td>
268
- </td>
269
- <td>
270
- </td>
271
- <td>
272
- </td>
273
- <td>
274
- </td>
275
- <td>
276
- <div class="cal-day ">
277
- 1
278
-
279
- </div>
280
- </td>
281
- <td>
282
- <div class="cal-day ">
283
- 2
284
-
285
- </div>
286
- </td>
287
- </tr>
288
- <tr>
289
- <td>
290
- <div class="cal-day ">
291
- 3
292
-
293
- </div>
294
- </td>
295
- <td>
296
- <div class="cal-day ">
297
- 4
298
-
299
- </div>
300
- </td>
301
- <td>
302
- <div class="cal-day ">
303
- 5
304
-
305
- </div>
306
- </td>
307
- <td>
308
- <div class="cal-day ">
309
- 6
310
-
311
- </div>
312
- </td>
313
- <td>
314
- <div class="cal-day ">
315
- 7
316
-
317
- </div>
318
- </td>
319
- <td>
320
- <div class="cal-day ">
321
- 8
322
-
323
- </div>
324
- </td>
325
- <td>
326
- <div class="cal-day ">
327
- 9
328
-
329
- </div>
330
- </td>
331
- </tr>
332
- <tr>
333
- <td>
334
- <div class="cal-day ">
335
- 10
336
-
337
- </div>
338
- </td>
339
- <td>
340
- <div class="cal-day ">
341
- 11
342
-
343
- </div>
344
- </td>
345
- <td>
346
- <div class="cal-day checked ">
347
- 12
348
-
349
- </div>
350
- </td>
351
- <td>
352
- <div class="cal-day checked ">
353
- 13
354
-
355
- </div>
356
- </td>
357
- <td>
358
- <div class="cal-day ">
359
- 14
360
-
361
- </div>
362
- </td>
363
- <td>
364
- <div class="cal-day ">
365
- 15
366
-
367
- </div>
368
- </td>
369
- <td>
370
- <div class="cal-day ">
371
- 16
372
-
373
- </div>
374
- </td>
375
- </tr>
376
- <tr>
377
- <td>
378
- <div class="cal-day ">
379
- 17
380
-
381
- </div>
382
- </td>
383
- <td>
384
- <div class="cal-day ">
385
- 18
386
-
387
- </div>
388
- </td>
389
- <td>
390
- <div class="cal-day ">
391
- 19
392
-
393
- </div>
394
- </td>
395
- <td>
396
- <div class="cal-day ">
397
- 20
398
-
399
- </div>
400
- </td>
401
- <td>
402
- <div class="cal-day ">
403
- 21
404
-
405
- </div>
406
- </td>
407
- <td>
408
- <div class="cal-day ">
409
- 22
410
-
411
- </div>
412
- </td>
413
- <td>
414
- <div class="cal-day ">
415
- 23
416
-
417
- </div>
418
- </td>
419
- </tr>
420
- <tr>
421
- <td>
422
- <div class="cal-day ">
423
- 24
424
-
425
- </div>
426
- </td>
427
- <td>
428
- <div class="cal-day ">
429
- 25
430
-
431
- </div>
432
- </td>
433
- <td>
434
- <div class="cal-day ">
435
- 26
436
-
437
- </div>
438
- </td>
439
- <td>
440
- <div class="cal-day ">
441
- 27
442
-
443
- </div>
444
- </td>
445
- <td>
446
- <div class="cal-day ">
447
- 28
448
-
449
- </div>
450
- </td>
451
- <td>
452
- </td>
453
- <td>
454
- </td>
455
- </tr>
456
- </tbody>
457
- </table>
458
- <h3>January 2013</h3>
459
- <table class="cal-month">
460
- <thead><tr>
461
- <th>Su</th>
462
- <th>Mo</th>
463
- <th>Tu</th>
464
- <th>We</th>
465
- <th>Th</th>
466
- <th>Fr</th>
467
- <th>Sa</th>
468
- </tr></thead>
469
- <tbody>
470
- <tr>
471
- <td>
472
- </td>
473
- <td>
474
- </td>
475
- <td>
476
- <div class="cal-day ">
477
- 1
478
-
479
- </div>
480
- </td>
481
- <td>
482
- <div class="cal-day ">
483
- 2
484
-
485
- </div>
486
- </td>
487
- <td>
488
- <div class="cal-day ">
489
- 3
490
-
491
- </div>
492
- </td>
493
- <td>
494
- <div class="cal-day ">
495
- 4
496
-
497
- </div>
498
- </td>
499
- <td>
500
- <div class="cal-day ">
501
- 5
502
-
503
- </div>
504
- </td>
505
- </tr>
506
- <tr>
507
- <td>
508
- <div class="cal-day ">
509
- 6
510
-
511
- </div>
512
- </td>
513
- <td>
514
- <div class="cal-day ">
515
- 7
516
-
517
- </div>
518
- </td>
519
- <td>
520
- <div class="cal-day ">
521
- 8
522
-
523
- </div>
524
- </td>
525
- <td>
526
- <div class="cal-day ">
527
- 9
528
-
529
- </div>
530
- </td>
531
- <td>
532
- <div class="cal-day ">
533
- 10
534
-
535
- </div>
536
- </td>
537
- <td>
538
- <div class="cal-day ">
539
- 11
540
-
541
- </div>
542
- </td>
543
- <td>
544
- <div class="cal-day ">
545
- 12
546
-
547
- </div>
548
- </td>
549
- </tr>
550
- <tr>
551
- <td>
552
- <div class="cal-day ">
553
- 13
554
-
555
- </div>
556
- </td>
557
- <td>
558
- <div class="cal-day ">
559
- 14
560
-
561
- </div>
562
- </td>
563
- <td>
564
- <div class="cal-day ">
565
- 15
566
-
567
- </div>
568
- </td>
569
- <td>
570
- <div class="cal-day ">
571
- 16
572
-
573
- </div>
574
- </td>
575
- <td>
576
- <div class="cal-day ">
577
- 17
578
-
579
- </div>
580
- </td>
581
- <td>
582
- <div class="cal-day ">
583
- 18
584
-
585
- </div>
586
- </td>
587
- <td>
588
- <div class="cal-day ">
589
- 19
590
-
591
- </div>
592
- </td>
593
- </tr>
594
- <tr>
595
- <td>
596
- <div class="cal-day ">
597
- 20
598
-
599
- </div>
600
- </td>
601
- <td>
602
- <div class="cal-day ">
603
- 21
604
-
605
- </div>
606
- </td>
607
- <td>
608
- <div class="cal-day ">
609
- 22
610
-
611
- </div>
612
- </td>
613
- <td>
614
- <div class="cal-day ">
615
- 23
616
-
617
- </div>
618
- </td>
619
- <td>
620
- <div class="cal-day ">
621
- 24
622
-
623
- </div>
624
- </td>
625
- <td>
626
- <div class="cal-day ">
627
- 25
628
-
629
- </div>
630
- </td>
631
- <td>
632
- <div class="cal-day ">
633
- 26
634
-
635
- </div>
636
- </td>
637
- </tr>
638
- <tr>
639
- <td>
640
- <div class="cal-day ">
641
- 27
642
-
643
- </div>
644
- </td>
645
- <td>
646
- <div class="cal-day ">
647
- 28
648
-
649
- </div>
650
- </td>
651
- <td>
652
- <div class="cal-day ">
653
- 29
654
-
655
- </div>
656
- </td>
657
- <td>
658
- <div class="cal-day ">
659
- 30
660
-
661
- </div>
662
- </td>
663
- <td>
664
- <div class="cal-day ">
665
- 31
666
-
667
- </div>
668
- </td>
669
- <td>
670
- </td>
671
- <td>
672
- </td>
673
- </tr>
674
- </tbody>
675
- </table>
676
- <h3>December 2012</h3>
677
- <table class="cal-month">
678
- <thead><tr>
679
- <th>Su</th>
680
- <th>Mo</th>
681
- <th>Tu</th>
682
- <th>We</th>
683
- <th>Th</th>
684
- <th>Fr</th>
685
- <th>Sa</th>
686
- </tr></thead>
687
- <tbody>
688
- <tr>
689
- <td>
690
- </td>
691
- <td>
692
- </td>
693
- <td>
694
- </td>
695
- <td>
696
- </td>
697
- <td>
698
- </td>
699
- <td>
700
- </td>
701
- <td>
702
- <div class="cal-day ">
703
- 1
704
-
705
- </div>
706
- </td>
707
- </tr>
708
- <tr>
709
- <td>
710
- <div class="cal-day ">
711
- 2
712
-
713
- </div>
714
- </td>
715
- <td>
716
- <div class="cal-day ">
717
- 3
718
-
719
- </div>
720
- </td>
721
- <td>
722
- <div class="cal-day ">
723
- 4
724
-
725
- </div>
726
- </td>
727
- <td>
728
- <div class="cal-day ">
729
- 5
730
-
731
- </div>
732
- </td>
733
- <td>
734
- <div class="cal-day ">
735
- 6
736
-
737
- </div>
738
- </td>
739
- <td>
740
- <div class="cal-day ">
741
- 7
742
-
743
- </div>
744
- </td>
745
- <td>
746
- <div class="cal-day ">
747
- 8
748
-
749
- </div>
750
- </td>
751
- </tr>
752
- <tr>
753
- <td>
754
- <div class="cal-day ">
755
- 9
756
-
757
- </div>
758
- </td>
759
- <td>
760
- <div class="cal-day ">
761
- 10
762
-
763
- </div>
764
- </td>
765
- <td>
766
- <div class="cal-day ">
767
- 11
768
-
769
- </div>
770
- </td>
771
- <td>
772
- <div class="cal-day ">
773
- 12
774
-
775
- </div>
776
- </td>
777
- <td>
778
- <div class="cal-day ">
779
- 13
780
-
781
- </div>
782
- </td>
783
- <td>
784
- <div class="cal-day ">
785
- 14
786
-
787
- </div>
788
- </td>
789
- <td>
790
- <div class="cal-day ">
791
- 15
792
-
793
- </div>
794
- </td>
795
- </tr>
796
- <tr>
797
- <td>
798
- <div class="cal-day ">
799
- 16
800
-
801
- </div>
802
- </td>
803
- <td>
804
- <div class="cal-day ">
805
- 17
806
-
807
- </div>
808
- </td>
809
- <td>
810
- <div class="cal-day ">
811
- 18
812
-
813
- </div>
814
- </td>
815
- <td>
816
- <div class="cal-day ">
817
- 19
818
-
819
- </div>
820
- </td>
821
- <td>
822
- <div class="cal-day ">
823
- 20
824
-
825
- </div>
826
- </td>
827
- <td>
828
- <div class="cal-day ">
829
- 21
830
-
831
- </div>
832
- </td>
833
- <td>
834
- <div class="cal-day ">
835
- 22
836
-
837
- </div>
838
- </td>
839
- </tr>
840
- <tr>
841
- <td>
842
- <div class="cal-day ">
843
- 23
844
-
845
- </div>
846
- </td>
847
- <td>
848
- <div class="cal-day ">
849
- 24
850
-
851
- </div>
852
- </td>
853
- <td>
854
- <div class="cal-day ">
855
- 25
856
-
857
- </div>
858
- </td>
859
- <td>
860
- <div class="cal-day ">
861
- 26
862
-
863
- </div>
864
- </td>
865
- <td>
866
- <div class="cal-day ">
867
- 27
868
-
869
- </div>
870
- </td>
871
- <td>
872
- <div class="cal-day ">
873
- 28
874
-
875
- </div>
876
- </td>
877
- <td>
878
- <div class="cal-day ">
879
- 29
880
-
881
- </div>
882
- </td>
883
- </tr>
884
- <tr>
885
- <td>
886
- <div class="cal-day ">
887
- 30
888
-
889
- </div>
890
- </td>
891
- <td>
892
- <div class="cal-day ">
893
- 31
894
-
895
- </div>
896
- </td>
897
- <td>
898
- </td>
899
- <td>
900
- </td>
901
- <td>
902
- </td>
903
- <td>
904
- </td>
905
- <td>
906
- </td>
907
- </tr>
908
- </tbody>
909
- </table>
910
- <h3>November 2012</h3>
911
- <table class="cal-month">
912
- <thead><tr>
913
- <th>Su</th>
914
- <th>Mo</th>
915
- <th>Tu</th>
916
- <th>We</th>
917
- <th>Th</th>
918
- <th>Fr</th>
919
- <th>Sa</th>
920
- </tr></thead>
921
- <tbody>
922
- <tr>
923
- <td>
924
- </td>
925
- <td>
926
- </td>
927
- <td>
928
- </td>
929
- <td>
930
- </td>
931
- <td>
932
- <div class="cal-day checked ">
933
- 1
934
-
935
- </div>
936
- </td>
937
- <td>
938
- <div class="cal-day checked ">
939
- 2
940
-
941
- </div>
942
- </td>
943
- <td>
944
- <div class="cal-day checked ">
945
- 3
946
-
947
- </div>
948
- </td>
949
- </tr>
950
- <tr>
951
- <td>
952
- <div class="cal-day checked ">
953
- 4
954
-
955
- </div>
956
- </td>
957
- <td>
958
- <div class="cal-day checked ">
959
- 5
960
-
961
- </div>
962
- </td>
963
- <td>
964
- <div class="cal-day checked ">
965
- 6
966
-
967
- </div>
968
- </td>
969
- <td>
970
- <div class="cal-day checked ">
971
- 7
972
-
973
- </div>
974
- </td>
975
- <td>
976
- <div class="cal-day checked ">
977
- 8
978
-
979
- </div>
980
- </td>
981
- <td>
982
- <div class="cal-day checked ">
983
- 9
984
-
985
- </div>
986
- </td>
987
- <td>
988
- <div class="cal-day checked ">
989
- 10
990
-
991
- </div>
992
- </td>
993
- </tr>
994
- <tr>
995
- <td>
996
- <div class="cal-day checked ">
997
- 11
998
-
999
- </div>
1000
- </td>
1001
- <td>
1002
- <div class="cal-day checked ">
1003
- 12
1004
-
1005
- </div>
1006
- </td>
1007
- <td>
1008
- <div class="cal-day checked ">
1009
- 13
1010
-
1011
- </div>
1012
- </td>
1013
- <td>
1014
- <div class="cal-day checked ">
1015
- 14
1016
-
1017
- </div>
1018
- </td>
1019
- <td>
1020
- <div class="cal-day checked ">
1021
- 15
1022
-
1023
- </div>
1024
- </td>
1025
- <td>
1026
- <div class="cal-day checked ">
1027
- 16
1028
-
1029
- </div>
1030
- </td>
1031
- <td>
1032
- <div class="cal-day checked ">
1033
- 17
1034
-
1035
- </div>
1036
- </td>
1037
- </tr>
1038
- <tr>
1039
- <td>
1040
- <div class="cal-day checked ">
1041
- 18
1042
-
1043
- </div>
1044
- </td>
1045
- <td>
1046
- <div class="cal-day checked ">
1047
- 19
1048
-
1049
- </div>
1050
- </td>
1051
- <td>
1052
- <div class="cal-day ">
1053
- 20
1054
-
1055
- </div>
1056
- </td>
1057
- <td>
1058
- <div class="cal-day checked ">
1059
- 21
1060
-
1061
- </div>
1062
- </td>
1063
- <td>
1064
- <div class="cal-day checked ">
1065
- 22
1066
-
1067
- </div>
1068
- </td>
1069
- <td>
1070
- <div class="cal-day checked ">
1071
- 23
1072
-
1073
- </div>
1074
- </td>
1075
- <td>
1076
- <div class="cal-day checked ">
1077
- 24
1078
-
1079
- </div>
1080
- </td>
1081
- </tr>
1082
- <tr>
1083
- <td>
1084
- <div class="cal-day checked ">
1085
- 25
1086
-
1087
- </div>
1088
- </td>
1089
- <td>
1090
- <div class="cal-day checked ">
1091
- 26
1092
-
1093
- </div>
1094
- </td>
1095
- <td>
1096
- <div class="cal-day checked ">
1097
- 27
1098
-
1099
- </div>
1100
- </td>
1101
- <td>
1102
- <div class="cal-day checked ">
1103
- 28
1104
-
1105
- </div>
1106
- </td>
1107
- <td>
1108
- <div class="cal-day ">
1109
- 29
1110
-
1111
- </div>
1112
- </td>
1113
- <td>
1114
- <div class="cal-day ">
1115
- 30
1116
-
1117
- </div>
1118
- </td>
1119
- <td>
1120
- </td>
1121
- </tr>
1122
- </tbody>
1123
- </table>
1124
- <h3>October 2012</h3>
1125
- <table class="cal-month">
1126
- <thead><tr>
1127
- <th>Su</th>
1128
- <th>Mo</th>
1129
- <th>Tu</th>
1130
- <th>We</th>
1131
- <th>Th</th>
1132
- <th>Fr</th>
1133
- <th>Sa</th>
1134
- </tr></thead>
1135
- <tbody>
1136
- <tr>
1137
- <td>
1138
- </td>
1139
- <td>
1140
- <div class="cal-day checked ">
1141
- 1
1142
-
1143
- </div>
1144
- </td>
1145
- <td>
1146
- <div class="cal-day checked ">
1147
- 2
1148
-
1149
- </div>
1150
- </td>
1151
- <td>
1152
- <div class="cal-day checked ">
1153
- 3
1154
-
1155
- </div>
1156
- </td>
1157
- <td>
1158
- <div class="cal-day checked ">
1159
- 4
1160
-
1161
- </div>
1162
- </td>
1163
- <td>
1164
- <div class="cal-day checked ">
1165
- 5
1166
- <div>.</div>
1167
- </div>
1168
- </td>
1169
- <td>
1170
- <div class="cal-day checked ">
1171
- 6
1172
-
1173
- </div>
1174
- </td>
1175
- </tr>
1176
- <tr>
1177
- <td>
1178
- <div class="cal-day checked ">
1179
- 7
1180
-
1181
- </div>
1182
- </td>
1183
- <td>
1184
- <div class="cal-day checked ">
1185
- 8
1186
-
1187
- </div>
1188
- </td>
1189
- <td>
1190
- <div class="cal-day checked ">
1191
- 9
1192
-
1193
- </div>
1194
- </td>
1195
- <td>
1196
- <div class="cal-day checked ">
1197
- 10
1198
-
1199
- </div>
1200
- </td>
1201
- <td>
1202
- <div class="cal-day checked ">
1203
- 11
1204
-
1205
- </div>
1206
- </td>
1207
- <td>
1208
- <div class="cal-day checked ">
1209
- 12
1210
-
1211
- </div>
1212
- </td>
1213
- <td>
1214
- <div class="cal-day checked ">
1215
- 13
1216
-
1217
- </div>
1218
- </td>
1219
- </tr>
1220
- <tr>
1221
- <td>
1222
- <div class="cal-day checked ">
1223
- 14
1224
-
1225
- </div>
1226
- </td>
1227
- <td>
1228
- <div class="cal-day checked ">
1229
- 15
1230
-
1231
- </div>
1232
- </td>
1233
- <td>
1234
- <div class="cal-day checked ">
1235
- 16
1236
-
1237
- </div>
1238
- </td>
1239
- <td>
1240
- <div class="cal-day checked ">
1241
- 17
1242
-
1243
- </div>
1244
- </td>
1245
- <td>
1246
- <div class="cal-day checked ">
1247
- 18
1248
-
1249
- </div>
1250
- </td>
1251
- <td>
1252
- <div class="cal-day checked ">
1253
- 19
1254
-
1255
- </div>
1256
- </td>
1257
- <td>
1258
- <div class="cal-day checked ">
1259
- 20
1260
-
1261
- </div>
1262
- </td>
1263
- </tr>
1264
- <tr>
1265
- <td>
1266
- <div class="cal-day checked ">
1267
- 21
1268
-
1269
- </div>
1270
- </td>
1271
- <td>
1272
- <div class="cal-day checked ">
1273
- 22
1274
-
1275
- </div>
1276
- </td>
1277
- <td>
1278
- <div class="cal-day checked ">
1279
- 23
1280
-
1281
- </div>
1282
- </td>
1283
- <td>
1284
- <div class="cal-day checked ">
1285
- 24
1286
-
1287
- </div>
1288
- </td>
1289
- <td>
1290
- <div class="cal-day checked ">
1291
- 25
1292
-
1293
- </div>
1294
- </td>
1295
- <td>
1296
- <div class="cal-day checked ">
1297
- 26
1298
-
1299
- </div>
1300
- </td>
1301
- <td>
1302
- <div class="cal-day checked ">
1303
- 27
1304
-
1305
- </div>
1306
- </td>
1307
- </tr>
1308
- <tr>
1309
- <td>
1310
- <div class="cal-day checked ">
1311
- 28
1312
-
1313
- </div>
1314
- </td>
1315
- <td>
1316
- <div class="cal-day checked ">
1317
- 29
1318
-
1319
- </div>
1320
- </td>
1321
- <td>
1322
- <div class="cal-day checked ">
1323
- 30
1324
-
1325
- </div>
1326
- </td>
1327
- <td>
1328
- <div class="cal-day checked ">
1329
- 31
1330
-
1331
- </div>
1332
- </td>
1333
- <td>
1334
- </td>
1335
- <td>
1336
- </td>
1337
- <td>
1338
- </td>
1339
- </tr>
1340
- </tbody>
1341
- </table>
1342
- <h3>September 2012</h3>
1343
- <table class="cal-month">
1344
- <thead><tr>
1345
- <th>Su</th>
1346
- <th>Mo</th>
1347
- <th>Tu</th>
1348
- <th>We</th>
1349
- <th>Th</th>
1350
- <th>Fr</th>
1351
- <th>Sa</th>
1352
- </tr></thead>
1353
- <tbody>
1354
- <tr>
1355
- <td>
1356
- </td>
1357
- <td>
1358
- </td>
1359
- <td>
1360
- </td>
1361
- <td>
1362
- </td>
1363
- <td>
1364
- </td>
1365
- <td>
1366
- </td>
1367
- <td>
1368
- <div class="cal-day ">
1369
- 1
1370
-
1371
- </div>
1372
- </td>
1373
- </tr>
1374
- <tr>
1375
- <td>
1376
- <div class="cal-day ">
1377
- 2
1378
-
1379
- </div>
1380
- </td>
1381
- <td>
1382
- <div class="cal-day ">
1383
- 3
1384
-
1385
- </div>
1386
- </td>
1387
- <td>
1388
- <div class="cal-day ">
1389
- 4
1390
-
1391
- </div>
1392
- </td>
1393
- <td>
1394
- <div class="cal-day ">
1395
- 5
1396
-
1397
- </div>
1398
- </td>
1399
- <td>
1400
- <div class="cal-day ">
1401
- 6
1402
-
1403
- </div>
1404
- </td>
1405
- <td>
1406
- <div class="cal-day ">
1407
- 7
1408
-
1409
- </div>
1410
- </td>
1411
- <td>
1412
- <div class="cal-day ">
1413
- 8
1414
-
1415
- </div>
1416
- </td>
1417
- </tr>
1418
- <tr>
1419
- <td>
1420
- <div class="cal-day ">
1421
- 9
1422
-
1423
- </div>
1424
- </td>
1425
- <td>
1426
- <div class="cal-day ">
1427
- 10
1428
-
1429
- </div>
1430
- </td>
1431
- <td>
1432
- <div class="cal-day ">
1433
- 11
1434
-
1435
- </div>
1436
- </td>
1437
- <td>
1438
- <div class="cal-day ">
1439
- 12
1440
-
1441
- </div>
1442
- </td>
1443
- <td>
1444
- <div class="cal-day ">
1445
- 13
1446
-
1447
- </div>
1448
- </td>
1449
- <td>
1450
- <div class="cal-day ">
1451
- 14
1452
-
1453
- </div>
1454
- </td>
1455
- <td>
1456
- <div class="cal-day ">
1457
- 15
1458
-
1459
- </div>
1460
- </td>
1461
- </tr>
1462
- <tr>
1463
- <td>
1464
- <div class="cal-day ">
1465
- 16
1466
-
1467
- </div>
1468
- </td>
1469
- <td>
1470
- <div class="cal-day ">
1471
- 17
1472
-
1473
- </div>
1474
- </td>
1475
- <td>
1476
- <div class="cal-day ">
1477
- 18
1478
-
1479
- </div>
1480
- </td>
1481
- <td>
1482
- <div class="cal-day ">
1483
- 19
1484
-
1485
- </div>
1486
- </td>
1487
- <td>
1488
- <div class="cal-day ">
1489
- 20
1490
-
1491
- </div>
1492
- </td>
1493
- <td>
1494
- <div class="cal-day ">
1495
- 21
1496
-
1497
- </div>
1498
- </td>
1499
- <td>
1500
- <div class="cal-day ">
1501
- 22
1502
-
1503
- </div>
1504
- </td>
1505
- </tr>
1506
- <tr>
1507
- <td>
1508
- <div class="cal-day ">
1509
- 23
1510
-
1511
- </div>
1512
- </td>
1513
- <td>
1514
- <div class="cal-day ">
1515
- 24
1516
-
1517
- </div>
1518
- </td>
1519
- <td>
1520
- <div class="cal-day ">
1521
- 25
1522
-
1523
- </div>
1524
- </td>
1525
- <td>
1526
- <div class="cal-day ">
1527
- 26
1528
-
1529
- </div>
1530
- </td>
1531
- <td>
1532
- <div class="cal-day ">
1533
- 27
1534
-
1535
- </div>
1536
- </td>
1537
- <td>
1538
- <div class="cal-day ">
1539
- 28
1540
-
1541
- </div>
1542
- </td>
1543
- <td>
1544
- <div class="cal-day checked ">
1545
- 29
1546
-
1547
- </div>
1548
- </td>
1549
- </tr>
1550
- <tr>
1551
- <td>
1552
- <div class="cal-day checked ">
1553
- 30
1554
-
1555
- </div>
1556
- </td>
1557
- <td>
1558
- </td>
1559
- <td>
1560
- </td>
1561
- <td>
1562
- </td>
1563
- <td>
1564
- </td>
1565
- <td>
1566
- </td>
1567
- <td>
1568
- </td>
1569
- </tr>
1570
- </tbody>
1571
- </table>
1572
-
1573
- </div>
1574
- </div>
1575
- </div>
1576
-
1577
- <div id="profile-notes" class="tab-pane calendar-notes">
1578
- <h3>Notes</h3>
1579
- <div class="tab-inner">
1580
- <ul class="notes-list">
1581
- <li>
1582
- <div class="note-date">
1583
- <small>Oct</small>
1584
- <strong>5</strong>
1585
- <small>2012</small>
1586
- </div>
1587
- <div class="note-content">
1588
- Gratitude journal already giving me a more positive perspective :)
1589
- </div>
1590
- </li>
1591
- </ul>
1592
- </div>
1593
- </div>
1594
- </div>
1595
-
1596
- </div>
1597
-
1598
- </div>
1599
-
1600
-
1601
- <script type="text/javascript">if (!NREUMQ.f) { NREUMQ.f=function() {
1602
- NREUMQ.push(["load",new Date().getTime()]);
1603
- var e=document.createElement("script");
1604
- e.type="text/javascript";
1605
- e.src=(("http:"===document.location.protocol)?"http:":"https:") + "//" +
1606
- "d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";
1607
- document.body.appendChild(e);
1608
- if(NREUMQ.a)NREUMQ.a();
1609
- };
1610
- NREUMQ.a=window.onload;window.onload=NREUMQ.f;
1611
- };
1612
- NREUMQ.push(["nrfj","beacon-1.newrelic.com","a688898eb6",163201,"IlpWRxFeCA0ERBpDFgRHSxwTQwsHCFpQaQYJVFRfBl8DBA==",0,120,new Date().getTime(),"","","","",""]);</script></body>
1613
- </html>
1614
-