public function disconnectAction($socialCode = '') { if (!$socialCode) { Tools::redirect('/', 'Не указана соц сеть'); } $social = Users\Social::get($socialCode, 'code'); if (!$social) { Tools::redirect('/', 'Такой соц. сети не найдено'); } foreach (\Users\User::$cur->socials as $userSocial) { if ($userSocial->social_id == $social->id) { $userSocial->delete(); Tools::redirect('/', 'Связь с соц. сетью ' . $social->name . ' была удалена'); } } Tools::redirect('/', 'Связь с соц. сетью ' . $social->name . ' не найдена'); }
$roles = [['name' => 'Гость'], ['name' => 'Пользователь'], ['name' => 'Администратор']]; foreach ($groups as $key => $group) { $groupObject = new \Users\Group($group); $groupObject->save(); $roleObject = new Users\Role($roles[$key]); $roleObject->group_id = $groupObject->id; $roleObject->save(); } if (!empty($params['user'])) { $user = new Users\User(array('user_login' => $params['user']['user_login'], 'user_mail' => $params['user']['user_mail'], 'user_pass' => password_hash($params['user']['user_pass'], PASSWORD_DEFAULT), 'user_group_id' => $groupObject->id, 'user_role_id' => $roleObject->id)); $user->save(); $userInfo = new Users\User\Info(['user_id' => $user->id, 'first_name' => 'Администратор']); $userInfo->save(); } else { $user = new Users\User(array('user_login' => 'admin', 'user_mail' => 'admin@' . idn_to_utf8(INJI_DOMAIN_NAME), 'user_pass' => password_hash('admin', PASSWORD_DEFAULT), 'user_group_id' => $groupObject->id, 'user_role_id' => $roleObject->id)); $user->save(); $userInfo = new Users\User\Info(['user_id' => $user->id, 'first_name' => 'Администратор']); $userInfo->save(); } $socials = [['name' => 'Вконтакте', 'code' => 'vk', 'object_name' => 'Vk'], ['name' => 'Google+', 'code' => 'google', 'object_name' => 'Google'], ['name' => 'Facebook', 'code' => 'facebook', 'object_name' => 'Facebook']]; $socialsConfig = [[['name' => 'appId'], ['name' => 'secret']], [['name' => 'client_id'], ['name' => 'secret']], [['name' => 'appId'], ['name' => 'secret']]]; foreach ($socials as $key => $social) { $socialObject = new Users\Social($social); $socialObject->save(); foreach ($socialsConfig[$key] as $config) { $configObject = new \Users\Social\Config($config); $configObject->social_id = $socialObject->id; $configObject->save(); } } };
<?php $socials = Users\Social::getList(['where' => ['active', 1]]); foreach ($socials as $social) { $connect = false; foreach (Users\User::$cur->socials as $userSocial) { if ($userSocial->social_id == $social->id) { $connect = true; break; } } if ($connect) { echo "<a href = '/users/social/disconnect/{$social->code}'>Отключить {$social->name}</a><br />"; } else { echo "<a href = '/users/social/auth/{$social->code}'>Подключить {$social->name}</a><br />"; } }
<?php if (!Users\Social::getList(['where' => ['active', 1]])) { return false; } return ['name' => 'Социальные сети', 'fullWidget' => 'Users\\cabinet/socials'];
<div class="users"> <div class="content"> <div class='row'> <div class = 'box col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1'> <h3>Регистрация</h3> <?php $socials = Users\Social::getList(['where' => ['active', 1]]); if ($socials) { ?> <div class="form-group"> <label>Регистрация через соц.сети</label><br /> <?php foreach (Users\Social::getList(['where' => ['active', 1]]) as $social) { echo "<a href = '/users/social/auth/{$social->code}'>{$social->name()}</a> "; } ?> </div> <?php } ?> <?php $form = new Ui\Form(); ?> <form action = '' method = 'POST' enctype="multipart/form-data" > <div class ='row'> <div class="col-sm-6"> <?php $form->input('email', 'user_mail', 'Электронная почта', ['required' => true]); ?> <?php $form->input('text', 'user_name', 'Ваше имя (не фио)');