Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2017-02-28 09:57:51

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Модератор не может перемещать пользователей

Здравствуйте! Тестирую сборку от Visman. Делаю форум для узкого круга друзей, чтобы люди извне вообще не видели ничего на форуме. Сделал две группы - Новички и Пользователи. Новореги сразу попадают в группу Новички, для которой отключено чтение форума. Хочу чтобы Модераторы могли вручную перемещать Новичков в группу Пользователи. Для группы Модераторы включил параметры "Могут править пользовательские профили" и "Могут перемещать пользователей". Захожу как Модератор, пользовательские профили открываются для редактирования, но опции перемещения пользователей отыскать не могу. Может нужно включить что-то еще? Или это можно как-то иначе реализовать? Заранее благодарен за помощь!

Offline

#2 2017-02-28 10:28:26

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, в любой теме где новичок оставил сообщение, ниже его количества сообщений (там где ник, дата регистрации и прочая инфа по юзеру) должна быть ссылка Переместить пользователя.
В профиле же изменение группы делается через вкладку Модерирование.

Offline

#3 2017-02-28 12:25:25

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, спасибо за ответ! Ни того, ни другого у меня нет. Установил форум с нуля - всё равно.

Вот как видит топик Модератор:
16271594_m.jpg

Вот как Модератор видит редактирование чужого профиля:
16271599_m.jpg

Все настройки и права стандартные, не менял абсолютно ничего.

Offline

#4 2017-02-28 13:29:30

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, так. Оказывается модераторы в профиле действительно не могут менять группы пользователей. Так и в оригинальном FluxBB.
А вот Переместить пользователя в темах работает правильно. Проверил:
c3f61a5e753cbadf5a7d11ce749d5474.gif
cea80d1d0c0f22d9a653fe1864031903.gif
3e336b25541a4e76bb4bb97556589d03.gif
941cb2029f78a7c746ae0a86752c56c0.gif

Offline

#5 2017-02-28 15:07:08

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, получилось! Спасибо огромное!

Еще такой вопрос: как убрать систему предупреждений? Достаточно будет просто убрать надпись "Предупреждений: 0". Искал по форуму и наткнулся на ваш совет использовать стандартную версию форума вместо вашей сборки  smile Мне такой вариант не подходит, сборка нравится. Но форум делаю для хорошо знакомых друг с другом людей и эта опция совсем не к месту. Друзья не поймут  big_smile

Offline

#6 2017-02-28 15:29:31

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, код отвечающий за эту модификацию помечен в php как MOD warnings.
В viewtopic нужно удалить

// MOD warnings - Visman
$result = $db->query('SELECT id, message, poster, posted FROM '.$db->prefix.'warnings WHERE id IN ('.implode(',', $post_ids).')', true) or error('Unable to fetch warnings', __FILE__, __LINE__, $db->error());
$warnings = array();
while ($warning = $db->fetch_assoc($result))
	$warnings[$warning['id']] = '<cite>'.format_time($warning['posted']).' '.pun_htmlspecialchars($warning['poster']).' '.$lang_common['wrote'].'</cite>'.parse_message($warning['message'], false).'';
// MOD warnings - Visman
			$user_info[] = '<dd><span>'.$lang_topic['Warnings'].'<a href="search.php?action=show_user_warn&amp;user_id='.$cur_post['poster_id'].'">&#160;'.$cur_post['warning_all'].'&#160;</a></span></dd>';
		// MOD warnings - Visman
		else if ($cur_post['poster_id'] == $pun_user['id'])
		{
			$user_info[] = '<dd><span>'.$lang_topic['Warnings'].'<a href="search.php?action=show_user_warn">&#160;'.$cur_post['warning_all'].'&#160;</a></span></dd>';
		}
<?php if (isset($warnings[$cur_post['id']])): ?>
					<div class="postwarn">
						<?php echo $warnings[$cur_post['id']]."\n" ?>
					</div>
<?php endif; ?>

В edit.php

		if ($is_admmod)
		{
			$warning = pun_linebreaks(pun_trim($_POST['warning']));
			if ($warning != $cur_post['warning'])
			{
				$db->query('DELETE FROM '.$db->prefix.'warnings WHERE id='.$id) or error('Unable to remove warning', __FILE__, __LINE__, $db->error());
				$sql_warm = '';
				if (strlen($_POST['warning']) > 0 )
				{
					$db->query('INSERT INTO '.$db->prefix.'warnings (id, poster, poster_id, posted, message) VALUES('.$id.', \''.$db->escape($pun_user['username']).'\', '.$pun_user['id'].', '.time().', \''.$db->escape($_POST['warning']).'\')') or error('Unable to insert warning', __FILE__, __LINE__, $db->error());
					$sql_warm = ', warning_flag=1';
				}
				$result = $db->query('SELECT COUNT(p.id) FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'warnings AS w ON w.id=p.id WHERE p.poster_id='.$cur_post['poster_id']) or error('Unable to sum for posts', __FILE__, __LINE__, $db->error());
				$num_warn = $db->result($result);
				$db->query('UPDATE '.$db->prefix.'users SET warning_all='.$num_warn.$sql_warm.' WHERE id='.$cur_post['poster_id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
			}
		}
<?php if ($is_admmod): ?>						<label><strong><?php echo $lang_common['Moderator'] ?></strong><br />
						<input class="longinput" type="text" name="warning" size="80" maxlength="5000" tabindex="<?php echo $cur_index++ ?>" value="<?php echo pun_htmlspecialchars(isset($_POST['warning']) ? $_POST['warning'] : $cur_post['warning']) ?>" /><br /></label>
<?php elseif ($cur_post['warning'] != ''): ?>
						<div class="postwarn">
							<?php echo pun_htmlspecialchars($cur_post['warning'])."\n" ?>
						</div>
<?php endif; ?>

В search.php

	// MOD warnings - Visman
	else if ($action == 'show_user_warn')
	{
		if ($pun_user['is_guest'])
			message($lang_common['No permission'], false, '403 Forbidden');

		$user_id = (isset($_GET['user_id'])) ? intval($_GET['user_id']) : $pun_user['id'];
		if ($user_id < 2)
			message($lang_common['Bad request'], false, '404 Not Found');
	}
		// MOD warnings - Visman
		else if ($action == 'show_user_warn')
		{
			$sort_by = 9;
			$show_as = 'posts';
			$sort_dir = 'DESC';

			$result = $db->query('SELECT p.id FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'warnings AS w ON w.id=p.id INNER JOIN '.$db->prefix.'topics AS t ON t.id=p.topic_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=t.forum_id AND fp.group_id='.$pun_user['g_id'].') WHERE p.poster_id='.$user_id.' AND (fp.read_forum IS NULL OR fp.read_forum=1) ORDER BY w.posted DESC') or error('Unable to search for posts', __FILE__, __LINE__, $db->error());
			$num_hits = $db->num_rows($result);

			if (!$num_hits)
				message($lang_search['No user posts']);

			$search_ids = array();
			while ($row = $db->fetch_row($result))
				$search_ids[] = $row[0];

			$search_type = array('warn', $user_id);

			$db->free_result($result);
		}

P.S. Возможно что-то упустил.

Offline

#7 2017-03-02 09:20:47

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, большое спасибо! Всё получилось!

Теперь не могу с часовым поясом разобраться. Показывает на час больше. В настройках PHP стоит Europe/Moscow. Для проверки создавал файл с таким кодом:

<?
$date1 = date("d.m.y H:i", time());
echo $date1; 
?>

Файл выдает правильное время. Пробовал изменять время в настройках PHP - файл выдает измененное время. Но на форуме ничего при этом не меняется. В настройках форума и в личных настройках пользователя указано UTC+3 Москва.

Offline

#8 2017-03-02 11:57:59

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, может смещение на летнее время в настройках профиля пользователя влияет?

Offline

#9 2017-03-03 16:15:21

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, и правда, поигрался с летним временем и всё заработало. Включил-выключил несколько раз и всё нормально стало. Мистика! smile

А можно сделать вывод названия темы в шапку каждого сообщения? Туда где время отправки сообщения, вслед за временем сразу. Буду рад если подскажете как это сделать! Спасибо вам большое за помощь! smile

Offline

#10 2017-03-03 17:26:10

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, перегрузите шапку. Да и на узком экране все вылезет, думаю. На punbb наоборот все спрашивают как убрать smile

В файле viewtopic.php этот код

<?php echo pun_htmlspecialchars($cur_topic['subject']) ?>

в подходящее для вас место этой строки

	<h2><span><span class="conr">#<?php echo ($start_from + $post_count) ?></span> <a href="viewtopic.php?pid=<?php echo $cur_post['id'].'#p'.$cur_post['id'] ?>"><?php echo format_time($cur_post['posted']) ?></a></span></h2>

ставите, вероятнее всего между </a> и </span>.

Offline

#11 2017-03-07 10:08:14

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, огромное вам спасибо за советы! Вы хороший человек smile  С вашей помощью запустил форум и запустил на него форумчан, понемногу осваиваемся. Всплыло еще два вопроса:

1. При загрузке картинок через встроенный мод у некоторых пользователей они отображаются в сообщениях нормально, а у некоторых всплывает заглушка NO FILE. Прямо мистика какая-то! Человек загружал картинки через браузер Opera на Windows 10, я их вижу на Mac OS во всех браузерах - Firefox, Chrome, Safari. А вот другие пользователи Chrome на Mac и Win 7 жалуются что видят картинки через одну. Посоветовал им почистить кеш в браузере, посмотрим что из этого выйдет.

2. Просят календарь дней рождений  smile Поискал здесь по форуму и нашел только сообщения 8-10 летней давности, усомнился в их актуальности. В идеале хочется графу "День рождения" в профиле и раздел "Календарь" в верхнем меню, там где "Главная", "Пользователи", "Поиск" и т.д.

Очень благодарен за советы!!!

Offline

#12 2017-03-07 11:49:15

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

По картинкам: смотрите лог доступа к файлам на своем сервере и лог ошибок рядом. Если в логе доступа все ответы имеют 200 код (т.е. все OK), то просите пользователей с проблемами открывать в браузере консоль на вкладке Сеть во время посещения форума и смотреть ответы сервера с ошибками, чтобы понять в чем причина.

По календарю ни чего толкового не подскажу, так как не интересовался таким модом. Если где есть наработки 8-10 давности, то это для версии 1.2.xx. Про их функционал не в курсе.

Offline

#13 2017-03-08 15:03:18

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, Спасибо, буду разбираться! Появился еще более насущный вопрос.

Пользователей постоянно выкидывает, просит заново пароль. Меня самого на стационарном компе выкидовало всего пару раз. На айфоне выкидывает постоянно, при каждом посещении с интервалом более часа. К слову, здесь, на этом форуме меня не выкидывало ни разу. После поиска по форуму попробовал увеличить таймаут визита, поставил максимальное значение 99999, но получил обратный результат — отошел от компьютера на час и снова увидел страницу ввода пароля. На сервере в настройках PHP установлено московское время. На форуме сидят люди из разных часовых поясов, в том числе из сильно далеких от московского. Подскажите пожалуйста как решить эту проблему, постоянные требования авторизации надоедают.

Offline

#14 2017-03-08 16:37:38

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

@alec, если речь идет о моей сборке, то выкидывать может в 1 случае, и то только админов и модераторов:
e8c50ecb17f7802061256548afacdeba.gif
Таймаут визита может повлиять, только на тех кто не ставит галку Запомнить меня при входе на форум.
Если человек включил галку Запомнить меня при входе, то минимум 2 недели с последнего входа на форум он не вылетит.

Тут https://redbot.org/ введите адрес своего форума и покажите что он вам ответит.

Offline

#15 2017-03-08 16:44:39

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

@Visman, сборка ваша smile Выкидывало как раз меня и модераторов! Галку убрал, должно помочь, скорее всего у большинства из нас динамический айпи и дело как раз в этом.

RedBot вот что говорит:

    HTTP/1.1 403 Forbidden
    Date: Wed, 08 Mar 2017 13:40:32 GMT
    Server: Apache
    X-Powered-By: PHP/5.6.30
    Expires: Thu, 21 Jul 1977 07:30:00 GMT
    Cache-Control: post-check=0, pre-check=0
    Pragma: no-cache
    X-Frame-Options: deny
    Last-Modified: Wed, 08 Mar 2017 13:40:32 GMT
    Keep-Alive: timeout=3, max=100
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=utf-8

Offline

#16 2017-03-08 16:49:38

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Модератор не может перемещать пользователей

RedBot вот что говорит:

Это не то что надо. Ниже он пишет результат проверки, что-то такое:

General

    The server's clock is correct.
    The Content-Length header is correct.

Content Negotiation (Content Negotiation response )

    The compressed response is negotiated, but doesn't have an appropriate Vary header.
    The response body is different when content negotiation happens.
    Content negotiation for gzip compression is supported, saving 73%.

Caching

    The resource last changed 25 days 17 hr ago.
    This response allows all caches to store it.
    This response allows a cache to assign its own freshness lifetime.

Validation (ETag Validation response ) (Last-Modified Validation response )

    If-Modified-Since conditional requests are supported.
    If-None-Match conditional requests are supported.

Partial Content (Partial Content response )

    A ranged request returned the correct partial content.

Offline

#17 2017-03-08 16:54:47

alec
Новичок
Зарегистрирован: 2017-02-25
Сообщений: 9

Re: Модератор не может перемещать пользователей

Visman пишет:

Это не то что надо. Ниже он пишет результат проверки

General

    The Pragma header is deprecated.
    The Keep-Alive header is deprecated.
    The server has forbidden this request.
    The server's clock is correct.

Security

    This response prevents some browsers from rendering it within a frame.

Caching

    Pragma: no-cache is a request directive, not a response directive.
    The resource last changed now.
    This response allows all caches to store it.
    The pre-check and post-check Cache-Control directives are both '0'.
    This response is already stale.
    This response might be served by a cache, even though it is stale.

Validation (Last-Modified Validation response )

    An If-Modified-Since conditional request returned the full content, but it had changed.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens