Перейти к публикации

ДЛЕ 10, група пользователей для смены автора


Рекомендованные сообщения

Я хочу дать право редактору изменять автора к публикации но в настройках групп пользователей не могу найти такую настройку, Подскажите это могут делать только Администраторы? или возможно настроить группу пользователя редактора?

Ссылка на сообщение
Поделиться на других сайтах

Это могут делать только администраторы сайта. В настройках групп это не настраивается

Ссылка на сообщение
Поделиться на других сайтах

Подскажите возможно где то код как то подправить... мне крайне важно что бы все журналисты могли ставить не только свои фамилии, а и другие. Пока раздал всем права Администратора но это очень опасно.

Ссылка на сообщение
Поделиться на других сайтах

В engine/inc/addnews.php

Используя поиск по слову autor я нашел в 730 строке это слово, подскажите что на что нужно изменить для того чтобы допустим Редактор мог изменять автора.

$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_br', '$catalog_url', '{$_POST['tags']}', '{$metatags['title']}')" );

и конечно в файле engine/inc/editnews.php

Изменено пользователем HolySong
Ссылка на сообщение
Поделиться на других сайтах

Не то вы нашли, менять нужно строчку


if( $member_id['user_group'] == 1 AND $_POST['new_author'] != $member_id['name'] ) {
[/CODE] например на
[CODE]
if( ($member_id['user_group'] == 1 OR $member_id['user_group'] == 2 ) AND $_POST['new_author'] != $member_id['name'] ) {

Ссылка на сообщение
Поделиться на других сайтах

строка 1738

// Смена автора публикации

if( $member_id['user_group'] == 1 AND $_POST['new_author'] != $_POST['old_author'] ) { ------- вот самая похожая строка которая была в файле editnews.php я заменил ее на

if( ($member_id['user_group'] == 1 OR $member_id['user_group'] == 2 ) AND $_POST['new_author'] != $member_id['name'] ) {

и ничего не получилось

Вот мой весь код по смене автора публикации

// Смена автора публикации

                if( $member_id['user_group'] == 1 AND $_POST['new_author'] != $_POST['old_author'] ) {


                    $_POST['new_author'] = $db->safesql( $_POST['new_author'] );


                    $row = $db->super_query( "SELECT user_id  FROM " . USERPREFIX . "_users WHERE name = '{$_POST['new_author']}'" );


                    if( $row['user_id'] ) {


                        $db->query( "UPDATE " . PREFIX . "_post SET autor='{$_POST['new_author']}' WHERE id='$item_db[0]'" );

                        $db->query( "UPDATE " . PREFIX . "_post_extras SET user_id='{$row['user_id']}' WHERE news_id='$item_db[0]'" );

                        $db->query( "UPDATE " . PREFIX . "_images SET author='{$_POST['new_author']}' WHERE news_id='$item_db[0]'" );

                        $db->query( "UPDATE " . PREFIX . "_files SET author='{$_POST['new_author']}' WHERE news_id='$item_db[0]'" );


                        $db->query( "UPDATE " . USERPREFIX . "_users SET news_num=news_num+1 where user_id='{$row['user_id']}'" );

                        $db->query( "UPDATE " . USERPREFIX . "_users SET news_num=news_num-1 where name='$item_db[1]'" );


                    } else {


                        msg( "error", $lang['addnews_error'], $lang['edit_no_author'], "javascript:history.go(-1)" );


                    }


                }


                // Облако тегов

Изменено пользователем HolySong
Ссылка на сообщение
Поделиться на других сайтах

и ничего не получилось

Вы какой группе планируете назначить, с номером ID 2? И менять нужно только ту часть которая касается проверки переменной $member_id['user_group'], зачем вы убрали из проверки AND $_POST['new_author'] != $_POST['old_author'] эту часть трогать не нужно

Ссылка на сообщение
Поделиться на других сайтах


if( ($member_id['user_group'] == 1 OR $member_id['user_group'] == 2 ) AND $_POST['new_author'] != $_POST['old_author'] ) {

если вы имели в виду так, то все равно авторизованный пользователь с ИД 2 не может изменять автора Ради эксперимента поставил вместо 1 2 и все равно ничего не изменилось

if( $member_id['user_group'] == 2 AND $_POST['new_author'] != $_POST['old_author'] ) {

Изменено пользователем HolySong
Ссылка на сообщение
Поделиться на других сайтах

нужно еще изменить строчку


if( $member_id['user_group'] == 1 ) {

$author_info = "<input type=\"text\" name=\"new_author\" size=\"20\" value=\"{$row['autor']}\"><input type=\"hidden\" name=\"old_author\" value=\"{$row['autor']}\" />";

}
[/CODE]

Ссылка на сообщение
Поделиться на других сайтах


if( ($member_id['user_group'] == 1 OR $member_id['user_group'] == 2 ) {


  $author_info = "<input type=\"text\" name=\"new_author\" size=\"20\"  class=\"edit bk\" style=\"vertical-align: middle;\" value=\"{$row['autor']}\"><input type=\"hidden\" name=\"old_author\" value=\"{$row['autor']}\" />";


}


if( ($member_id['user_group'] == 1 OR $member_id['user_group'] == 2 ) AND $_POST['new_author'] != $_POST['old_author'] ) {

когда нажимаю редактировать новости

Parse error: syntax error, unexpected '{' in /var/www/izhrdo/iz.com.ua/engine/inc/editnews.php on line 1127

Ссылка на сообщение
Поделиться на других сайтах

HolySong,

Что то вы неправильно поменяли, смотрите соседний код, я же вам дал кусок кода, и менять нужно только его не повредив соседний код.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо огромное, все получилось. Скажите теперь пожалуйста могу ли я выбросить всех с админок? так как много журналистов сидит с правами админа и пока они не выйдут и не зайдут у них останутся те же права. в настройках ДЛЕ вроде нет такого

Ссылка на сообщение
Поделиться на других сайтах

Скажите теперь пожалуйста могу ли я выбросить всех с админок? так как много журналистов сидит с правами админа и пока они не выйдут и не зайдут у них останутся те же права.

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...