Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Опубликовано:

Что значит "управлять"?

Запись можно удалить/отредактировать/скрыть/закрепить и т.д.

 

Что сейчас нельзя делать?

Опубликовано:
  • Автор

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

Опубликовано:

\applications\blog\sources\Blog\Blog.php

В методе can найти

		if ( $club = $this->club() )
	{
		if ( !$member->member_id )

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

		if ($permission === 'add' and $member->isAdmin())
	{
		return TRUE;
	}

Опубликовано:
  • Автор

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

 

	public function can( $permission, $member=NULL )
{		
	/* Load member */
	if ( $member === NULL )
	{
		$member = \IPS\Member::loggedIn();
	}

	if ($permission === 'add' and $member->isAdmin())
	{
		return TRUE;
	}			

	if ( $club = $this->club() )
	{
		switch ( $permission )
		{
			case 'add':
				return $club->isModerator( $member );

			case 'view':
			case 'read':
			default:
				return $club->canRead( $member );
		}

	}

Изменено пользователем Zero108

Опубликовано:

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

 

Администратор - ?

В коде мы проверяем, что юзер имеет доступ в АЦ.

Я после данной правки создал запись под простым пользователем и после под админом смог ее переместить в блог администратора.

Опубликовано:
  • Автор

Два администратора имеют два блога. После внесения правки в код, администратор не может создать запись в блоге другого администратора, либо перенести запись из блога администратора в свой блог. IPS 4.2.8.

Изменено пользователем Zero108

Опубликовано:

А при чем тут создать?

Если речь шла о переносе записей.

 

Чтобы создавать, нужно изменить \applications\blog\sources\Entry\Entry.php

До

		if ( $showError and !$return )

Добавить

		if ($member->isAdmin())
	{
		$return = true;
	}

 

Перемещение проверьте с таким условием

        if ($permission === 'add' and $member->member_id == X)

X замените на ID админа, под которым будете перемещать записи.

Опубликовано:
  • Автор

Добавление заработало. Столкнулся с такой ситуацией: добавил запись в чужой блог с выключенной кнопкой публикации. Запись сохранилась как черновик (иконка с карандашом). Но после того, как я покинул страницу записи, я не смог её найти. В панели управления модератора её нет. Я смог увидеть черновик только после того, как авторизовался как автор блога. Можно как-то видеть свои скрытые черновики в чужих блогах? Что поменять в коде?

 

tz6DTAV.png

Изменено пользователем Zero108

Опубликовано:
  • Автор

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

Опубликовано:

В панели управления модератора её нет. Я смог увидеть черновик только после того, как авторизовался как автор блога. Можно как-то видеть свои скрытые черновики в чужих блогах? Что поменять в коде?

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

Создал неопубликованную запись. Перешел на страницу блога, и она там отображается.

 

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

У меня недоступные блоги неактивны, т.е. есть, но выбрать нельзя.
Опубликовано:
  • Автор

Ну, а как перемещать, если выбрать нельзя?

 

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

Изменено пользователем Zero108

Опубликовано:
Ну, а как перемещать, если выбрать нельзя?

Так это без правок. С правками перемещается без проблем.

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

Может каких-либо прав не хватает. Я как админ вижу черновик, созданный в чужом блоге.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.