Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Haktar

Лимит модерирования

Recommended Posts

Кстати. А можно в темы вывести дату окончания модерирования? Даже лучше не дату, а кол-во дней модерирования?

Share this post


Link to post
Share on other sites

Кстати. А можно в темы вывести дату окончания модерирования? Даже лучше не дату, а кол-во дней модерирования?

Или как лучший вариант, внести информацию о оставшихся кол-вах дней на страницу модераторов - /index.php?app=forums&module=extras&section=stats&do=leaders

Share this post


Link to post
Share on other sites

А куда его именно добавлять в файле moderator.php? В самый низ файла?

Без разницы. Лишь бы в класс попасть.

Если сомневаетесь, то добавьте перед

	/**
 * Rebuild moderator cache
 *
 * @return	void		[Outputs to screen]
 */
public function rebuildModeratorCache()

Или как лучший вариант, внести информацию о оставшихся кол-вах дней на страницу модераторов - /index.php?app=forums&module=extras&section=stats&do=leaders

Всем? Там же и администрация и супермодераторы

Share this post


Link to post
Share on other sites

Без разницы. Лишь бы в класс попасть.

Если сомневаетесь, то добавьте перед

Добавил в самый низ, сработало. Но лучше сделаю как вы советуете.

 

Всем? Там же и администрация и супермодераторы

Да, но админы и супермодераторы по умолчанию модерят все разделы, поэтому на них нет записей в таблице модераторов. Хотелось что бы там были записи о тех на кого есть запись в таблице модераторов.

Share this post


Link to post
Share on other sites

Да, но админы и супермодераторы по умолчанию модерят все разделы, поэтому на них нет записей в таблице модераторов. Хотелось что бы там были записи о тех на кого есть запись в таблице модераторов.

 

Что делать, если юзер модерирует 2 и более форумов, и для каждого установлено свое время?

Share this post


Link to post
Share on other sites

Что делать, если юзер модерирует 2 и более форумов, и для каждого установлено свое время?

На этой странице есть список выпадающих кто какие разделы модерит. Так не возможно?

Share this post


Link to post
Share on other sites

@newbie,

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

Share this post


Link to post
Share on other sites

Открыть \admin\applications\forums\modules_public\extras\stats.php

Найти

			$mod_array = array();

Выше добавить

			$modMidsWithLimit = array();
		$modGidsWithLimit = array();

		foreach ($this->cache->getCache('moderators') as $mod)
		{
			if (isset($mod['cmod_moderate_time']) and $mod['cmod_moderate_time'] > 0 and ($mod['cmod_moderate_time'] > time()))
			{
				$days = IPSTime::time_ago($mod['cmod_moderate_time'] - time());

				if ($mod['is_group'])
				{
					$modGidsWithLimit[$mod['group_id']][$mod['forum_id']] = $days;
				}
				else
				{
					$modMidsWithLimit[$mod['member_id']][$mod['forum_id']] = $days;
				}
			}
		}

 

Найти

						$mod_array[ $i['member_id'] ]['forums'][ $fid ] = ipsRegistry::getClass('class_forums')->forum_by_id[ $fid ]['name'];

Заменить на

						$d = '';
					if (isset($modMidsWithLimit[$i['member_id']][$fid]))
					{
						$d = $modMidsWithLimit[$i['member_id']][$fid];
					}
					elseif (isset($modGidsWithLimit[$i['member_group_id']][$fid]))
					{
						$d = $modGidsWithLimit[$i['member_group_id']][$fid];
					}
					$mod_array[ $i['member_id'] ]['forums'][ $fid ] = ipsRegistry::getClass('class_forums')->forum_by_id[ $fid ]['name'] . ($d ? ' Осталось ' . $d: '');

 

  • Upvote 1

Share this post


Link to post
Share on other sites

@newbie,

Большое спасибо, то что надо!

 

Скажите, а как изменить английское days на русское дней? И можно дату красным цветом выделить?

Share this post


Link to post
Share on other sites

Скажите, а как изменить английское days на русское дней?

\admin\sources\base\core.php

Смотрите метод time_ago

	static public function time_ago( $ts )

 

Только там еще и часы/минуты могут быть.

Для дней можно использовать

$days = floor(($mod['cmod_moderate_time'] - time()) / 86400);

И можно дату красным цветом выделить?

Нельзя использовать теги внутри option.

  • Upvote 1

Share this post


Link to post
Share on other sites

@newbie,

А возможно что то подобное и для групп реализовывать? Что бы можно было назначать пользователю выбранную группу временно, а потом при истечение времени автоматически пользователь возвращался в исходную группу.

Share this post


Link to post
Share on other sites

А возможно что то подобное и для групп реализовывать? Что бы можно было назначать пользователю выбранную группу временно, а потом при истечение времени автоматически пользователь возвращался в исходную группу.

Это вопрос для другой темы.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...