Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Bard

Доступ к закрытому форуму внешним модулем (подробно в тексте)

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

Благодаря Вашей наводке кажется смог решить задачу.

 

Нашел в том же файле чуть ниже обработку запароленного форума.

Ниже строчки // Do we have permission to even see the password page?

 

if ( $deny_access == 0 )
	{
		$group_exempt = 0;

		if ( isset( $this->forum_by_id[$fid]['password'] ) AND $this->forum_by_id[$fid]['password'] AND $this->forum_by_id[$fid]['sub_can_post'] )
		{
			if ( isset( $this->forum_by_id[$fid]['password_override'] ) && IPSText::cleanPermString($this->forum_by_id[$fid]['password_override']) != '' )
			{
				if ( IPSMember::isInGroup( $this->memberData, explode( ",", IPSText::cleanPermString($this->forum_by_id[$fid]['password_override']) ) ) )
				{
					$group_exempt = 1;
					$deny_access = 0;
				}
			}

			if ( $group_exempt == 0 )
			{
				if ( $this->forumsComparePassword( $fid ) == TRUE )
				{
					$deny_access = 0;
				}
				else
				{
					$deny_access = 1;

                                               if ($site_access==1)
					{
						$deny_access = 0;
					}
					else
					{
					   if ( $prompt_login == 1 )
					   {
						if( $return )
						{
							return false;
						}

						$this->forumsShowLogin( $fid );
					   }
                                               } 
				}
			}
		}
	}

$site_access - имеет значение 1 или 0, эту переменную получаю отельным скриптом, который определяет имеет ли пользователь доступ к форуму.

Таким образом полностью сохраняется функционал форума, предусмотренный разработчиками.

Поделиться сообщением


Ссылка на сообщение

Таким образом полностью сохраняется функционал форума, предусмотренный разработчиками.

Он и так сохранялся, просто, к сожалению, видимо вы не поняли работу блока if из моего примера. :(

Но раз работает...

 

Понял, вставлю исключение нужных групп.

Надеюсь групп форумов. Для групп пользователей нужно отдельное условие составить.

 

$site_access - имеет значение 1 или 0, эту переменную получаю отельным скриптом, который определяет имеет ли пользователь доступ к форуму.

Не понимаю логики, раз "отдельный" скрипт определяет доступ пользователя к форму, почему в нем не обрубить ему вход? Зачем разбрасывать по всему метода проверку каких-то переменных?

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...