Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Добрый день, меня попросили расписать как я установил ulogin на сайт. Попробую расписать тут.
1 - заходим на сайт Для просмотра ссылки Войдиили Зарегистрируйся и регистрируем свой сайт
2 - подтверждаем
3 - Во вкладке "Виджеты" нажимаем "Редактировать", далее формируем вид кнопочек.
4 - Тут же в табе "Тип авторизации" выбираем "C редиректом" и в поле "Ссылка для редиректа" прописываем "Для просмотра ссылки Войдиили Зарегистрируйся" (или http).
5 - Тут же в табе "Возвращаемые поля профиля пользователя" оставляем выделенным только:
Имя; Фамилия; Email; Большая аватарка; Аватарка; Телефон.
Но тут можно поэкспериментировать.
6 - Тут же наверху это страницы сформируется код "Исходный код виджета" - он нам нужен для вставки на сайт.
7 - Далее меняем файл user-login.php, нам нужно изменить некоторые данные в форме, а именно input-ы ввода логина и пароля, так же подключить js от ulogin и вставить наш код, который мы сформировали пунктом выше. У меня это выглядит так:
Это мои изменения в форме, основные. Сохраняем и идем в файл header.phpPHP:<form class="form-1" name="login_post_form" action="/" method="post" > <input type="hidden" name="page" value="login" /> <input type="hidden" name="action" value="login_post" /> <fieldset> <p class="field"> <input id="email" name="email" type="text" value="<?php isset($_POST ["post_em"]); ?>" placeholder="<?php _e('E-mail', 'one'); ?>"><i class="icon-user icon-large"></i> </p> <p class="field"> <input id="password" name="password" type="password" value="<?php isset($_POST ["post_pass"]); ?>" placeholder="<?php _e('Password', 'one'); ?>" class="showpassword"><?php if (isset($_POST ["post_em"])) echo '<script type="text/javascript">document.login_post_form.submit();</script>';?><i class="icon-lock icon-large"></i> </p> <p class="submit"> <button type="submit" name="submit"><?php _e("Log in", 'one');?></button> </p> <div> <p class="checkbox"><?php UserForm::rememberme_login_checkbox();?> <label for="remember"><?php _e('Remember me', 'one'); ?></label></p> <p class="infor"><span class="info"><i class="fa fa-question-circle" aria-hidden="true"></i></span><a rel="nofollow" href="<?php echo osc_recover_user_password_url(); ?>"><?php _e('Forgot password?', 'one');?></a></p></div> </fieldset> <div> <span style="margin: 10px 7px;display: inline-block;"><?php _e('Login via social networks:', 'one');?></span> <div> <!--Подключаем js--> <script src="//ulogin.ru/js/ulogin.js"></script> <!--Код с сайта ulogin--> <div id="Ваш ID виджета" data-ulogin="display=panel;fields=first_name,last_name,email,photo_big;optional=phone;providers=vkontakte,mailru,facebook,odnoklassniki,twitter,yandex,instagram;redirect_uri=https%3A%2F%2Fваш_сайт.ру%2Foc-content%2Fthemes%2Fваша_тема%2Fsn_login.php"> </div> </div> </div> </form>
8 - в header.php прописываем еще одну форму:
9 - Далее идем в корень своей темы и создаем файл sn_login.php в нем формируем код:PHP:<?php if( !osc_is_web_user_logged_in() ) { ?> <form style="display:none;" id="login" name="login_post_form" action="<?php echo osc_base_url(true); ?>" method="post"> <fieldset> <input type="hidden" name="page" value="login" /> <input type="hidden" name="action" value="login_post" /> <label for="email"><?php _e('E-mail', 'modern'); ?></label><br/> <input id="email" type="text" name="email" value="<?php echo $_POST ["post_em"]; ?>" /><br/> <label for="password"><?php _e('Password', 'modern'); ?></label><br/> <input id="password" type="password" name="password" value="<?php echo $_POST ["post_pass"]; ?>" /> <?php if ($_POST ["post_em"]) echo '<script type="text/javascript">document.login_post_form.submit();</script>';?> </fieldset> </form> <?php } ?>
10 - В вашей базе данных должны быть в таблице префикс_t_user, поля:PHP:<? //Так подключиться не получается, что то я делаю не так. /*require_once osc_base_url().'/'.'config.php'; $dbuname = DB_USER; $dbpass = DB_PASSWORD; $dbhost = DB_HOST; $dbname = DB_NAME; */ //поэтому я подключил вручную. $dbuname = 'Имя базы'; $dbpass = 'пароль'; $dbhost = 'localhost'; $dbname = 'Имя юзера'; function osc_genRandomPassword($length = 8) { $dict = array_merge(range('a', 'z'), range('0', '9'), range('A', 'Z')); shuffle($dict); $pass = ''; for($i = 0; $i < $length; $i++) $pass .= $dict[rand(0, count($dict) - 1)]; return $pass; } $token = $_POST ["token"]; if (!$token) exit; $HTTP_HOST = $_SERVER['HTTP_HOST']; $s = file_get_contents("https://ulogin.ru/token.php?token=$token&host=$HTTP_HOST"); $user = json_decode($s, true); $network = $user ["network"]; $identity = $user ["identity"]; $first_name = $user ["first_name"]; $get_email = $user ["email"]; $uid = $user ["uid"]; $identity = preg_replace("#[/W]#is", "", $identity); if (!$identity) die("identity NOT FOUND"); $uid = preg_replace("#[/D]#is", "", $uid); if (!$uid) die("uid NOT FOUND"); $dt_reg_date = date('Y-m-d H:i:s'); $s_name = $first_name ; $s_secret = osc_genRandomPassword(); $s_password = osc_genRandomPassword(); $s_password_sha = sha1($s_password); if ($get_email) $s_email = $get_email; else $s_email = "{$identity}_{$uid}@$HTTP_HOST"; $b_enabled = 1; $b_active = 1; $s_access_ip = "127.0.0.1"; $sn_str = "{$identity}_{$uid}"; $connect = mysqli_connect($dbhost, $dbuname, $dbpass, $dbname) or die ("Error"); mysqli_select_db($dbname); mysqli_query("SET NAMES 'UTF8'"); //Проверка на сущестовани мыла $q_data = mysqli_query ($connect, "SELECT `pk_i_id`, `s_email`, `sn_pass` FROM `oc_t_user` WHERE `s_email`='$s_email'"); $data_a = mysqli_fetch_array($q_data); $pk_i_id = $data_a ["pk_i_id"]; $post_email = $data_a ["s_email"]; $post_pass = $data_a ["sn_pass"]; //Мыла нет. проверка есть ли уже рега if (!$pk_i_id) { $q_data = mysqli_query ($connect, "SELECT `pk_i_id`, `s_email`, `sn_pass` FROM `oc_t_user` WHERE `sn_str`='$sn_str'"); $data_a = mysqli_fetch_array($q_data); $pk_i_id = $data_a ["pk_i_id"]; $post_email = $data_a ["s_email"]; $post_pass = $data_a ["sn_pass"]; if (!$pk_i_id) { mysqli_query($connect,"INSERT INTO `oc_t_user` (`dt_reg_date`, `s_name`, `s_password`, `s_secret`, `s_email`, `b_enabled`, `b_active`, `dt_access_date`, `s_access_ip`, `sn_str`, `sn_pass`) VALUES ('$dt_reg_date', '$s_name', '$s_password_sha', '$s_secret', '$s_email', '$b_enabled', '$b_active', '$dt_reg_date', '$s_access_ip', '$sn_str', '$s_password')"); $mysql_id = mysqli_insert_id(); mysqli_query($connect,"UPDATE `oc_t_user` SET `s_username`='$mysql_id' WHERE `pk_i_id`='$mysql_id'"); $post_email = $s_email; $post_pass = $s_password; } } echo "<form name=\"subm_form\" action=\"/\" method=\"POST\"> <input type=\"hidden\" name=\"post_em\" value=\"$post_email\" /> <input type=\"hidden\" name=\"post_pass\" value=\"$post_pass\" /> <input type=\"submit\" /> </form> <script type=\"text/javascript\">document.subm_form.submit();</script>"; ?>
sn_str
sn_pass
Если их нет то создаем (VARCHAR(255)). Наверное все, процедуру изначально делал не я, на другом форуме есть тема где все это прописано, кому интересно найдете в поиске яши есть, я чуть-чуть доработал под себя. Наверное можно сделать плагин, у них на сайте решение для разных платформ, есть для любого сайт. Я не пробовал, но все в ваших руках: Для просмотра ссылки Войдиили Зарегистрируйся
Это что пиар? Этот плагин здесь есть...Для просмотра ссылки Войдиили Зарегистрируйся — это плагин для авторизации на сайте Osclass с помощью социальных сетей.
Функциональность:
Доступные социальные сети и сервисы:
- Вход или регистрация на Osclass с помощью соц.сетей
- Админ может вкл. или выкл. поддержку любой из доступных соцсетей в плагине
- Можно выбрать порядок отображения кнопок , путём простого перетаскивания в настройках плагина
- Кнопки адаптивные, отлично смотрятся на компьютерах, планшетах и смартфонах
- Подробная инструкция в настройках плагина по подключению каждой соцсети
Купить плагин можно на сайте: Для просмотра ссылки Войди
- Вконтакте
- Одноклассники
- Яндекс
- Mail.ru
- Google+
- Yahoo
- Windows Live
- Linkedln
или Зарегистрируйся
Я поставил поделиться от яндекса. Сайт подгружается на 0,3 сек позже. Там огромный выбор и ватцап и многое другое.
Тоже, но на плагин всплывающего окнаЯ поставил поделиться от яндекса. Сайт подгружается на 0,3 сек позже. Там огромный выбор и ватцап и многое другое.
Конечно лень , та версия у меня криво ставится.Так давно залито. Неужели лень поиском воспользоваться.
Для просмотра ссылки Войдиили Зарегистрируйся
Для просмотра ссылки ВойдиДобрый вечер, очень нужен плагин Radius Search Plugin by Osclass Team от команды osclass желательно последней версии, рассмотрю ваши предложения, можно в личку.