Перейти к публикации
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.

Убрать кнопки

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

Здравствуйте, возникла такая проблема.

 

Я хочу убрать кнопки снизу (красным на картинке показано) чтобы менять email пользователи не могли.

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

 

В крации говоря снизу надо убрать кнопки "Сохранить или Отмена".

 

Вот скрин (!Вам не разрешено использование изображений этого типа.) по этому так с ссылкой: http://imgdepo.ru/id/i5781569

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

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

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

 

Отключить изменения емайла.

 

Открыть admin\applications\core\extensions\usercpForms.php

Найти (стр ~ 3096)

		//-----------------------------------------
		// Check input
		//-----------------------------------------

 

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

		$this->registry->output->showError( 'admin_no_notify_config', 10190.1 );

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

Получается так:

 

		//-----------------------------------------
		// Check input
		//-----------------------------------------
           $this->registry->output->showError( 'admin_no_notify_config', 10190.1 );	
		if( $this->memberData['g_access_cp'] )
		{
			return array( 0 => $this->lang->words['admin_emailpassword'] );
		}

		if ( ! $_POST['in_email_1'] OR ! $_POST['in_email_2'] )
		{
			return array( 0 => $this->lang->words['complete_entire_form'] );
		}

 

или еще выше ?

Я так понял это убирает кнопки и изменения невозможна ни как ?

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

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

и получается так

 

           $this->registry->output->showError( 'admin_no_notify_config', 10190.1 );  

           //-----------------------------------------
           // Check input
           //----------------------------------------- 

 

Хотя в данном случае и не важно, но читать все же надо, потому что иногда это играет важную роль - выше или ниже.

Это запрещает изменения емайл-а.

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

Спасибо получилось. Менять не могут а как сделать чтобы не смогли и пароль менять ? И эти кнопки их откуда убрать можно ?

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

Я могу понять емайлы, но пароли чем уже не угодили? И нафига кнопки убирать если стоит запрет в коде? Где-то в шаблонах.

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

Единый аккаунт. E-Mail менять нельзя он как ID, а Pass можно только с личного кабинета с игры по этому надо запретить и смена пароля.

"Где-то в шаблонах." - примерно можете подсказать где искать ?

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

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

 

	$cur_pass = trim($this->request['current_pass']);

 

Так же такую строчку можете добавить после (!)

 

public function showFormEmailPassword( $_message='' )
{

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

"Где-то в шаблонах." - примерно можете подсказать где искать ?

В том же файле имеем
	/**
 * Hide 'save' button and form elements
 * Useful if you have custom output that doesn't
 * need to use it
 *
 * @var		bool
 */
public $hide_form_and_save_button = false;

 

Добавьте после

public function showFormEmailPassword( $_message='' )
   {

		$this->hide_form_and_save_button = true;

 

Либо ниже найдите подобную строку с условием для юзеров, имеющих доступ в АЦ. Помните, что они меняют пароли и email'ы только через АЦ. Избавьтесь от условия.

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

В том же файле имеем

	/**
 * Hide 'save' button and form elements
 * Useful if you have custom output that doesn't
 * need to use it
 *
 * @var		bool
 */
public $hide_form_and_save_button = false;

 

Добавьте после

public function showFormEmailPassword( $_message='' )
   {

		$this->hide_form_and_save_button = true;

 

Либо ниже найдите подобную строку с условием для юзеров, имеющих доступ в АЦ. Помните, что они меняют пароли и email'ы только через АЦ. Избавьтесь от условия.

 

 

Спасибо! Я так понял теперь

 

$this->registry->output->showError( 'admin_no_notify_config', 10190.1 );

 

можно во все удалить ?

 

 

Либо ниже найдите подобную строку с условием для юзеров, имеющих доступ в АЦ. Помните, что они меняют пароли и email'ы только через АЦ. Избавьтесь от условия. Я так понял что сейчас можно менять данные только через АЦ а по другому ни как да ?

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

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

        $this->hide_form_and_save_button = true;

А после еще добавить

 

	return "<p class='message unspecific'>
		{$this->lang->words['admin_no_notify_config']}
	</p>";

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

можно во все удалить ?

Нельзя, если не хотите чтобы вам отправляли запрос используя свою форму. Можно только из showFormEmailPassword если вы его там добавляли.

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

Спасибо всем за помощь все получилось!!!

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

Чисто для справки.

Кнопки прописаны для всех вкладок в шаблоне userCPTemplate

 

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

Найти в начале

$hasMoreTabs = (is_array($tabs[ $current_tab ]['_menu']) && count($tabs[ $current_tab ]['_menu']) > 1) ? true : false;

Ниже добавить

if( $current_tab == 'core' and $current_area == 'email' )
{
   $hide_form = 1;
}

Это мы скрываем кнопки только во вкладке смены пароля и email'а. Для других, если надо, нужно писать другие условия.

 

Повторюсь, этим действием мы только скрываем кнопки и элементы формы

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

Спасибо большое но мне способы которые приведены в #9 #11 устраивают вполне.

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

Сейчас на странице 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.