Skip to content

Дать пользователю доступ к настройкам системы рекламы

Доброе утро!

 

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

Создатели движка почему-то не внесли такую настройку в раздел "Ограничение доступа в АЦ". Там есть доступ ко всему, что угодно, в том числе, к настройкам правил форума и к настройкам, ограничивающим доступ в АЦ, но нет настроек в раздел "Настройки системы рекламы". Может есть возможность поправить скрипты и внести этот пункт в общее меню допуска к тем или иным разделам? Подскажите если это возможно...

Edited by Одмин

Featured Replies

, то можно любому юзеру (без администраторских прав) дать доступ в тот или иной раздел форума.

У Вас любому? Посмотрел, можно только админам дать урезать права.

  • Author

Точно, только админам)) Тогда можно ли включить доступ к "Настройкам системы рекламы" для админов?

Создатели движка почему-то не внесли такую настройку в раздел "Ограничение доступа в АЦ".

Там есть общее ограничение для всех настроек.

 

Может есть возможность поправить скрипты и внести этот пункт в общее меню допуска к тем или иным разделам?

1. admin/applications/core/modules_admin/settings/xml/permissions.xml

После

 			<item>
			<key>settings_delete</key>
			<string>Can delete settings and setting groups?</string>
		</item>

Добавить

			<item>
			<key>adcodeintegration_manage</key>
			<string>Can access to Ad Code Integration?</string>
		</item>

 

2. admin/applications/core/modules_admin/settings/settings.php

		$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'settings_manage' );

Заменить на

		if (in_array($this->request['do'], array('setting_view', 'setting_update', 'setting_revert')) and ($this->request['conf_group'] == 1 or $this->request['id'] == 1))
	{
		$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'adcodeintegration_manage' );
	}
	else
	{
		$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'settings_manage' );
	}

  • Author

1. /admin/applications/core/xml/core_settings.xml

После

            <item>

                <key>settings_delete</key>

                <string>Can delete settings and setting groups?</string>

            </item>

@newbie, скажите, Вы мне дали участок кода от версии форума 3.4.х? Просто у меня такого нет. У меня локализированная версия, там всё на русском, но там нет таких слов, как "Настройки удаления" (или что-то близкое по смыслу)...

Не тот файл указал. Не внимательно скопировал.

Исправил.

  • Author

@newbie, ещё вопрос, а как должен называться пункт меню, где можно дать доступ к системе рекламы?

newbie, ещё вопрос, а как должен называться пункт меню, где можно дать доступ к системе рекламы?

Как назвали: "Can access to Ad Code Integration?"
  • Author

@newbie, отредактировал 2 файла: permissions.xml и settings.php. Однако, если в качестве доступа поставить галочки только на "Разрешить доступ к модулю Настройки?" и "Can access to Ad Code Integration?", то у этого админа во вкладке "Система" не появляется даже подвкладка "Настройки". Но если добавить к доступу еще галочку "Может добавлять новые настройки и группы настроек?", то тогда в "Системе" появляется "Настройки", но в этом случае появляются абсолютно все настройки.

 

То есть, вот как-то так...

то у этого админа во вкладке "Система" не появляется даже подвкладка "Настройки".

Для пункта "Настройки" установлено свое ограничение.

 

Можете добавить новый пункт, отредактировав файл admin/applications/core/modules_admin/settings/xml/menu.xml

Например, так

<?xml version="1.0" encoding="UTF-8"?>
<menu>
<tabitems>
	<item>
		<title>System Settings</title>
		<subitems>
			<subitem>
				<subitemtitle>System Settings</subitemtitle>
				<subitemlang>settings</subitemlang>
				<subsection>settings</subsection>
				<subitemurl>do=settingsview</subitemurl>
				<subitemrolekey>settings_manage</subitemrolekey>
				<subisredirect>0</subisredirect>
			</subitem>
		</subitems>
	</item>
	<item>
		<title>Ad Code Integration</title>
		<subitems>
			<subitem>
				<subitemtitle>Ad Code Integration</subitemtitle>
				<subitemlang></subitemlang>
				<subsection>settings</subsection>
				<subitemurl>do=setting_view&conf_group=1</subitemurl>
				<subitemrolekey>adcodeintegration_manage</subitemrolekey>
				<subisredirect>0</subisredirect>
			</subitem>
		</subitems>
	</item>
</tabitems>
</menu>

 

Не забудьте обновить кеш приложений

  • Author

@newbie, спасибо, разобрался. Мой вариант меню вот такой:

 

<?xml version="1.0" encoding="UTF-8"?>
<menu>
   <tabitems>
       <item>
           <title>Ad Code Integration</title>
           <subitems>
               <subitem>
                   <subitemtitle>Ad Code Integration</subitemtitle>
                   <subitemlang></subitemlang>
                   <subsection>settings</subsection>
                   <subitemurl>do=setting_view&conf_group=13</subitemurl>
                   <subitemrolekey>adcodeintegration_manage</subitemrolekey>
                   <subisredirect>0</subisredirect>
               </subitem>
           </subitems>
       </item>
   </tabitems>
</menu>

Edited by Одмин

  • Author

И всё-равно, без доступа к "Настройкам" невозможно дать доступ только к "Ad Code Integration", а хотелось бы... (учитывая все те решения, которые внес newbie в данной теме)

И всё-равно, без доступа к "Настройкам" невозможно дать доступ только к "Ad Code Integration", а хотелось бы... (учитывая все те решения, которые внес newbie в данной теме)

Проверил. Работает. Ошибка появляется о недоступности при открытии страницы "Ad Code Integration" или что?
  • Author

@newbie, да, ошибка 1004...

 

Системная ошибка
[#1004] У вас нет прав для доступа к этой странице

  • 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.