Skip to content

Премодерация комментариев в Links

Очень нужно что бы премодерацию проходили не только записи в приложении Links, но также и комментарии.

 

В таблице links_comments создал два поля - link_approved_comments и link_mod_approved_comments (идентичные link_approved и link_mod_approved в таблице links).

Премодерацию комментариев пускай проходят теже группы, которые и проходят премодерацию самих записей Links.

 

Однако как отредактировать файл comments.php для того что бы комментарии проходили премодерацию, я не знаю :(

Поможете?

Вот файл comments.php: comments.zip

 

P.S. Я вас уже видимо малость напряг с этим приложением Links, но очень нужно :)

Edited by Haktar

Featured Replies

  • Author

Вот файл comments.php

Судя по всему нужно ещё править файл links.php и classLinks.php

 

Видимо непосильная задача...

link_approved_comments и link_mod_approved_comments

Странные названия полей, учитывая то, что в таблице есть префикс comment_

Можно было создать comment_approved и comment_mod_approved

 

Судя по всему нужно ещё править файл links.php и classLinks.php
Нужно смотреть везде, где фигурируют комментарии.

Даже в таблице категорий есть поле для хранения общего кол-ва комментариев.

 

Начните с создания кнопок для утверждения/отклонения.

  • Author

Начните с создания кнопок для утверждения/отклонения.

Это самое простое, уже в шаблоне создал.

 

Странные названия полей, учитывая то, что в таблице есть префикс comment_

Можно было создать comment_approved и comment_mod_approved

Можно и так, переименовал.

Это самое простое, уже в шаблоне создал.

Показывайте код тогда

Премодерацию комментариев пускай проходят теже группы, которые и проходят премодерацию самих записей Links.

Где эта настройка?

  • Author

Показывайте код тогда

Кусок кода в шаблоне linkView

 

<if test="$link[ 'canApprove' ] == 1">
<if test="$link[ 'link_approved' ] == 1">
<a href='{parse url="module=links&section=comments&do=unapprove&commentid={$v[ 'comment_id' ]}" base="publicWithApp"}' onclick="return confirm( 'Скрыть' )">
<b>Скрыть</b>
</a>
<else />
<a href='{parse url="module=links&section=comments&do=approve&commentid={$v[ 'comment_id' ]}" base="publicWithApp"}'>
<b>Утвердить</b>
</a>
</if>
</if>

 

Где эта настройка?

В настройках групп, вкладка отвечающая за приложение.

Edited by Haktar

Кнопка

						<if test="$link['canApprove'] == 1">
						<li>
							<if test="$v['comment_approved'] == 1">
								<a href='{parse url="module=links&section=comments&do=unapprove&commentid={$v['comment_id']}&auth_key={$this->member->form_hash}" base="publicWithApp"}' onclick="return confirm( 'Скрыть' )">
									<b>Скрыть</b>
								</a>
							<else />
								<a href='{parse url="module=links&section=comments&do=approve&commentid={$v['comment_id']}&auth_key={$this->member->form_hash}" base="publicWithApp"}'>
									<b>Утвердить</b>
								</a>
							</if>
						</li>
					</if>

 

 

admin/applications_addon/other/links/modules_public/links/comments.php

admin/applications_addon/other/links/sources/classWatchedContent.php

Edited by newbie
Добавил файлы

  • Author

P.S. Лень расписывать правки в файлах. Лучше позже скину отредактированные.

Спасибо, буду ждать.

Проверьте

  • Author

Проверьте

Спасибо, работает.

 

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

Забыл.

 

admin/applications_addon/other/links/sources/classLinks.php

 

																							'where'			=>	'c.comment_link_id = ' . $link[ 'link_id' ],

заменить на

																							'where'			=>	'c.comment_link_id = ' . $link['link_id'] . ($this->memberData['g_l_mod_links'] == 0 ? " AND ( comment_approved=1 OR {$this->memberData['member_id']} = c.comment_member_id )" : ''),

  • Author

Забыл.

 

admin/applications_addon/other/links/sources/classLinks.php

Спасибо, добавил. Ещё раз спасибо.

Edited by Haktar

  • Author

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

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

 

Так они и так идут одобренными.

Я условие взял такое же, какое используется для ссылок

			if ( $this->settings[ 'l_require_approval' ] == 1 )
		{
			if ( $this->memberData[ 'g_l_mod_links' ] != 1 )
			{
				$approved = 0;
			}
		}

  • Author

Так они и так идут одобренными.

Я условие взял такое же, какое используется для ссылок

Да да, всё верно. Это я малость попутался :)

 

Тогда другой вопрос: Как бы сделать что бы контролировать неутверждёные комментарии? То есть список всех таких комментариев на одной странице. Как примерно сделано это с ссылками.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.