digital_heroes_startkit 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +37 -0
- data/Rakefile +36 -0
- data/app/assets/config/digital_heroes_startkit_manifest.js +0 -0
- data/app/assets/javascripts/authorization.coffee +79 -0
- data/app/assets/javascripts/avatar.coffee +16 -0
- data/app/assets/javascripts/datepicker.js +2 -0
- data/app/assets/javascripts/digital_heroes_startkit/cable.js +13 -0
- data/app/assets/javascripts/digital_heroes_startkit/channels/pills.coffee +23 -0
- data/app/assets/javascripts/digital_heroes_startkit/input.coffee +5 -0
- data/app/assets/javascripts/digital_heroes_startkit/pills.coffee +2 -0
- data/app/assets/javascripts/digital_heroes_startkit/snap.svg-min.js +21 -0
- data/app/assets/javascripts/digital_heroes_startkit.js +26 -0
- data/app/assets/javascripts/profile.coffee +53 -0
- data/app/assets/javascripts/profile_geodata.coffee +68 -0
- data/app/assets/javascripts/reg_fields_checkup.coffee +96 -0
- data/app/assets/javascripts/registration.coffee +35 -0
- data/app/assets/javascripts/resurrection.coffee +20 -0
- data/app/channels/application_cable/channel.rb +4 -0
- data/app/channels/application_cable/connection.rb +4 -0
- data/app/channels/pills_channel.rb +10 -0
- data/app/controllers/avatars_controller.rb +11 -0
- data/app/controllers/clients_controller.rb +62 -0
- data/app/controllers/email_access_cards_controller.rb +28 -0
- data/app/controllers/geodata_controller.rb +84 -0
- data/app/controllers/nickname_access_cards_controller.rb +30 -0
- data/app/controllers/oauth_controller.rb +178 -0
- data/app/controllers/openid_controller.rb +124 -0
- data/app/controllers/phone_access_cards_controller.rb +28 -0
- data/app/controllers/profile_controller.rb +114 -0
- data/app/controllers/response_controller.rb +17 -0
- data/app/controllers/start_kit_controller.rb +86 -0
- data/app/controllers/user_cards_controller.rb +305 -0
- data/app/jobs/log_analyzer_job.rb +50 -0
- data/app/jobs/password_resurrection_kill_job.rb +9 -0
- data/app/mailers/admin_mailer.rb +9 -0
- data/app/mailers/client_mailer.rb +3 -0
- data/app/mailers/kreator_mailer.rb +9 -0
- data/app/mailers/manager_mailer.rb +9 -0
- data/app/mailers/prometeus_mailer.rb +16 -0
- data/app/mailers/user_cards_mailer.rb +9 -0
- data/app/models/admin.rb +3 -0
- data/app/models/avatar.rb +23 -0
- data/app/models/city.rb +7 -0
- data/app/models/client.rb +31 -0
- data/app/models/country.rb +7 -0
- data/app/models/delayed_job.rb +20 -0
- data/app/models/email_access_card.rb +30 -0
- data/app/models/kreator.rb +3 -0
- data/app/models/log_error.rb +56 -0
- data/app/models/log_error_type.rb +3 -0
- data/app/models/manager.rb +3 -0
- data/app/models/nickname_access_card.rb +18 -0
- data/app/models/oauth_access_card.rb +38 -0
- data/app/models/phone_access_card.rb +19 -0
- data/app/models/prometeus.rb +50 -0
- data/app/models/user_card.rb +158 -0
- data/app/views/admin_mailer/greetings_email.html.erb +191 -0
- data/app/views/client_mailer/greetings_email.html.erb +191 -0
- data/app/views/kreator_mailer/greetings_email.html.erb +191 -0
- data/app/views/manager_mailer/greetings_email.html.erb +191 -0
- data/app/views/oauth/verify.slim +1 -0
- data/app/views/profile/_add_avatar.slim +12 -0
- data/app/views/profile/_user_profile.slim +95 -0
- data/app/views/profile/index.slim +12 -0
- data/app/views/user_cards/authorization.slim +72 -0
- data/app/views/user_cards/confirmation_but_access_code.slim +7 -0
- data/app/views/user_cards/confirmation_complete.slim +7 -0
- data/app/views/user_cards/registration.slim +86 -0
- data/app/views/user_cards/resurrection.slim +19 -0
- data/app/views/user_cards/resurrection_but_access_code.slim +7 -0
- data/app/views/user_cards/resurrection_no_access_code.slim +7 -0
- data/app/views/user_cards_mailer/email.html.erb +191 -0
- data/app/views/user_cards_mailer/resurrection.html.erb +191 -0
- data/config/initializers/session_manager.rb +2 -0
- data/config/routes.rb +53 -0
- data/lib/access_control.rb +3 -0
- data/lib/digital_heroes_startkit/engine.rb +25 -0
- data/lib/digital_heroes_startkit/version.rb +3 -0
- data/lib/digital_heroes_startkit.rb +5 -0
- data/lib/generators/digital_heroes_startkit/install_generator.rb +61 -0
- data/lib/generators/project/Capfile +36 -0
- data/lib/generators/project/Procfile +3 -0
- data/lib/generators/project/app/assets/stylesheets/application.scss +16 -0
- data/lib/generators/project/app/assets/stylesheets/base/_auth.scss +37 -0
- data/lib/generators/project/app/assets/stylesheets/base/_buttons.scss +62 -0
- data/lib/generators/project/app/assets/stylesheets/base/_checkbox.scss +71 -0
- data/lib/generators/project/app/assets/stylesheets/base/_datepicker.scss +620 -0
- data/lib/generators/project/app/assets/stylesheets/base/_form.scss +81 -0
- data/lib/generators/project/app/assets/stylesheets/base/_notice.scss +14 -0
- data/lib/generators/project/app/assets/stylesheets/base/_pills.scss +39 -0
- data/lib/generators/project/app/assets/stylesheets/base/_profile.scss +67 -0
- data/lib/generators/project/app/assets/stylesheets/base/_reset.scss +49 -0
- data/lib/generators/project/app/assets/stylesheets/base/_social.scss +52 -0
- data/lib/generators/project/app/assets/stylesheets/base/_user.scss +0 -0
- data/lib/generators/project/app/assets/stylesheets/base/_user_avatar.scss +18 -0
- data/lib/generators/project/app/assets/stylesheets/base/styles.scss.txt +35 -0
- data/lib/generators/project/app/assets/stylesheets/plugins/sumoselect.scss +296 -0
- data/lib/generators/project/app/controllers/application_controller.rb +3 -0
- data/lib/generators/project/app/views/layouts/_counts.html.erb +29 -0
- data/lib/generators/project/app/views/layouts/_footer.slim +6 -0
- data/lib/generators/project/app/views/layouts/_head.slim +7 -0
- data/lib/generators/project/app/views/layouts/_header.slim +47 -0
- data/lib/generators/project/app/views/layouts/_mobile_menu.slim +11 -0
- data/lib/generators/project/app/views/layouts/application.slim +26 -0
- data/lib/generators/project/app/views/layouts/mailer.html.erb +13 -0
- data/lib/generators/project/app/views/layouts/mailer.text.erb +1 -0
- data/lib/generators/project/config/application.access.yml +66 -0
- data/lib/generators/project/config/application.db.yml +5 -0
- data/lib/generators/project/config/application.google.yml +3 -0
- data/lib/generators/project/config/application.oauth.yml +135 -0
- data/lib/generators/project/config/application.robokassa.yml +10 -0
- data/lib/generators/project/config/application.sendgrid.yml +3 -0
- data/lib/generators/project/config/application.telegram.yml +22 -0
- data/lib/generators/project/config/application.yml +28 -0
- data/lib/generators/project/config/cable.yml +6 -0
- data/lib/generators/project/config/capistrano.yml +78 -0
- data/lib/generators/project/config/database.yml +52 -0
- data/lib/generators/project/config/deploy/application.secrets.yml +4 -0
- data/lib/generators/project/config/deploy/domain.crt +92 -0
- data/lib/generators/project/config/deploy/domain.key +51 -0
- data/lib/generators/project/config/deploy/nginx.conf +50 -0
- data/lib/generators/project/config/deploy/production.rb +67 -0
- data/lib/generators/project/config/deploy/secrets.yml +32 -0
- data/lib/generators/project/config/deploy/secrets.yml.enc +1 -0
- data/lib/generators/project/config/deploy/secrets.yml.key +1 -0
- data/lib/generators/project/config/deploy/staging.rb +61 -0
- data/lib/generators/project/config/deploy/virgin_conf/database.yml +42 -0
- data/lib/generators/project/config/deploy/virgin_conf/nginx_site.conf +47 -0
- data/lib/generators/project/config/deploy/virgin_conf/nginx_site_ssl.conf +57 -0
- data/lib/generators/project/config/deploy/virgin_conf/postfix.cf +685 -0
- data/lib/generators/project/config/deploy/virgin_conf/production.rb +67 -0
- data/lib/generators/project/config/deploy/virgin_conf/puma.rb +66 -0
- data/lib/generators/project/config/deploy/virgin_sh/capistrano.sh +18 -0
- data/lib/generators/project/config/deploy/virgin_sh/foreman.sh +19 -0
- data/lib/generators/project/config/deploy/virgin_sh/rvm_install.sh +10 -0
- data/lib/generators/project/config/deploy.rb +377 -0
- data/lib/generators/project/config/environments/development.rb +91 -0
- data/lib/generators/project/config/environments/production.rb +142 -0
- data/lib/generators/project/config/initializers/session_store.rb +3 -0
- data/lib/generators/project/config/locales/ru.yml +444 -0
- data/lib/generators/project/db/migrate/10_create_user_cards.rb +19 -0
- data/lib/generators/project/db/migrate/12_create_email_access_cards.rb +15 -0
- data/lib/generators/project/db/migrate/13_create_nickname_access_cards.rb +15 -0
- data/lib/generators/project/db/migrate/14_create_phone_access_cards.rb +16 -0
- data/lib/generators/project/db/migrate/15_create_oauth_access_cards.rb +19 -0
- data/lib/generators/project/db/migrate/1_create_kreators.rb +9 -0
- data/lib/generators/project/db/migrate/21_create_avatars.rb +12 -0
- data/lib/generators/project/db/migrate/30_create_countries.rb +12 -0
- data/lib/generators/project/db/migrate/32_create_cities.rb +12 -0
- data/lib/generators/project/db/migrate/3_create_admins.rb +9 -0
- data/lib/generators/project/db/migrate/44_add_sessions_table.rb +12 -0
- data/lib/generators/project/db/migrate/4_create_managers.rb +10 -0
- data/lib/generators/project/db/migrate/5_create_clients.rb +17 -0
- data/lib/generators/project/db/migrate/60_create_log_error_types.rb +9 -0
- data/lib/generators/project/db/migrate/61_create_log_errors.rb +12 -0
- data/lib/generators/project/db/migrate/78_create_delayed_jobs.rb +22 -0
- data/lib/generators/project/db/seeds.rb +27 -0
- data/lib/generators/project/geodata/cities.csv +25305 -0
- data/lib/generators/project/geodata/countries.csv +250 -0
- data/lib/generators/project/public/401.html +75 -0
- data/lib/generators/project/public/404.html +67 -0
- data/lib/generators/project/public/422.html +67 -0
- data/lib/generators/project/public/500.html +66 -0
- data/lib/generators/project/public/_receiver.html +10 -0
- data/lib/generators/project/public/apple-touch-icon-precomposed.png +0 -0
- data/lib/generators/project/public/apple-touch-icon.png +0 -0
- data/lib/generators/project/public/favicon.ico +0 -0
- data/lib/generators/project/public/robots.txt +1 -0
- data/lib/happy_birthday.rb +5 -0
- data/lib/link.rb +16 -0
- data/lib/oauth/oauth.rb +72 -0
- data/lib/oauth/oauth_fb.rb +48 -0
- data/lib/oauth/oauth_gg.rb +50 -0
- data/lib/oauth/oauth_im.rb +51 -0
- data/lib/oauth/oauth_mr.rb +53 -0
- data/lib/oauth/oauth_vk.rb +3 -0
- data/lib/oauth/oauth_yx.rb +51 -0
- data/lib/openid/openid.rb +46 -0
- data/lib/openid/openid_st.rb +2 -0
- data/lib/phone_cutter.rb +9 -0
- data/lib/response.rb +51 -0
- data/lib/session_manager.rb +47 -0
- data/lib/sms_lib.rb +30 -0
- data/lib/social_networks.rb +328 -0
- data/lib/tasks/digital_heroes_startkit_tasks.rake +83 -0
- data/lib/telegram.rb +33 -0
- metadata +497 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
1,RW,Руанда,0
|
|
2
|
+
2,SO,Сомали,0
|
|
3
|
+
3,YE,Йемен,0
|
|
4
|
+
4,IQ,Ирак,0
|
|
5
|
+
5,SA,Саудовская Аравия,0
|
|
6
|
+
6,IR,Иран,0
|
|
7
|
+
7,CY,Кипр,1
|
|
8
|
+
8,TZ,Танзания,0
|
|
9
|
+
9,SY,Сирийская Арабская Республика,0
|
|
10
|
+
10,AM,Армения,0
|
|
11
|
+
11,KE,Кения,0
|
|
12
|
+
12,CD,Заир,0
|
|
13
|
+
13,DJ,Джибути,0
|
|
14
|
+
14,UG,Уганда,0
|
|
15
|
+
15,CF,ЦАР,0
|
|
16
|
+
16,SC,Сейшельские о-ва,0
|
|
17
|
+
17,JO,Иордания,0
|
|
18
|
+
18,LB,Ливан,0
|
|
19
|
+
19,KW,Кувейт,0
|
|
20
|
+
20,OM,Оман,0
|
|
21
|
+
21,QA,Катар,0
|
|
22
|
+
22,BH,Бахрейн,0
|
|
23
|
+
23,AE,ОАЭ,0
|
|
24
|
+
24,IL,Израиль,0
|
|
25
|
+
25,TR,Турция,0
|
|
26
|
+
26,ET,Эфиопия,0
|
|
27
|
+
27,ER,Эритрея,0
|
|
28
|
+
28,EG,Египет,0
|
|
29
|
+
29,SD,Судан,0
|
|
30
|
+
30,GR,Греция,1
|
|
31
|
+
31,BI,Бурунди,0
|
|
32
|
+
32,EE,Эстония,1
|
|
33
|
+
33,LV,Латвия,1
|
|
34
|
+
34,AZ,Азербайджан,0
|
|
35
|
+
35,LT,Литва,1
|
|
36
|
+
36,SJ,Свальбард и Ян-Майен,0
|
|
37
|
+
37,GE,Грузия,0
|
|
38
|
+
38,MD,Молдова,0
|
|
39
|
+
39,BY,Беларусь,0
|
|
40
|
+
40,FI,Финляндия,1
|
|
41
|
+
41,AX,Аланды,0
|
|
42
|
+
42,UA,Украина,0
|
|
43
|
+
43,MK,Македония,0
|
|
44
|
+
44,HU,Венгрия,1
|
|
45
|
+
45,BG,Болгария,1
|
|
46
|
+
46,AL,Албания,0
|
|
47
|
+
47,PL,Польша,1
|
|
48
|
+
48,RO,Румыния,1
|
|
49
|
+
49,XK,Косово,0
|
|
50
|
+
50,ZW,Зимбабве,0
|
|
51
|
+
51,ZM,Замбия,0
|
|
52
|
+
52,KM,Коморские о-ва,0
|
|
53
|
+
53,MW,Малави,0
|
|
54
|
+
54,LS,Лесото,0
|
|
55
|
+
55,BW,Ботсвана,0
|
|
56
|
+
56,MU,Маврикий,0
|
|
57
|
+
57,SZ,Свазиленд,0
|
|
58
|
+
58,RE,Реюньон,0
|
|
59
|
+
59,ZA,ЮАР,0
|
|
60
|
+
60,YT,Майотта,0
|
|
61
|
+
61,MZ,Мозамбик,0
|
|
62
|
+
62,MG,Мадагаскар,0
|
|
63
|
+
63,AF,Афганистан,0
|
|
64
|
+
64,PK,Пакистан,0
|
|
65
|
+
65,BD,Бангладеш,0
|
|
66
|
+
66,TM,Туркменистан,0
|
|
67
|
+
67,TJ,Таджикистан,0
|
|
68
|
+
68,LK,Шри-Ланка,0
|
|
69
|
+
69,BT,Бутан,0
|
|
70
|
+
70,IN,Индия,0
|
|
71
|
+
71,MV,Мальдивские о-ва,0
|
|
72
|
+
72,IO,Британская территория в Индийском океане,0
|
|
73
|
+
73,NP,Непал,0
|
|
74
|
+
74,MM,Мьянма,0
|
|
75
|
+
75,UZ,Узбекистан,0
|
|
76
|
+
76,KZ,Казахстан,0
|
|
77
|
+
77,KG,Кыргызстан,0
|
|
78
|
+
78,TF,Французские Южные Территории,0
|
|
79
|
+
79,HM,Острова Херд и Макдональд,0
|
|
80
|
+
80,CC,Кокосовые о-ва,0
|
|
81
|
+
81,PW,Палау,0
|
|
82
|
+
82,VN,Вьетнам,0
|
|
83
|
+
83,TH,Тайланд,0
|
|
84
|
+
84,ID,Индонезия,0
|
|
85
|
+
85,LA,Лаос,0
|
|
86
|
+
86,TW,Тайвань,0
|
|
87
|
+
87,PH,Филиппины,0
|
|
88
|
+
88,MY,Малайзия,0
|
|
89
|
+
89,CN,Китай,0
|
|
90
|
+
90,HK,Гонконг,0
|
|
91
|
+
91,BN,Бруней Даруссалам,0
|
|
92
|
+
92,MO,Макао,0
|
|
93
|
+
93,KH,Камбоджа,0
|
|
94
|
+
94,KR,Южная Корея,0
|
|
95
|
+
95,JP,Япония,0
|
|
96
|
+
96,KP,Северная Корея,0
|
|
97
|
+
97,SG,Сингапур,0
|
|
98
|
+
98,CK,Острова Кука,0
|
|
99
|
+
99,TL,Восточный Тимор,0
|
|
100
|
+
100,MN,Монголия,0
|
|
101
|
+
101,AU,Австралия,0
|
|
102
|
+
102,CX,Остров Рождества,0
|
|
103
|
+
103,MH,Маршалловы о-ва,0
|
|
104
|
+
104,FM,Микронезия,0
|
|
105
|
+
105,PG,Папуа – Новая Гвинея,0
|
|
106
|
+
106,SB,Соломонские острова,0
|
|
107
|
+
107,TV,Тувалу,0
|
|
108
|
+
108,NR,Науру,0
|
|
109
|
+
109,VU,Вануату,0
|
|
110
|
+
110,NC,Новая Каледония,0
|
|
111
|
+
111,NF,Остров Норфолк,0
|
|
112
|
+
112,NZ,Новая Зеландия,0
|
|
113
|
+
113,FJ,Фиджи,0
|
|
114
|
+
114,LY,Ливия,0
|
|
115
|
+
115,CM,Камерун,0
|
|
116
|
+
116,SN,Сенегал,0
|
|
117
|
+
117,CG,Конго,0
|
|
118
|
+
118,PT,Португалия,1
|
|
119
|
+
119,LR,Либерия,0
|
|
120
|
+
120,CI,Кот-д'Ивуар,0
|
|
121
|
+
121,GH,Гана,0
|
|
122
|
+
122,GQ,Экваториальная Гвинея,0
|
|
123
|
+
123,NG,Нигерия,0
|
|
124
|
+
124,BF,Буркина Фасо,0
|
|
125
|
+
125,TG,Того,0
|
|
126
|
+
126,GW,Гвинея-Биссау,0
|
|
127
|
+
127,MR,Мавритания,0
|
|
128
|
+
128,BJ,Бенин,0
|
|
129
|
+
129,GA,Габон,0
|
|
130
|
+
130,SL,Сьерра-Леоне,0
|
|
131
|
+
131,ST,Сан-Томе и Принсипе,0
|
|
132
|
+
132,GI,Гибралтар,0
|
|
133
|
+
133,GM,Гамбия,0
|
|
134
|
+
134,GN,Гвинея,0
|
|
135
|
+
135,TD,Чад,0
|
|
136
|
+
136,NE,Нигер,0
|
|
137
|
+
137,ML,Мали,0
|
|
138
|
+
138,EH,Западная Сахара,0
|
|
139
|
+
139,TN,Тунис,0
|
|
140
|
+
140,ES,Испания,1
|
|
141
|
+
141,MA,Марокко,0
|
|
142
|
+
142,MT,Мальта,1
|
|
143
|
+
143,DZ,Алжир,0
|
|
144
|
+
144,FO,Фарерские о-ва,0
|
|
145
|
+
145,DK,Дания,1
|
|
146
|
+
146,IS,Исландия,0
|
|
147
|
+
147,GB,Великобритания,1
|
|
148
|
+
148,CH,Швейцария,0
|
|
149
|
+
149,SE,Швеция,1
|
|
150
|
+
150,NL,Нидерланды,1
|
|
151
|
+
151,AT,Австрия,1
|
|
152
|
+
152,BE,Бельгия,1
|
|
153
|
+
153,DE,Германия,1
|
|
154
|
+
154,LU,Люксембург,1
|
|
155
|
+
155,IE,Ирландия,1
|
|
156
|
+
156,MC,Монако,0
|
|
157
|
+
157,FR,Франция,1
|
|
158
|
+
158,AD,Андорра,0
|
|
159
|
+
159,LI,Лихтенштейн,0
|
|
160
|
+
160,JE,Джерси,0
|
|
161
|
+
161,IM,"Мэн, о-в",0
|
|
162
|
+
162,GG,Гернси,0
|
|
163
|
+
163,SK,Словакия,1
|
|
164
|
+
164,CZ,Чешская Республика,1
|
|
165
|
+
165,NO,Норвегия,0
|
|
166
|
+
166,VA,Ватикан,0
|
|
167
|
+
167,SM,Сан-Марино,0
|
|
168
|
+
168,IT,Италия,1
|
|
169
|
+
169,SI,Словения,1
|
|
170
|
+
170,ME,Черногория,0
|
|
171
|
+
171,HR,Хорватия,1
|
|
172
|
+
172,BA,Босния,0
|
|
173
|
+
173,AO,Ангола,0
|
|
174
|
+
174,NA,Намибия,0
|
|
175
|
+
175,SH,Остров Святой Елены,0
|
|
176
|
+
176,BV,Остров Буве,0
|
|
177
|
+
177,BB,Барбадос,0
|
|
178
|
+
178,CV,Острова Зеленого Мыса,0
|
|
179
|
+
179,GY,Гайана,0
|
|
180
|
+
180,GF,Французская Гвиана,0
|
|
181
|
+
181,SR,Суринам,0
|
|
182
|
+
182,PM,Сен-Пьер и Микелон,0
|
|
183
|
+
183,GL,Гренландия,0
|
|
184
|
+
184,PY,Парагвай,0
|
|
185
|
+
185,UY,Уругвай,0
|
|
186
|
+
186,BR,Бразилия,0
|
|
187
|
+
187,FK,Фолклендские о-ва,0
|
|
188
|
+
188,GS,Южная Джорджия и Южные Сандвичевы Острова,0
|
|
189
|
+
189,JM,Ямайка,0
|
|
190
|
+
190,DO,Доминиканская Республика,0
|
|
191
|
+
191,CU,Куба,0
|
|
192
|
+
192,MQ,Мартиника,0
|
|
193
|
+
193,BS,Багамы,0
|
|
194
|
+
194,BM,Бермудские о-ва,0
|
|
195
|
+
195,AI,Ангилья,0
|
|
196
|
+
196,TT,Тринидад и Тобаго,0
|
|
197
|
+
197,KN,Сент-Киттс и Невис,0
|
|
198
|
+
198,DM,Остров Доминика,0
|
|
199
|
+
199,AG,Антигуа и Барбуда,0
|
|
200
|
+
200,LC,Сент-Люсия,0
|
|
201
|
+
201,TC,Острова Тёркс и Кайкос,0
|
|
202
|
+
202,AW,Аруба,0
|
|
203
|
+
203,VG,Британские Виргинские о-ва,0
|
|
204
|
+
204,VC,Сент-Винсент и Гренадины,0
|
|
205
|
+
205,MS,Монсеррат,0
|
|
206
|
+
206,MF,Остров Святого Мартина,0
|
|
207
|
+
207,BL,Остров Святого Бартоломея,0
|
|
208
|
+
208,GP,Гваделупа,0
|
|
209
|
+
209,GD,Гренада,0
|
|
210
|
+
210,KY,Каймановы Острова,0
|
|
211
|
+
211,BZ,Белиз,0
|
|
212
|
+
212,SV,Сальвадор,0
|
|
213
|
+
213,GT,Гватемала,0
|
|
214
|
+
214,HN,Гондурас,0
|
|
215
|
+
215,NI,Никарагуа,0
|
|
216
|
+
216,CR,Коста-Рика,0
|
|
217
|
+
217,VE,Венесуэла,0
|
|
218
|
+
218,EC,Эквадор,0
|
|
219
|
+
219,CO,Колумбия,0
|
|
220
|
+
220,PA,Панама,0
|
|
221
|
+
221,HT,Гаити,0
|
|
222
|
+
222,AR,Аргентина,0
|
|
223
|
+
223,CL,Чили,0
|
|
224
|
+
224,BO,Боливия,0
|
|
225
|
+
225,PE,Перу,0
|
|
226
|
+
226,MX,Мексика,0
|
|
227
|
+
227,PF,Французская Полинезия,0
|
|
228
|
+
228,PN,Питкэрн,0
|
|
229
|
+
229,KI,Кирибати,0
|
|
230
|
+
230,TK,Токелау,0
|
|
231
|
+
231,TO,Тонга,0
|
|
232
|
+
232,WF,Уоллис и Футуна,0
|
|
233
|
+
233,WS,Самоа,0
|
|
234
|
+
234,NU,Ниуе,0
|
|
235
|
+
235,MP,Северные Марианские о-ва,0
|
|
236
|
+
236,GU,Гуам,0
|
|
237
|
+
237,PR,Пуэрто-Рико,0
|
|
238
|
+
238,VI,Виргинские о-ва (США),0
|
|
239
|
+
239,UM,Внешние малые острова (США),0
|
|
240
|
+
240,AS,Американское Самоа,0
|
|
241
|
+
241,CA,Канада,0
|
|
242
|
+
242,US,США,0
|
|
243
|
+
243,PS,Палестинские территории,0
|
|
244
|
+
244,RS,Сербия,0
|
|
245
|
+
245,AQ,Антарктида,0
|
|
246
|
+
246,SX,Синт-Мартен,0
|
|
247
|
+
247,CW,Кюрасао,0
|
|
248
|
+
248,BQ,"Бонайре, Синт-Эстатиус и Саба",0
|
|
249
|
+
249,SS,Южный Судан,0
|
|
250
|
+
250,RU,Россия,0
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="ru">
|
|
3
|
+
<head>
|
|
4
|
+
<title>401 Нет доступа</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
|
|
8
|
+
<style>
|
|
9
|
+
.rails-default-error-page {
|
|
10
|
+
background-color: #EFEFEF;
|
|
11
|
+
color: #2E2F30;
|
|
12
|
+
text-align: center;
|
|
13
|
+
font-family: arial, sans-serif;
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.rails-default-error-page div.dialog {
|
|
18
|
+
width: 95%;
|
|
19
|
+
max-width: 40vw;
|
|
20
|
+
margin: 4em auto 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.rails-default-error-page div.dialog > div {
|
|
24
|
+
border: 5px solid #0070ba;
|
|
25
|
+
padding: 1em 12% 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.rails-default-error-page h1 {
|
|
29
|
+
font-size: 12vw;
|
|
30
|
+
font-weight: 400;
|
|
31
|
+
color: #0070ba;
|
|
32
|
+
margin: 5vw 0 0 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.rails-default-error-page div.dialog > p {
|
|
36
|
+
margin: 0 0 1em;
|
|
37
|
+
padding: 1em;
|
|
38
|
+
background-color: #F7F7F7;
|
|
39
|
+
border: 1px solid #CCC;
|
|
40
|
+
border-right-color: #999;
|
|
41
|
+
border-left-color: #999;
|
|
42
|
+
border-bottom-color: #999;
|
|
43
|
+
border-bottom-left-radius: 4px;
|
|
44
|
+
border-bottom-right-radius: 4px;
|
|
45
|
+
border-top-color: #DADADA;
|
|
46
|
+
color: #666;
|
|
47
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
48
|
+
}
|
|
49
|
+
.rails-default-error-page div.dialog p.text {
|
|
50
|
+
font-size: 2vw;
|
|
51
|
+
text-transform: uppercase;
|
|
52
|
+
color: #0070ba;
|
|
53
|
+
}
|
|
54
|
+
.rails-default-error-page div.dialog a {
|
|
55
|
+
display: inline-block;
|
|
56
|
+
color: #0070ba;
|
|
57
|
+
margin-bottom: 2em;
|
|
58
|
+
font-weight: bold;
|
|
59
|
+
}
|
|
60
|
+
.rails-default-error-page div.dialog a:hover {
|
|
61
|
+
text-decoration: none;
|
|
62
|
+
}
|
|
63
|
+
</style>
|
|
64
|
+
</head>
|
|
65
|
+
|
|
66
|
+
<body class="rails-default-error-page">
|
|
67
|
+
<div class="dialog">
|
|
68
|
+
<div>
|
|
69
|
+
<h1>401</h1>
|
|
70
|
+
<p class="text">Нет доступа</p>
|
|
71
|
+
<p><a href="/" title="Вернуться на главную">Вернуться на главную</a></p>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</body>
|
|
75
|
+
</html>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
.rails-default-error-page {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.rails-default-error-page div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.rails-default-error-page div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.rails-default-error-page h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.rails-default-error-page div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body class="rails-default-error-page">
|
|
58
|
+
<!-- This file lives in public/404.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
|
62
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
65
|
+
</div>
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
.rails-default-error-page {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.rails-default-error-page div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.rails-default-error-page div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.rails-default-error-page h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.rails-default-error-page div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body class="rails-default-error-page">
|
|
58
|
+
<!-- This file lives in public/422.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>The change you wanted was rejected.</h1>
|
|
62
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
65
|
+
</div>
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
.rails-default-error-page {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.rails-default-error-page div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.rails-default-error-page div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.rails-default-error-page h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.rails-default-error-page div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body class="rails-default-error-page">
|
|
58
|
+
<!-- This file lives in public/500.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>We're sorry, but something went wrong.</h1>
|
|
62
|
+
</div>
|
|
63
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
64
|
+
</div>
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
data/lib/link.rb
ADDED
data/lib/oauth/oauth.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
class Oauth
|
|
2
|
+
|
|
3
|
+
require 'uri'
|
|
4
|
+
require 'net/http'
|
|
5
|
+
|
|
6
|
+
def initialize verify_url, state
|
|
7
|
+
@verify_url = verify_url
|
|
8
|
+
@key = state.keys.first
|
|
9
|
+
@name = state.values.first[:name].to_sym
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def auth_request step = :step1, add_params = nil
|
|
13
|
+
uri = URI CONFIG[:oauth][@name][:auth][step][:uri]
|
|
14
|
+
params = CONFIG[:oauth][@name][:auth][:united_params].merge(CONFIG[:oauth][@name][:auth][step].except(:uri)).merge({redirect_uri: @verify_url, state: @key})
|
|
15
|
+
# для второго шага
|
|
16
|
+
params.merge!(add_params) unless add_params.nil?
|
|
17
|
+
uri.query = URI.encode_www_form params
|
|
18
|
+
|
|
19
|
+
case step
|
|
20
|
+
when :step1
|
|
21
|
+
uri.to_s
|
|
22
|
+
when :step2
|
|
23
|
+
oauth_access_card_params Net::HTTP.get_response(uri)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def oauth_access_card_params result
|
|
29
|
+
begin
|
|
30
|
+
params = ActiveSupport::JSON.decode(result.body)
|
|
31
|
+
unless params['error'].present?
|
|
32
|
+
add_info = get_user_info({access_token: params['access_token']})
|
|
33
|
+
{
|
|
34
|
+
state: :ok,
|
|
35
|
+
oauth_name: @name,
|
|
36
|
+
oauth_uid: params['user_id'],
|
|
37
|
+
access_token: params['access_token'],
|
|
38
|
+
token_expired: (DateTime.now + params['expires_in'].second).to_s(:db),
|
|
39
|
+
photourl: add_info['photo_100']
|
|
40
|
+
}
|
|
41
|
+
else
|
|
42
|
+
{
|
|
43
|
+
state: :shit,
|
|
44
|
+
error: "#{params['error']}:#{params['error_description']}"
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
rescue Exception => error
|
|
48
|
+
{
|
|
49
|
+
state: :shit,
|
|
50
|
+
error: error.message
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def get_user_info access_params
|
|
56
|
+
uri = URI "#{CONFIG[:oauth][@name][:api][:uri]}#{CONFIG[:oauth][@name][:api][:users_get][:prefix]}"
|
|
57
|
+
params = CONFIG[:oauth][@name][:api][:united_params].merge!(CONFIG[:oauth][@name][:api][:users_get][:params])
|
|
58
|
+
params.merge!(access_params) unless access_params.nil?
|
|
59
|
+
uri.query = URI.encode_www_form params
|
|
60
|
+
result = Net::HTTP.get_response uri
|
|
61
|
+
|
|
62
|
+
ActiveSupport::JSON.decode(result.body)['response'][0]
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def error_response error_message
|
|
66
|
+
{
|
|
67
|
+
state: :shit,
|
|
68
|
+
error: error_message
|
|
69
|
+
}
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# у Цукерберга всё оригинально, нужен дополнительный запрос для получения user_id и token expired
|
|
2
|
+
|
|
3
|
+
class OauthFb < Oauth
|
|
4
|
+
|
|
5
|
+
def oauth_access_card_params result
|
|
6
|
+
begin
|
|
7
|
+
base_access_token = ActiveSupport::JSON.decode(result.body)
|
|
8
|
+
unless base_access_token['error'].present?
|
|
9
|
+
|
|
10
|
+
uri = URI CONFIG[:oauth][:fb][:auth][:debug_token][:uri]
|
|
11
|
+
params = ({input_token: base_access_token['access_token'], access_token: "#{CONFIG[:oauth][:fb][:auth][:united_params][:client_id]}|#{CONFIG[:oauth][:fb][:auth][:debug_token][:client_secret]}"})
|
|
12
|
+
uri.query = URI.encode_www_form params
|
|
13
|
+
|
|
14
|
+
result = Net::HTTP.get_response uri
|
|
15
|
+
access_token_details = ActiveSupport::JSON.decode(result.body)
|
|
16
|
+
|
|
17
|
+
unless access_token_details['error'].present?
|
|
18
|
+
user_picture = user_picture({access_token: base_access_token['access_token']})
|
|
19
|
+
{
|
|
20
|
+
state: :ok,
|
|
21
|
+
oauth_name: @name,
|
|
22
|
+
oauth_uid: access_token_details['data']['user_id'],
|
|
23
|
+
access_token: base_access_token['access_token'],
|
|
24
|
+
token_expired: Time.at(access_token_details['data']['expires_at']).to_datetime.to_s(:db),
|
|
25
|
+
photourl: user_picture['data']['url']
|
|
26
|
+
}
|
|
27
|
+
else
|
|
28
|
+
error_response access_token_details['error']['message']
|
|
29
|
+
end
|
|
30
|
+
else
|
|
31
|
+
error_response base_access_token['error']['message']
|
|
32
|
+
end
|
|
33
|
+
rescue Exception => error
|
|
34
|
+
error_response error.message
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def user_picture access_params
|
|
39
|
+
uri = URI "#{CONFIG[:oauth][@name][:api][:uri]}#{CONFIG[:oauth][@name][:api][:get_picture][:prefix]}"
|
|
40
|
+
params = {width: 200, height: 200, redirect: false}
|
|
41
|
+
params.merge!(access_params) unless access_params.nil?
|
|
42
|
+
uri.query = URI.encode_www_form params
|
|
43
|
+
result = Net::HTTP.get_response uri
|
|
44
|
+
|
|
45
|
+
ActiveSupport::JSON.decode(result.body)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|