Jump to content

Удаление значков в админке

Featured Replies

Posted

Ребят, всем привет!

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

image.png.9a1d25d0443fc22e0ff82b5b6e4479bf.png

В код надо лезть.. 

app/core/modules/admin/members/members.php

Найти

		$table->rowButtons = function( $row ) use( $member )
		{
			return [ 'delete' => [
				'icon'  => 'times-circle',
				'title' => 'delete',
				'link'  => $row['rule'] ? NULL : $member->acpUrl()->setQueryString( ['do' => 'deleteBadge', 'id' => $row['badge_id'], 'member_id' => $member->member_id ] ),
				'class' => $row['rule'] ? 'ipsControlStrip_disabled' : '',
				'data'  => $row['rule'] ? [] : [ 'delete' => '' ],
				'tooltip' => \IPS\Member::loggedIn()->language()->addToStack( $row['rule'] ? 'acp_badge_cannot_delete' : 'delete' )
			] ];
		};

Заменить на 

		$table->rowButtons = function( $row ) use( $member )
		{
			return [ 'delete' => [
				'icon'  => 'times-circle',
				'title' => 'delete',
				'link'  => $member->acpUrl()->setQueryString( ['do' => 'deleteBadge', 'id' => $row['badge_id'], 'member_id' => $member->member_id ] ),
				'class' => '',
				'data'  => [ 'delete' => '' ],
				'tooltip' => \IPS\Member::loggedIn()->language()->addToStack( 'delete' )
			] ];
		};

Еще найти ниже в функции deleteBadges

			$badge = \IPS\Db::i()->select( '*', 'core_member_badges', [ 'rule=0 and member=? and badge=?', $member->member_id, \IPS\Request::i()->id ] )->first();

Заменить на 

			$badge = \IPS\Db::i()->select( '*', 'core_member_badges', [ member=? and badge=?', $member->member_id, \IPS\Request::i()->id ] )->first();

Идеально - заменить хуком, но мне лень. 

А если надо изредка и избранным, то проще в таблице core_member_badges изменить поле 'rule' на 0 y значков конкретного пользователя. 

можно запросиком - update core_member_badges set rule=0 where member=ID_пользователя;

После этого можно отнимать медальки у конкретного пользователя через админку.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.