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 желательно последней версии, рассмотрю ваши предложения, можно в личку.