Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Как разрешить группе "Гости" добавлять новости на сайт?

Как разрешить группе "Гости" добавлять новости на сайт?


     03.01.2014    Все вопросы » Хаки    8203

вопрос
Здравствуйте! Собственно возникла проблема с тем, что пользователи находящиеся в группе "Гости" (не зарегистрированные) в dle не могут вообще добавлять новости, я так понял это даже не предусмотрено в двжике, т.к в настройке группы кнопка разрешения публикации неактивна. Подскажите пожалуйста, как можно разрешить гостям публиковать новости, версия dle 10.1.

Ответил: rocksmart


В админ панели создаеш нового пользователя

Например:

Логин: quest
Пароль: quest
Емайл: можно указать свой

В файле engine\modules\addnews.php

После строки

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}



Вставить


if($member_id ['user_group'] == '5'){
include("engine/api/api.class.php");
$member_id = $dle_api->take_user_by_name('test');
$is_logged = true;
//print_r($member_id);
}



Теперь любой пользователь будет добавлять новости под ником test

12 комментариев

vitnet
PHP-developer

vitnet - 3 января 2014 09:26 -


narkom6n
Юзер

narkom6n - 3 января 2014 09:34 -

Там все хаки устаревшие, на старые ветки dle.

ПафНутиЙ
Админ

ПафНутиЙ - 3 января 2014 11:12 -

А какие конкретно вы пробовали устанавливать?

Каков вопрос - таков и ответ. Просто помните об этом.

alle347
Юзер

alle347 - 8 января 2014 10:54 -

Присоединяюсь к вопросу. Ответ пока не прозвучал :(

studiolfilms
Юзер

studiolfilms - 19 сентября 2014 14:56 -

up - тоже нужно

Петрушка
Юзер

Петрушка - 24 декабря 2015 09:08 -

Тоже интересно, авторизацию отключил - а запрещать новости присылать не хочется..

Петрушка
Юзер

Петрушка - 24 декабря 2015 09:33 -

Нашел в интернете, попробовал на своём сайте - всё работает!

Открыть файл engine/modules/addnews.php
После строки (в самом верху):
$parse = new ParseFilter( Array (), Array (), 1, 1 ); Добавить:

if( !$is_logged ){
$is_logged=true; //Искусственно делаем гостя зарегеным
$member_id['user_group']=4; //Искусственно ставим права пользователя для гостя при добавлении новости
$member_id['user_id']=1; //Ну надо же кому-то в счетчик новость прибавить <img src='http://talkwebber.ru/public/style_emoticons/<EMO_DIR>/smile_mini.gif' class='bbc_emoticon' alt=':)' />
} Далее перед строкой:

$stop = ""; Вставить:

if( !$member_id['name'] ){
$name = $db->safesql( $parse->process( htmlspecialchars( trim( $_POST['name'] ) ) ) ); //Удаляем вскую кракозябру из ника
if( strlen( $name ) > 20 ) die("Too long name!"); //Длинные имена не пропускаем
if( preg_match( "/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/", $name ) ) die("Hacking attempt!"); //Спесимволы не пропускаем
if( $name == "" ) die("Please enter your name!"); //Пустое имя не пропускаем
$member_id['name'] = $name; //Присваиваем имя
$config['sec_addnews']=false; //Сносим лишнюю проверку хэша
}
В файле шаблона addnews.tpl добавить
<input type="text" name="name"/> Вот и вся хитрость....

deamonsda
Юзер

deamonsda - 12 февраля 2016 11:38 -

работает. но при добавлении файла в новость выдаёт в модальном окне {"error":"Вы не авторизированы на сайте"} Как это подправить?

timalamer
Юзер

timalamer - 17 марта 2016 16:04 -

Я решил это так:

В login.tpl вписал логин и пароль, используя value=""

Добавил кнопке "Войти" id="davay"

И с помощью этой функции, каждый гость автоматом логинится на сайте.

$(document).ready(function(){
$('#davay').click()
})

SanekFisherman
Юзер

SanekFisherman - 28 июля 2016 21:38 -

А можете указать как прописать именно в логин тпл логин и пароль? И ещё, как и куда подключить автомат. авторизацию гостя?

timalamer
Юзер

timalamer - 29 июля 2016 07:31 -

В addnews.tpl добавил
{include file="login.tpl"}


В login.tpl



<form method="post" action="">
<ul class="reset">
<li class="lfield"><label for="login_name">{login-method}</label><input type="text" name="login_name" id="login_name" value="Тут вставь логин"/></li>
<li class="lfield lfpas"><label for="login_password">Пароль</label><input type="password" name="login_password" id="login_password" value="Тут вставь пароль" /></li>
<li class="lbtn"><button class="fbutton" id="davay" onclick="submit();" type="submit" title="Войти"><span>Войти</span></button></li>
</ul>
<input name="login" type="hidden" id="login" value="submit" />
</form>


<script type="text/javascript">
    $(document).ready(function(){
$('#davay').click()
})
</script>

startget
Юзер

startget - 14 мая 2017 14:04 -

для того чтобы гости могли загрузить изображения при добавление новости

В файле engine\modules\addnews.php
После строки
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

Вставить
if( !$is_logged ){
	include("engine/api/api.class.php");
	$member_id = $dle_api->take_user_by_name("guest");
	$is_logged = true;
	$member_id['user_group']=6;
	$member_id['user_id']=1;
}


В файле engine\ajax\upload.php
Заменить строку
if( ! $is_logged ) {
	die ( "{\"error\":\"{$lang['err_notlogged']}\"}" );
}

на
if( !$is_logged ){
	$is_logged = true;
	$member_id['user_group']=6;
	$member_id['user_id']=1;
}


Создал группу "Guest" и в нем пользователя по имени "guest". То есть получается когда гость добавляет новость, то он добавляется от имени пользователя "guest".

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх