Единая регистрация и авторизация на нескольких сайтах » DataLife Engine (DLE) — система управления сайтом и контентом. Официальный сайт.

«космическая» форма входа мини профиль для dle

Всем привет! Появилась свободная минутка, поэтому решил с пользой ее провести и сделать что-нибудь нужное для сайта 🙂

Итак, перед вами альтернатива стандартной форме входа DLE легкий мини профиль. Открытие окон сопровождается анимацией (то, что вы получите в итоге, можете посмотреть в конце статьи). Дизайн довольно приятный, поэтому данная связка подойдет для многих сайтов. Модуль тестировался на DLE версии 10.0 — 11.1

«Космическая» форма входа мини профиль для DLE

Внимание! Для того чтобы вход через социальные сети функционировал без проблем, необходимо установить соответствующие настройки в разделе «Пользователи» — настройка социальных сетей в панели управления сайтом.

1. Перед началом, из архива закачайте в свою тему папку img.

2. В вашей теме, откройте файл login.tpl, очистите все данные из него, после чего скопируйте и вставьте следующий код:

[not-group=5]	<div class="login_mal profiles">	<div class="top_border_proff"></div>	<div class="you_name">{login}</div>	<div class="you_group">Группа: {group}</div>	<div class="ava_position"><img src="{foto}" alt="{login}" class="ava"><div class="online"></div></div>	<div class="border_miniprof"></div>	<div class="menu_prof">	<div><a href="{profile-link}">Персональная страница</a></div>	<div><a href="{pm-link}">Личные сообщения&nbsp;&nbsp; {new-pm}</a></div>	<div><a href="{favorites-link}">Мои закладки</a></div>	</div>	<div class="border_miniprof"></div>	<a href="{logout-link}" class="logout">выход</a>	<div class="top_border"></div>	</div>	<div class="overlay"></div>
[/not-group]
[group=5]	<div class="login_mal">	<form method="post" action="">	<div class="top_border"></div>	<div class="rocket"></div>	<input type="text" class="login" name="login_name" id="login_name">	<input type="password" class="password" name="login_password" id="login_password">	<ul class="login_button">	[vk]<li class="vk"><a href="{vk_url}"></a></li>[/vk]	[facebook]<li class="fb"><a href="{facebook_url}"></a></li>[/facebook]	<li class="log_in"><input type="submit" value="Войти"></li>	</ul>	<div class="clears"></div>	<div class="footer_login">	<div class="bottom_border"></div>	<ul>	<li class="for_pass"><a href="{lostpassword-link}">Забыли пароль?</a></li>	<li class="register">Нет аккаунта? <a href="{registration-link}">Регистрация</a></li>	</ul>	</div>	<input name="login" type="hidden" id="login" value="submit" />	</form>	</div>	<div class="overlay"></div>
[/group]
<a href="javascript://" id="open_modal">[group=5]Авторизоваться[/group][not-group=5]Открыть профиль[/not-group]</a>
<script>	$("#open_modal").click(function() {	$(".login_mal").addClass("md-content");	$(".overlay").css({"display": "block"});	});	$(".overlay").click(function() {	$(".login_mal").removeClass("md-content");	$(this).css({"display": "none"});	});
</script>

Сохраняете и закачиваете на сайт.

3. Теперь поработаем с файлом стилей. Копируем и вставляем эти значения в самый конец файла, и сохраняем. Важно! В зависимости от того, где находится ваш файл стилей, нужно изменить адреса для картинок.

/** © 2022 Artem Malcov | https://www.pandoge.com/moduli-i-skripty/kosmicheskaya-forma-vhoda-mini-profil-dlya-dle **/
.login_mal {	font-family: arial;	width: 340px;	height: 560px;	margin: auto;	background: #fafaff;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	position: fixed;	top: 0;	right: 0;	bottom: 0;	left: 0;	-webkit-transform: translateY(20%);	-moz-transform: translateY(20%);	-ms-transform: translateY(20%);	transform: translateY(20%);	opacity: 0;	-webkit-transition: all 0.3s;	-moz-transition: all 0.3s;	transition: all 0.3s;	z-index: 1200;	visibility: hidden;
}
.login_mal a {	text-decoration: none
}
.login_mal a:hover {	text-decoration: underline;
}
.profiles {	height: 445px;
}
.top_border {	background: #ff6900;	height: 5px;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;
}
.top_border_proff {	background: #fcfcff;	height: 5px;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;
}
.bottom_border {	background: #a0bec6;	height: 5px;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;
}
.rocket {	background: url("../img/rocket.png") no-repeat center center;	width: 136px;	height: 110px;	margin: 66px 0 0 113px;
}
.login {	width: 190px;	height: 50px;	border: 0;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	background: #b2d4dc url("../img/login.png") no-repeat;	background-position:13px 12px;	margin: 65px auto 0 auto;	display: block;	padding: 0 17px 0 53px;	font-size: 15px;	color: #fff;	font-weight: bold;	font-family: arial;
}
.password {	width: 190px;	height: 50px;	border: 0;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	background: #3e6372 url("../img/password.png") no-repeat;	background-position:10px 12px;	margin: 20px auto 0 auto;	display: block;	padding: 0 17px 0 53px;	font-size:15px;	color: #a7b3bc;	font-weight: bold;	font-family: arial;
}
.login_button {	list-style-type: none;	margin: 40px auto 0 auto;	padding: 0;	width: 260px
}
.login_button li {	display: block;	float: left;
}
li.vk a {	width: 60px;	height: 50px;	display: block;	background: #507299 url("../img/vk.png") no-repeat center center;	-webkit-border-top-left-radius: 4px;	-webkit-border-bottom-left-radius: 4px;	-moz-border-radius-topleft: 4px;	-moz-border-radius-bottomleft: 4px;	border-top-left-radius: 4px;	border-bottom-left-radius: 4px;
}
li.vk a:hover {	background: #486a90 url("../img/vk.png") no-repeat center center;	cursor: pointer;
}
li.fb a {	width: 60px;	height: 50px;	display: block;	background: #3b5998 url("../img/fb.png") no-repeat center center;	-webkit-border-top-right-radius: 4px;	-webkit-border-bottom-right-radius: 4px;	-moz-border-radius-topright: 4px;	-moz-border-radius-bottomright: 4px;	border-top-right-radius: 4px;	border-bottom-right-radius: 4px;
}
li.fb a:hover {	background: #304d8a url("../img/fb.png") no-repeat center center;	cursor: pointer;
}
.log_in {	float: right !important;	width: 120px;
}
.log_in input {	width: 120px;	height: 50px;	background: #ff6900;	border: 0;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	font-size: 14px;	text-transform: uppercase;	color: #fff;	font-weight: 700;
}
.log_in input:hover {	background: #ec6201;	cursor: pointer;
}
.footer_login {	height: 65px;	background: #b2d4dc;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	margin: 39px 0 0 0;
}
.footer_login ul {	list-style-type: none;	margin: 18px 0 0 0;	padding: 0 24px;
}
.for_pass {	float: left;	padding: 3px 0 0 0;
}
.for_pass a {	color: #3e6372;	font-size: 12px;	font-weight: 700;
}
.register {	color: #3e6372;	font-size: 12px;	font-weight: 700;	padding: 4px 0 0 0;	float: right;
}
.register a {	color: #ff6900;	text-transform: uppercase;
}
.clears {	clear: both;
}
.md-content {	-webkit-transform: translateY(0);	-moz-transform: translateY(0);	-ms-transform: translateY(0);	transform: translateY(0);	opacity: 1;	visibility: visible;
}
.overlay {	position: fixed;	width: 100%;	height: 100%;	top: 0;	left: 0;	z-index: 1000;	background: rgba(0,0,0,0.6);	-webkit-transition: all 0.3s;	-moz-transition: all 0.3s;	transition: all 0.3s;	display: none;	cursor: pointer;
}
.you_name {	color: #3e6372;	font-size: 18px;	text-align: center;	font-weight: 700;	padding: 24px 0 0 0;	text-transform: uppercase;
}
.you_group {	color: #3e6372 !important;	font-size: 14px;	text-align: center;	padding: 6px 0 0 0;	font-weight: 400 !important;
}
.ava {	display: block;	-webkit-border-radius: 50%;	-moz-border-radius: 50%;	border-radius: 50%;	width: 110px;	height: 110px;
}
.ava_position {	margin: 23px auto 28px auto;	width: 110px;	position: relative;
}
.online {	width: 11px;	height: 11px;	background: #fad920;	border:5px solid #fafaff;	-webkit-border-radius: 50%;	-moz-border-radius: 50%;	border-radius: 50%;	position: absolute;	right: -10px;	top: 45px;
}
.border_miniprof {	border-top: 1px solid #e1e1e5;
}
.menu_prof {	text-align: center;	padding: 10px 0;
}
.menu_prof a {	color: #3e6372;	font-size: 14px;	margin: 5px 0;	display: inline-block;
}
.logout {	width: 120px;	height: 50px;	background: #ff6900;	color: #fff;	font-size: 14px;	text-transform: uppercase;	display: block;	-webkit-border-radius: 4px;	-moz-border-radius: 4px;	border-radius: 4px;	margin: 31px auto 26px auto;	font-weight: 700;	text-align: center;	line-height: 50px;
}
.logout:hover {	background: #ec6201;	text-decoration: none !important;
}

Сохраняем, и заливаем обратно на сайт.

4. В завершение, не забудьте почистить кэш на сайте. Установка закончена.

Чтобы визуально представить результат того, что должно получиться, рекомендуем посмотреть краткую видео демонстрацию:

Дизайнер: Brad Frost

Faq: шаблоны dle — login.tpl шаблон теги «панели авторизации на сайте»

login.tpl шаблон «Панели авторизации на сайте»
FAQ: Шаблоны DLElogin.tpl шаблон теги оформления формы «Панели авторизации на сайте», поля «Логин» и «Пароль», ссылки на зарегистрироваться или восстановить пароль (забыли), получить доступ с помощью аккаунта соц сети , если посетитель ещё не был зарегистрирован. Если пользователь зарегистрировался, в панели можно добавить ссылки на «Добавить публикацию, Сообщения, Закладки, Непрочитанные новости, Доп поля, Профиль, Фото» и тому подобное.

FAQ (полезная справка): В файле login.tpl шаблон DLE настраивается в разделе «Панель авторизации на сайте», вывод панели авторизации посетителя на сайте, применяется следующих тегов:

ТегиОписание
{registration-link}Тег устанавливает ссылку на страницу регистрации посетителя.
{lostpassword-link}Тег устанавливает ссылку на страницу восстановления пароля.
{logout-link}Тег ссылки на выход пользователя с сайта, разлогирование.
{admin-link}Добавляет ссылку, чтобы пройти в админпанель скрипта.
{pm-link}Открыть страницу персональных сообщений.
{new-pm}Вывести количество новых персональных сообщений.
{all-pm}Тег вывода общего количества персональных сообщений.
{favorite-count}Выводит количество публикаций, которые добавил пользователь себе в закладки на сайте.
{foto}Можно вывести аватар пользователя.
[admin-link]
Профиль[/admin-link]
Выводит содержимое в тегах, если пользователь имеет доступ к админпанели скрипта.
{profile-link}Проставляет ссылку на страницу профиль пользователя.
{stats-link}Ссылка на статистику на сайте.
{addnews-link}Проставляет ссылку на страницу добавления новости на сайте.
{favorites-link}Ссылка на просмотр закладок пользователя.
{newposts-link}Проставляет ссылку на страницу непрочитанных новостей пользователем с последнего посещения им сайта.
{group-icon}отобразит иконку группы пользователя.
{login-method}В зависимости от установленного в настройках скрипта типа авторизации, вывод что необходимо вводить пользователю: логин или E-mail
[vk] Вконтакте [/vk]Можно добавит любые слова заключенный в них, если включена поддержка авторизации при помощи социальной сети Вконтакте.
{vk_url}Ссылка URL Вконтакте на авторизацию в соц. сети.
[odnoklassniki]
Одноклассники
[/odnoklassniki]
Можно добавит любые слова заключенный в них, если включена поддержка авторизации при помощи социальной сети Одноклассники.
{odnoklassniki_url}Ссылка URL Одноклассники на авторизацию в соц. сети.
[facebook]
текст
[/facebook]
Можно добавит любые слова заключенный в них, если включена поддержка авторизации при помощи социальной сети Facebook.
{facebook_url}Ссылка URL Facebook на авторизацию в соц. сети.
[google]
текст
[/google]
Выводят текст заключенный в них, если включена поддержка авторизации при помощи почты Google.
{google_url}Выводит ссылку URL на авторизацию в почты Google.
[mailru]
текст
[/mailru]
Выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Mail ru
{mailru_url}Выводит ссылку URL на авторизацию в соц. сети Mail_ru.
[yandex]
текст [/yandex]
Выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Yandex.
{yandex_url}Выводит ссылку URL на авторизацию в соц. сети Yandex.
[xfgiven_x]
[xfvalue_x]
[/xfgiven_x]
Выводится дополнительное поле «x«, если поле не пустое. Более подробно про доп поля читайте.
[xfnotgiven_x]
текст
[/xfnotgiven_x]
Выводится текст, указанный в них, если дополнительное поле пользователя не было задано, где X это имя дополнительного поля профиля пользователя.
[xfvalue_x]Выводится значение дополнительного поля «x», где «x» название дополнительного поля.
{group}Выводит название группы пользователя сайта в которой он находится в данный момент.

Dle шаблоны *.tpl об всех файлах подробно

Форма «Панель авторизации на сайте» настраивается в шаблоне login.tpl, готовый вариант можно увидеть в архиве движка в папке dle14_0.zip/upload/templates/Default/ или скачать по этой ссылке.

login.zip [1,21 Kb] (cкачиваний: 30)

Единая регистрация и авторизация на нескольких сайтах » datalife engine (dle) — система управления сайтом и контентом. официальный сайт.

Дорогие друзья,

Сегодня хотелось бы рассказать вам об одном из нововведении версии 5.7, а именно о том что в скрипт добавлена поддержка единой регистрации и авторизации на ваших сайтах, которые могут находится на различных доменах и работать под управлением разных копий скрипта, но при этом вашим пользователям достаточно зарегистрироваться только на одном из ваших сайтах и в дальнейшем использовать свой логин и пароль на других ваших сайтах. Единственным условием для реализации данной возможности является то, что все домены должны иметь доступ к одной и той же MySQL базе данных, в пределах одного хостера это не проблема, если хостеры разные, то MySQL сервер должен разрешать внешние подключения.

Внимание: несмотря на то что скрипт поддерживает работу с несколькими проектами, это не меняет условий лицензирования и одна лицензия выдается на один домен второго уровня, и для другого домена вам понадобится еще одна лицензия.

Итак рассмотрим более подробно как вам реализовать и использовать данную возможность:

Нам необходимо установить скрипт на основной домен, допустим http://site.ru/. Для этого делаем все как обычно, закачиваем файлы скрипта на сервер и запускаем мастер установки скрипта install.php. После того как скрипт проведет тестирование вам необходимо будет заполнить данные для доступа к MySQL серверу.

Например:

Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password

Эти данные вам предоставляет ваш хостер.

Следующим параметром идет Префикс, этот параметр вы можете определить и указать самостоятельно, мы например укажем: site

После того как мы успешно установили скрипт на один домен, нам необходимо установить скрипт на другой возмем для примера http://games.site.ru/. Делаем все по аналогии и данные для доступа к MySQL серверу указываем теже самые что и для первого сайта:

Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password

Единственным отличием является это параметр Префикс, который мы укажем другой, например укажем: games.

Итак мы получили два самостоятельных сайта http://site.ru/ и http://games.site.ru/, которые работают отдельно и между собой не связаны. Поэтому следующей нашей задачей является объединить авторизацию и регистрацию на этих сайтах. Для этого мы заходим по FTP на наш второй сайт http://games.site.ru/ и открываем файл engine/data/dbconfig.php, находим там строчку:

define ("USERPREFIX", "games");

и заменяем ее на

define ("USERPREFIX", "site");

Другими словами мы поставили для параметра

USERPREFIX

префикс от первого сайта. После этих действий ваш второй сайт будет использовать базу данных для пользователей и групп пользователей от первого сайта, а для всего остального будет использовать собственную отдельную базу данных.

Внимание: Некоторые продвинутые пользователи после этих действий решат удалить неиспользуемые в дальнейшем MySQL таблицы, но мы предостерегаем вас от этих действий, маленькие и неиспользуемые таблицы не будут вам мешать, но так как вам придется обновлять в дальнейшем каждый отдельно, то во избежания конфликтов вам нужно оставить эти таблицы, т.к. они также будут проходить процедуру обновления структуры.

Ну вот в принципе и все, как видите все достаточно просто.

Удачи вам и всего наилучшего.

Как сделать авторизацию на dle и на самопис. cms

Подскажите как сделать авторизацию на своем cms и dle.

Пробовал прописывать в сессию

Пароль от сайта dle и id

$_SESSION['dle_user_id'] = $result;
$_SESSION['dle_password'] = md5($pass);

Не работает.
Моя cms в корне. DLE в папке site.ru/dle


Расковырял плагин авторизации dle 9.8 с ppbb

Так вот тоже не работает…

$auth = array('login'=>'test', pass=>md5('test'), 'email'=>'lol@lol.ru')
$time = time();
$_TIME = $time (86400 * 60);
$result = $db->query('insert into `dle_users` set `email`=?s, `password`=?s, `name`=?s, `user_group`=4, `reg_date`=?s, `lastdate`=?s', $auth['email'], md5($auth['pass']), $auth['login'], $time, $time);
if($result) { $id = $db->insertId(); $this->set_cookie( "dle_user_id", $id, 365 ); $this->set_cookie( "dle_password", md5($auth['pass']), 365 ); session_name(); session_id(); @session_register( 'dle_user_id' ); @session_register( 'dle_password' ); @session_register( 'member_lasttime' ); $_SESSION['dle_user_id'] = $id; $_SESSION['dle_password'] = md5($auth['pass']); $_SESSION['member_lasttime'] = $time; $_SESSION['dle_log'] = 0; $db->query( "UPDATE LOW_PRIORITY dle_users set lastdate=?s, logged_ip=?s WHERE user_id=?s", $_TIME, $_SERVER['REMOTE_ADDR'], $id ); return true;
} else return false;

public function set_cookie($name, $value, $expires) { if( $expires ) $expires = time() ($expires * 86400); else $expires = FALSE; if( PHP_VERSION < 5.2 ) setcookie( $name, $value, $expires, "/", DOMAIN . "; HttpOnly" ); else setcookie( $name, $value, $expires, "/", DOMAIN, NULL, TRUE );
}

Отдельная страница авторизации для dle

Хак представляет из себя отдельную страницу авторизации пользователей сайта. Установка очень проста и потребует минимум изменений.

Для начала разместите файлы в свои места, login.php в папку /engine/modules/, а файл шаблона в в папку с шаблоном /templates/skin/ Затем добавьте запись в файле /engine/engine.php ниже switch ( $do ) { напишите

case "name_module" : include (DLEPlugins::Check(ENGINE_DIR . '/modules/login.php')); // Для версий движка 13 и выше. include ENGINE_DIR . '/modules/login.php'; // Для версии движка ниже 13.
break;

Где name_module используйте любое название страницы но главное, чтобы оно не совпадало с другими страницами и затем новая страница будет доступна по адресу http://sitename/index.php?do=name_module

P.S.1 У меня так и названа login

P.S.2 В зависимости от версий движка, код в login.php может быть немного другим, это относиться в основном к авторизации через социальные сети.

В файле login.php есть два тега

{class}

и

{btnClose}

. Их я использую для ajax вызова формы авторизации. И назначение их я думаю не должно вызывать вопросов. Можете поправить по себя или удалить если у Вас нету красивых модульных окошек.

if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{class}', "ajax-login" );
else $tpl->set( '{class}', "" );
if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{btnClose}', "<button type="button" class="mfp-close">×</button>" );
else $tpl->set( '{btnClose}', "" );

Обращение к странице при помощи ajax точно такое же как и обычный вход. На ссылку с адресом на страницу можно повесить получение формы входа, а если js дал сбой или по ссылке нажали средней кнопкой мыши то будет стандартная страница.

P.S.3

{btnClose}

Чисто отсебятина, я использую скрипт

Magnific Popup

и там у меня проблемки с добавлением кнопки на закрытие окна, пришлось её добавить в сам шаблон. Так вот её можно не использовать и удалить вовсе.

Стилизуйте формы и шаблоны самостоятельно, Удачи в установке.

Автор: TeraMoune
Версия DLE: любая

Похожее:  Как зайти на сервер Майнкрафт -