«космическая» форма входа мини профиль для dle
Всем привет! Появилась свободная минутка, поэтому решил с пользой ее провести и сделать что-нибудь нужное для сайта 🙂
Итак, перед вами альтернатива стандартной форме входа DLE легкий мини профиль. Открытие окон сопровождается анимацией (то, что вы получите в итоге, можете посмотреть в конце статьи). Дизайн довольно приятный, поэтому данная связка подойдет для многих сайтов. Модуль тестировался на DLE версии 10.0 — 11.1

Внимание! Для того чтобы вход через социальные сети функционировал без проблем, необходимо установить соответствующие настройки в разделе «Пользователи» — настройка социальных сетей в панели управления сайтом.
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}">Личные сообщения {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 шаблон теги «панели авторизации на сайте»
FAQ: Шаблоны DLE — login.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: любая
Вход в личный кабинет