ErickSkrauch
422d5c4fd4
Хранилище access_token вынесено в redis
...
Переписана логика связи моделей для oAuth процесса
2016-11-30 02:19:14 +03:00
ErickSkrauch
4f259a9dc7
Подменены все ключевые сущности на наши
2016-11-29 23:15:56 +03:00
ErickSkrauch
5f07834f45
Исправлено поведение при обновлении устаревшего токена
...
Обновлена логика в компонентах для работы с ключами redis
2016-11-29 01:57:58 +03:00
ErickSkrauch
1e94cda399
Из базы удалена таблица oauth_scopes
2016-11-27 19:19:13 +03:00
ErickSkrauch
744ec9520a
Используем в качестве компонента для соединения с редисом библиотеку Predis
2016-11-27 17:41:39 +03:00
ErickSkrauch
bec00df77b
redirectUri может быть null
2016-11-27 00:56:13 +03:00
ErickSkrauch
f5981f1cd1
Исправлен namespace для исключений
2016-11-27 00:55:43 +03:00
ErickSkrauch
20286f1744
Все классы, отвечающие за oAuth передвинуты в компоненты API, освежён код, поправлены неймспейсы
2016-11-27 00:43:42 +03:00
ErickSkrauch
49fb2efc0c
Не логируем http исключения
2016-11-20 20:37:08 +03:00
ErickSkrauch
7249323ec4
В dev режиме больше не бутстрапаем gii
2016-11-20 20:32:54 +03:00
ErickSkrauch
5c02b54010
Обновлена версия amqp controller, удалён gii, очередь событий аккаунтов переведена в устойчивый режим
2016-11-15 22:45:30 +03:00
ErickSkrauch
bfbcf141ee
Больше не возвращаем shouldChangePassword
2016-11-14 20:14:10 +03:00
ErickSkrauch
bc2f1d4ce9
Добавлено запоминание client_redirect_uri при oauth авторизации
2016-11-05 18:02:46 +03:00
ErickSkrauch
fe4e62af39
YII_DEBUG всегда получалось true
2016-11-05 02:53:53 +03:00
ErickSkrauch
a7822bf0f1
Уменьшаем уровень логирования для запросов к authserver и sessionserver
2016-11-05 02:53:25 +03:00
ErickSkrauch
d3a2a37f11
Добавлена проверка, что если приходить nil uuid, то бросается IllegalArgumentException для sessionserver
2016-11-04 19:33:57 +03:00
ErickSkrauch
c324ebe1c6
Формируем время в DateTime для генерации JWT токенов
2016-11-04 12:23:04 +03:00
ErickSkrauch
93f8d170dc
Более точное условие для автоматической смены пароля в форме входа
2016-11-02 00:04:10 +03:00
ErickSkrauch
b6b579b721
Метод save на модели Accounts теперь вызывается без аргумента false, т.к. из модели были удалены валидаторы
2016-11-02 00:02:58 +03:00
ErickSkrauch
3cce2c9bd1
Переименован класс валидатора пароля
2016-11-01 23:59:43 +03:00
ErickSkrauch
91df81f97d
Образован валидатор EmailValidator
2016-11-01 23:57:42 +03:00
ErickSkrauch
94a8e21f27
Образован валидатор UsernameValidator
2016-11-01 23:27:38 +03:00
ErickSkrauch
3b56f3c418
Фиксы после инспекции кода новым инспектором в PHPStorm
...
В некоторых формах отключена валидация при сохранении модели аккаунта
2016-11-01 19:36:39 +03:00
ErickSkrauch
9c8600b2ad
В процесс регистрации добавлена поддержка логики, когда можно перезанять ник или email, который ещё не окончил регистрацию.
...
Валидатор LanguageValidator убран из модели Account
2016-10-27 01:34:51 +03:00
ErickSkrauch
8049d3c774
Фикс для формы смены ника (поломалась логика, когда ник не менялся)
2016-10-27 01:22:39 +03:00
ErickSkrauch
5a88229c2d
Создаём событие о новом нике только при успешной регистрации
2016-10-27 00:07:08 +03:00
ErickSkrauch
c828b8e1e6
Фикс ошибки в форме смены ника, когда старый ник перезатирался на этапе валидации
2016-10-25 22:33:51 +03:00
ErickSkrauch
f3b953607d
Фикс для очереди пула ников
2016-10-25 22:20:44 +03:00
ErickSkrauch
cfd8ba95ef
Отключаем валидацию для форм, где не участвуют email и username
2016-10-25 11:46:31 +03:00
ErickSkrauch
20b0076672
Удаляем уникальный индекс для поля client_token в таблице minecraft_access_keys
2016-10-25 02:43:27 +03:00
ErickSkrauch
1764fb6009
Задание параметров для рекапчи в продакшен режиме через env переменные
2016-10-24 15:14:39 +03:00
ErickSkrauch
4b6bfa15ec
Фикс бага с повторным добавлением аккаунта в authserver
2016-10-15 17:35:03 +03:00
ErickSkrauch
bafac25baf
Добавлена поддержка авторизации с передачей параметров в теле запроса + тесты под этот кейс
2016-10-15 16:07:03 +03:00
ErickSkrauch
1ff6898c43
Простые шаблоны писем для процесса смены E-mail адреса
2016-10-08 16:24:10 +03:00
ErickSkrauch
1254369d3e
На GitHub подкинули идею, как сделать поддержку http и https одновременно
2016-10-07 17:48:57 +03:00
ErickSkrauch
ad058664db
Фикс получателя для формы обратной связи
2016-10-07 17:45:06 +03:00
ErickSkrauch
862c2d467e
Продублированы роуты для https запросов, пока не ответят в https://github.com/yiisoft/yii2/issues/12691
2016-10-07 02:02:51 +03:00
ErickSkrauch
f193964ea3
Фикс переменных, отвечающих за коды для писем
2016-10-04 01:45:50 +03:00
ErickSkrauch
dea5b05014
Эти ребята теперь в игноре
2016-10-03 11:34:59 +03:00
ErickSkrauch
c162a46e62
Интегрирован шаблон для письма "забыл пароль"
2016-10-03 01:59:24 +03:00
ErickSkrauch
b67a1879fe
Обновлена версия Email Renderer
...
Добавлен компонент для настройки Email Renderer
Добавлен роут в nginx для отображения картинок из Email Renderer
2016-10-02 12:52:17 +03:00
ErickSkrauch
df1859f0c1
Реализован функционал Mojang API
...
Исправлена ошибка доступа к authserver из-за перехода на использование хостов, а не доменов
2016-10-02 01:21:54 +03:00
ErickSkrauch
8120e43bec
Исправлен тест для AccountIdentity
2016-09-19 11:18:52 +03:00
ErickSkrauch
df6d319187
Восстановлен запуск тестов
...
Загрузчик конфигов выделен в отдельный класс
authserverHost выделена в params
Исправлены некоторые common.unit тесты, т.к. наследовались не от того базового класса
2016-09-19 01:01:19 +03:00
ErickSkrauch
54485b2271
Огромный рефакторинг в пользу отказа от механизма environment и использования .env файла
...
Найдено и удалено немного мусора
2016-09-16 01:28:28 +03:00
ErickSkrauch
9d935d84cd
Интеграция письма о регистрации
2016-09-13 14:50:22 +03:00
ErickSkrauch
dd2407e347
Сконфигурировано логирование приложения
2016-09-09 00:39:00 +03:00
ErickSkrauch
d2fd803b0d
Отключаем RateLimiter для запросов, что идут с хоста старого сервера авторизации, но включаем для остальных (фикс для beforeAction)
2016-09-09 00:38:25 +03:00
ErickSkrauch
c2eee9b67d
Добавлен запрос /session/profile
2016-09-08 13:07:43 +03:00
ErickSkrauch
8eb6a595c0
Обновлены роуты в соответствие с тем, как они в итоге будут прописаны в документации
...
В nginx добавлена конфигурация, отвечающая за проксирование сессионных запросов со старого домена
Версия nginx обновлена с 1.9 до 1.11
В тестах сессионного сервера больше не используется генерация url
2016-09-07 17:56:30 +03:00
ErickSkrauch
6e15522140
Добавлен рейт-лимитер для запросов к hasJoined для незарегистрированных серверов
2016-09-06 20:10:42 +03:00
ErickSkrauch
68ce8b3fb6
Добавлена логика HasJoined для сервера авторизации Minecraft
...
Исправлена ошибка в JoinForm
Добавлено базовое API для общения с сервером системы скинов
2016-09-06 12:56:39 +03:00
ErickSkrauch
e8b5e90a91
Немного рефакторинга Join формы для учёта Legacy API
...
Добавлена поддержка чтения данных из POST запроса, если они переданы как RAW json
Исправлен StringHelper::isUuid()
2016-09-05 17:55:38 +03:00
ErickSkrauch
34d725abe2
Перенесена логика join операции для современных серверов.
...
Нужно признать, что перенесена она так себе, но в будущем я обязательно это перепишу.
2016-09-03 01:54:22 +03:00
ErickSkrauch
9371fc32ca
Перенесены тесты со старого authserver, исправлены ошибки в коде
2016-09-01 10:31:43 +03:00
ErickSkrauch
147c84f487
Убрано лишнее звено в вызове имени исключения
2016-08-31 13:35:43 +03:00
ErickSkrauch
1023eed03b
Методы в Authserver AuthenticationController прикрыты verb фильтром
2016-08-31 13:32:51 +03:00
ErickSkrauch
66e266692c
Добавлен кастомный ErrorHandler для форматирования ошибок authserver'а в соответствии с ожиданиями лаунчера
2016-08-31 13:32:14 +03:00
ErickSkrauch
9c658f5bd9
Тесты для AuthorizationForm и кастомного RequiredValidator
...
В модуль Authserver добавлены хелперы для логирования
Исправлена ошибка в MinecraftAccessKey
Ускорено тестирование всего приложения
2016-08-29 02:17:45 +03:00
ErickSkrauch
72a7f743be
Мигрирована логика блокировки аккаунтов
2016-08-22 00:09:14 +03:00
ErickSkrauch
b57b015f66
Первичное портирование логики сервера авторизации с PhalconPHP на Yii2
2016-08-21 02:23:48 +03:00
ErickSkrauch
0b67267426
Я тут писал фильтр для доступа к каким-то внутренним API запросам, но потом понял, что пока таких кейсов не будет, но логика пусть сохранится :)
2016-08-21 01:23:46 +03:00
ErickSkrauch
59f51451d0
Добавлено запоминание регистрационного IP адреса
2016-08-18 02:56:05 +03:00
ErickSkrauch
433f560f48
Мелкие улучшения для контроллера OauthController
2016-08-18 02:56:05 +03:00
ErickSkrauch
426fa7dc6e
Образован фильтр ActiveUserRule для проверки активности пользовательского аккаунта
2016-08-07 03:08:48 +03:00
ErickSkrauch
16fc1ecb8c
Добавлен action для принятия правил + тесты для него
2016-08-06 19:22:09 +03:00
ErickSkrauch
cf6c7bc88e
Добавлено поле версии принятых правил
2016-08-06 18:52:03 +03:00
ErickSkrauch
a48c1432c6
Реализован функционал получения информации об аккауте после выполнения oAuth авторизации
2016-08-06 16:36:24 +03:00
ErickSkrauch
26b37c2f6b
Попытка реализовать отдельный компонент для oAuth авторизации в свой же API. Не тестировал, не проверял работу, просто пушнул, чтобы потом продолжить в дргуом месте.
2016-08-04 01:07:21 +03:00
ErickSkrauch
6efbbb7098
Ререализован метод для получения инфы о конфигурации API
2016-08-03 21:47:36 +03:00
ErickSkrauch
5e40ccbe49
Добавлен API вызов для получения активного Recaptcha public key
2016-08-03 15:58:12 +03:00
ErickSkrauch
c2986445f1
В форму регистрации и форму повторной отправки Email внедрён валидатор ReCaptcha
2016-08-03 15:57:41 +03:00
ErickSkrauch
bef12954bd
Усовершенствован валидатор ReCaptcha и покрыт тестами
2016-08-03 15:56:08 +03:00
SleepWalker
327e900f2b
#148 : remove depreacted error.password_required
2016-07-28 07:44:16 +03:00
ErickSkrauch
d514ba620d
Заменил библиотеку для JWT токенов на свой форк с разнообразными исключениями, подрихтовал тесты для класса AccountIdentity
2016-07-27 16:25:40 +03:00
ErickSkrauch
c25bfeb8bc
Обновлены роуты для oAuth2 запросов по последней спеке
2016-07-27 01:11:13 +03:00
ErickSkrauch
31679b84cb
Упразднён контроллер PasswordProtectedController и заменён на валидатор PasswordRequiredValidator
...
Реорганизованы тесты для ChangeUsernameFormTest
2016-07-25 14:07:14 +03:00
ErickSkrauch
681996740d
При попытке запроса смены E-mail теперь происходит проверка, как давно был выполнен предыдущий запрос
2016-07-17 20:46:04 +03:00
ErickSkrauch
e756dbacd6
Токен, выписанный на сессию без запоминания должен истекать дольше времени
2016-07-17 19:54:33 +03:00
ErickSkrauch
ae3c3b88de
Добавлен обработчик для удаления сессии при логауте
2016-07-17 19:38:04 +03:00
ErickSkrauch
2063d7daa0
Добавлен файл для автокомплита в проекте, обновлены обращения к di для лучшего статического анализа
2016-07-17 19:13:40 +03:00
ErickSkrauch
dd0c4fcc9e
Добавлено событие о изменении email адреса пользователя, вызовы методов для генерации уведомлений внесены внутрь транзакции бд
2016-07-17 18:42:37 +03:00
ErickSkrauch
6d3db89140
Изменена логика для работы с очередью задач, чтобы её можно было использовать в дальнейшем в кластере серверов
2016-07-17 18:27:44 +03:00
ErickSkrauch
8906370bb9
Образован хелпер Error, в который вынесены все коды ошибок.
...
Подкорректирован errorDict на фронте
2016-06-16 23:32:23 +03:00
ErickSkrauch
4614cf8fe7
Убраны разрознености в ошибках, скорреткированы тесты
2016-06-16 22:36:52 +03:00
ErickSkrauch
912606e27f
Реализована форма обратной связи
2016-06-15 23:54:13 +03:00
ErickSkrauch
113b9f98d8
Отрефакторен компонент User\Component
...
Добавлен метод getActiveSession
Добавлена логика для функции "Разлогинить всех" в форме смены пароля
2016-06-05 17:01:35 +03:00
SleepWalker
e18f6a08b0
Merge branch 'master' into account_sessions
2016-06-04 15:59:01 +03:00
ErickSkrauch
67fa28aaa1
Удалён никому ненужный SiteController
2016-05-31 21:25:04 +03:00
ErickSkrauch
1945a7baec
Добавлен роут и логика для обновления access_token по refresh_token'у
2016-05-31 01:03:30 +03:00
ErickSkrauch
cb038c897b
Добавлены тесты для ответа сервера о истёкшем токене
...
Добавлены doc-блоки для поведений в базовом контроллере
2016-05-30 21:11:22 +03:00
ErickSkrauch
bdc96d82c1
Реорганизована выдача JWT токенов
...
Добавлен механизм сохранения сессий и refresh_token
2016-05-30 02:44:17 +03:00
ErickSkrauch
b5ed01853e
Убран валидатор на тип алгоритма хэширования пароля для формы инициализации смены E-mail адреса
2016-05-23 22:55:36 +03:00
ErickSkrauch
fe2c422621
Реализовано автоматическое обновление алгоритма хэширования пароля во время авторизации пользователя
2016-05-23 22:42:50 +03:00
SleepWalker
1b4249ecd7
#100 : password protection for email change form
2016-05-22 22:04:52 +03:00
ErickSkrauch
c34f0947ad
Форма инициализации смены E-mail адреса теперь требует ввода пароля
2016-05-22 21:36:02 +03:00
ErickSkrauch
ad42411a89
Реализован обработчик для смены языка аккаунта
2016-05-19 01:10:05 +03:00
ErickSkrauch
f99b281f30
Добавлены экшены в контроллер и 1 тест (больше не успел)
2016-05-16 11:21:12 +03:00
ErickSkrauch
50439fdaeb
Реализованы формы для шагов смены E-mail адреса, покрыты unit-тестами
...
У EmailActivation добавлено поле $_data и дописано поведение для работы с ним
Упрощено подключение фикстур для EmailActivations
2016-05-16 01:33:19 +03:00
ErickSkrauch
e2e31c3720
Логика проверки ключа из KeyConfirmationForm вынесена в отдельный валидатор
...
У EmailActivationFixture зафиксирован стандартный путь к файлу данных
2016-05-15 14:13:51 +03:00
ErickSkrauch
0ba1be27e8
Наведён порядок в моделях проекта
2016-05-14 02:47:17 +03:00
ErickSkrauch
ecd92b8fda
Добавлена поддержка запоминания языка для аккаунта
...
Обновлена минимальная версия Yii2
Удалено немного хлама от Yii2 Advanced
Исправлены некоторые тесты
2016-05-13 12:03:00 +03:00
ErickSkrauch
184ff02240
Изменёна кодировка столбца username в usernames_history для организации бинарного поиска
...
Из Account вынесена логика аутентификации в дочерний AccountIdentity
Исправлена логика валидации при вызове на неизменённом нике для формы смены ника
2016-05-12 11:50:30 +03:00
ErickSkrauch
2a4da87fd5
Реализована форма восстановления пароля от аккаунта
...
Логика проверки пароля вынесена в отдельный валидатор
В composer.json докинута зависимость от php7
2016-05-12 01:13:33 +03:00
ErickSkrauch
ebf4947c37
Обновлена версия Codeception (там поправили баг с анонимными классами)
...
Переписаны тесты для базовой формы с кодовым доступом
В базовую форму кодового доступа добавлена проверка на истечение кода
2016-05-12 01:13:33 +03:00
ErickSkrauch
15922ba02e
Немного приемственности в именовании сущностей
2016-05-10 23:28:04 +03:00
ErickSkrauch
c6547b6540
Добавлен action для формы восстановления пароля
2016-05-10 23:25:04 +03:00
ErickSkrauch
a29cb76cbf
Образован trait AccountFinder для поиска пользователя по его нику\мылу
...
Модель EmailActivation теперь умеет автоматически создавать своих правильных потомков по соответствующему типу
Добавлена форма восстановления пароля и её обработчик (без контроллера)
2016-05-10 22:40:06 +03:00
SleepWalker
75a0811488
Do not request password till newPassword and newRePassword are valid
2016-05-02 13:11:10 +03:00
ErickSkrauch
45b1f43d09
Добавлено поле для разлогивания всех авторизованных устройств при смене пароля (пока без имплементации)
2016-04-25 00:30:10 +03:00
ErickSkrauch
cba769a1ec
В проект внедрён RabbitMQ.
...
Контроллер для работы с RabbitMQ научился создавать типизированные аргументы для $body
Добавлена таблица с историей ников
Добавлена таблица Mojang ников
Добавлена проверка активированности аккаунта в AccountsController
2016-04-23 21:44:10 +03:00
SleepWalker
067fc1d3d6
Добавил эксепшен в случае утсутствия мыла.
...
З.Ы. Туда бы di в тот класс... :)
2016-04-15 07:06:21 +03:00
ErickSkrauch
a69cd2da2c
Исправлен баг с валидатором ника в форме смены никнейма
2016-04-15 02:01:01 +03:00
SleepWalker
d8a2cc21b8
Merge branch 'profile'
2016-03-21 20:28:18 +02:00
ErickSkrauch
b277f48785
Отрефакторены тесты для форм
2016-03-20 23:33:09 +03:00
ErickSkrauch
951b6928a2
Базовые модели перенесены в отдельное простраинство имён
...
Поправлены именования классов (хз, почему оно прежде работало)
2016-03-20 02:33:49 +03:00
ErickSkrauch
e67257b8aa
Реализована форма смены ника пользователя
...
Добавлена базовая форма с запросом пароля
Валидация ника и email адреса вынесены из формы регистрации в модель аккаунта
Отрефакторен тест формы регистрации
Добавлены тесты для модели аккаунта
2016-03-20 02:25:26 +03:00
SleepWalker
e60a4783c1
Merge branch 'master' into profile
2016-03-16 08:04:06 +02:00
ErickSkrauch
6b04860f0e
Добавлена передача email при входе в неактивированный аккаунт
2016-03-13 21:46:22 +03:00
ErickSkrauch
7343a3b506
Подрефакторена форма отправки нового письма с активацией аккаунта, дописаны юнит и функциональные тесты
2016-03-13 21:24:49 +03:00
ErickSkrauch
b9ee667829
Первичная реализация формы отправки нового письма с активацией аккаунта, чуть-чуть рефакторинга тестов
2016-03-13 02:19:00 +03:00
ErickSkrauch
81d4399bdd
Добавлен проброс дополнительных данных на фронт в методе account/current
2016-03-12 01:02:52 +03:00
ErickSkrauch
d9a218e075
Добавлено запоминание последнего изменения пароля, удалено поле auth_key, поправлена загрузка фикстур для функциональных тестов
2016-03-12 00:55:46 +03:00
ErickSkrauch
7e2247ccb5
Добавлена инфомарция по получателю для формы регистрации
2016-03-01 01:02:06 +03:00
ErickSkrauch
478acde42a
Конфиг отправителя для почты вынесен в отдельный параметр
2016-02-29 23:47:56 +03:00
SleepWalker
0e9be3dfb8
Рендеринг списка скоупов на oauth/permissions
2016-02-29 20:16:33 +02:00
ErickSkrauch
298f57841f
Исправлено поведение формы регистрации
2016-02-28 15:08:00 +03:00
ErickSkrauch
2580119180
Добавлена ошибка для неактивированных аккаунтов при попытке логина
2016-02-28 00:50:49 +03:00
ErickSkrauch
5c056710bc
Добавлена страница с отправкой письма для восстановления пароля от аккаунта
2016-02-28 00:26:13 +03:00
SleepWalker
af2580795a
Исправил ошибку с undefined вместо значений полей запросов через service/request
2016-02-27 21:26:08 +02:00
ErickSkrauch
d1cdb847e0
Добавил генерацию jwt токена для формы подтверждения регистрации
2016-02-27 01:37:55 +03:00
ErickSkrauch
93a94c656b
Добавлена форма смены пароля и её тесты
2016-02-27 01:22:09 +03:00
SleepWalker
86c63f8724
Суппорт jwt на фронте
2016-02-26 08:28:26 +02:00
ErickSkrauch
179d610eef
Контроллер Users переименован в Accounts
2016-02-26 01:45:21 +03:00
ErickSkrauch
d9987a3185
Добавлен экшен для получения инфы о текущем аутентифицированном пользователе
2016-02-24 01:34:01 +03:00
ErickSkrauch
1fff80c7e8
Поправлена ссылка на форму регистрации
2016-02-24 01:20:10 +03:00
ErickSkrauch
8583edbb92
Все контроллеры переведены на использование jwt токенов
2016-02-24 01:15:04 +03:00
ErickSkrauch
601f0a290b
Изменён алгоритм авторизации на использование jwt токенов
2016-02-23 01:22:04 +03:00
ErickSkrauch
1c6ba30abf
Протестирована логика подписи access_token и refresh_token, добавлены базовые скоупы, подчищен проект
2016-02-23 00:49:46 +03:00
ErickSkrauch
f5f93ddef1
Реализована логика oAuth авторизации приложений, добавлен Redis, удалены лишние тесты, пофикшены старые.
2016-02-14 20:50:10 +03:00
SleepWalker
59addfac07
В первом приближении заинтегрировался с беком
2016-02-13 17:28:47 +02:00
ErickSkrauch
7e90f1838e
Код модели подтверждения через email теперь является первичным ключом тамблицы
...
Реализована форма подтверждения email, обмазана тестами
Слегка отрефакторена форма регистрации и авторизации в пользу выноса части логики в общего родителя
Проект зачищен от стандартных тестовых параметров
Пофикшены методы доступа к API
2016-01-21 00:14:29 +03:00
ErickSkrauch
44aaea2c08
Отрефакторены тесты
...
Удалено тестовое окружение acceptance
Удалена часть потенциально ненужных тестов
Добавлена логика для формы регистрации
Добавлена таблица для хранения ключей активации по E-mail
Добавлены тесты для формы регистрации
Реорганизован роутинг
Добавлен компонент для ReCaptcha2
2016-01-15 12:21:27 +03:00
ErickSkrauch
45c31dfbbe
Добавлено поле username в модель Account, скорретирована форма входа и её тесты
2016-01-04 18:31:14 +03:00
ErickSkrauch
c6a6f35be6
Переработана структура тестов для формы аутентификации
2016-01-03 20:37:55 +03:00
ErickSkrauch
7b650e2654
Описана базовая миграция, добавлена модель аккаунта, добавлена модель авторизации, написаны первичные тесты для этой модели, добавлен модуль авторизации, настроен базовый контроллер. Короче много чего сделано
2016-01-03 03:18:37 +03:00
ErickSkrauch
841303b8ab
Инициализировано Yii2 приложение, выпилены лишние части, накинуты чуточку нужных
2016-01-02 16:43:18 +03:00