Просмотр сайта как член одной из группы
Как видят содержимое сайта пользователи группы, например Посетители? Это легко узнать установив этот хак. Он позволит оперативно менять Группу пользователей, что удобно при настройке и тестировании сайта на CMS DLE.
Установка:
1. Создать файл engine/modules/group.php содержания:
<?php
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
if($member_id['user_group']==1 or $_SESSION['newgroup'])
{
$groups = $db->query("select * from " . PREFIX . "_usergroups");
$html_ = "<form method='post' actiuon=''><select name='newgroup'>";
while( $val = $db->get_row($groups) ){
if($member_id['user_group']==$val['id'])
$h_=" selected";
else
$h_="";
$html_ .= "<option value={$val['id']}{$h_}>{$val['group_name']}</option>";
}
$html_ .= "</select> <input type=\"submit\" value=\"ок\"></form>";
}else
$html_ = "Нет прав!";
$tpl->load_template( 'group.tpl' );
$tpl->set("%LIST%", $html_);
$tpl->compile( 'content' );
$tpl->clear();
?>
2. Создать шаблон group.tpl содержания:
%LIST%
3. Открыть файл engine/modules/sitelogin.php и в самом низу найти:
?>
Добавить выше:
if($member_id['user_group']==1 )
{
if($_POST['newgroup'])
$member_id['user_group'] = intval($_POST['newgroup']);
elseif( $_COOKIE['newgroup'] )
$member_id['user_group'] = intval($_COOKIE['newgroup']);
elseif( $_SESSION['newgroup'] )
$member_id['user_group'] = intval( $_SESSION['newgroup'] );
if($member_id['user_group']==5) $is_logged = false;
$_COOKIE['newgroup'] = $member_id['user_group'];
$_SESSION['newgroup'] = $member_id['user_group'];
}
4. Открыть engine/inc/include/functions.inc.php и найти:
if( $result ) {
if( !allowed_ip( $row['allowed_ip'] ) ) {
$member_id = array ();
$result = false;
set_cookie( "dle_user_id", "", 0 );
set_cookie( "dle_name", "", 0 );
set_cookie( "dle_password", "", 0 );
set_cookie( "dle_hash", "", 0 );
@session_destroy();
@session_unset();
set_cookie( session_name(), "", 0 );
msg( "info", $lang['index_msge'], $lang['ip_block'] );
}
}
Добавить ниже:
if($member_id['user_group']==1 )
{
if($_POST['newgroup'])
$member_id['user_group'] = intval($_POST['newgroup']);
elseif( $_COOKIE['newgroup'] )
$member_id['user_group'] = intval($_COOKIE['newgroup']);
elseif( $_SESSION['newgroup'] )
$member_id['user_group'] = intval( $_SESSION['newgroup'] );
if($member_id['user_group']==5) $is_logged = false;
$_COOKIE['newgroup'] = $member_id['user_group'];
$_SESSION['newgroup'] = $member_id['user_group'];
}
5. Открыть engine/engine.php и найти:
switch ( $do ) {
Добавить ниже:
case "group" :
include ENGINE_DIR . '/modules/group.php';
break;
6. Переходим по ссылке сайт.ру/index.php?do=group и меняем группу.
Готово!
Примечание от Oxigen: Добавлен плагин для DLE версии 13.x
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Комментариев 4