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

Вывести данные с базы данных

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

Вывел некоторую информацию с базы данных на форум, с таблицы ibf_members, а именно с ячейки restrict_post (информация о том находиться пользователь на премодерации или нет).

Но как сделать что бы эта инфа отображалась нормальной датой?

Поставил так: {$member['restrict_post']}

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


Ссылка на сообщение
Обратите внимание

По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них.

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


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

@Dmitriy427,

А как вывести двойные значения, то есть время когда пользователя отправили на модерацию и время окончания модерации.

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


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

Если вам нужно время, а не только дата, то используйте format="long" или format="joined". По дате отправки на модерацию не подскажу, она вроди бы никуда не пишется. Если бы был фиксированный интервал, можно было бы включить математику, а с произвольным можно только добавить поле в таблицу и дописать обработчик modcp.

  • Upvote 1

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


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

По дате отправки на модерацию не подскажу, она вроди бы никуда не пишется

Есть, вот так в ячейке restrict_post она отображенна:

1381411368:1381447368:10:h

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


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

Ну тогда:

<php>
$dates = explode( ':', $member['restrict_post'] );
$this->date_start = $dates[0];
$this->date_finish = $dates[1];
</php>

{parse date="$this->date_start" format="joined" relative="true"} - {parse date="$this->date_finish" format="joined" relative="true"}

  • Upvote 1

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


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

Если юзеру запрещают совсем постить, то значение будет равно 1, если на опред. срок, то запись будет такой

Начало:Окончание:На сколько:Час_или_день

 

Добавьте

$restrict = IPSMember::processBanEntry( $member['restrict_post'] );

Далее используйте с учетом того, что написал Dmitriy427:

$restrict['date_start']

$restrict['date_end']

$restrict['timespan']

$restrict['unit']

 


Пример:

// Получаем данные об юзере, который находится на премодерации. Остальные нам не интересны.
// Это Вы уже сделали
// .......................

// Формируем сообщение в зависимости от типа ограничения
if ( $member['restrict_post'] == 1 )
{
$message = 'Пользователю запретили писать сообщения на форуме навсегда';
}
else
{
$restrict	= IPSMember::processBanEntry( $member['restrict_post'] );
$start		= $this->registry->getClass('class_localization')->getDate( $restrict['date_start'], 'LONG', 1 );
$end		= $this->registry->getClass('class_localization')->getDate( $restrict['date_end'], 'LONG', 1 );
$count		= $restrict['timespan'];
$unit		= ( $restrict['unit'] == 'd' ) ? 'дней': 'часов';

$message	= "Пользователю запретили писать сообщения на форуме на {$count} {$unit} с {$start} по {$end}";
}

  • Upvote 2

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


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

Ну тогда:

Получилось. Спасибо.

 

Добавьте

Сюда - {parse date="$this->date_start" format="joined" relative="true"} - {parse date="$this->date_finish" format="joined" relative="true"} ?

 

Далее используйте с учетом того, что написал Dmitriy427:

А это куда поместить?

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


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

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

 

А это куда поместить?

Далее используйте с учетом того, что написал Dmitriy427:

$restrict['date_start']

$restrict['date_end']

$restrict['timespan']

$restrict['unit']

Дата начала

{parse date="$restrict['date_start']" format="joined" relative="true"}

Дата окончания

{parse date="$restrict['date_end']" format="joined" relative="true"}

Срок

{$restrict['timespan']}

Часы или дни

<if test="$restrict['unit']"=='d'>дней<else />часов</if>

  • Upvote 1

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


Ссылка на сообщение
10/11/13 11:47 (изменено)

@newbie, Я совсем запутался. :)

Напишите пожалуйста, как это всё должно выглядеть в шаблоне.

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

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


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

Давайте покажу на примере.

 

Добавим информацию в профиль юзера.

Для этого откроем шаблон profileModern (группа Profiles)

 

Данные об ограничении там уже есть - $member['restrict_post']

 

В начало шаблона добавляем

<php>
if ( $member['restrict_post'] )
{
if ( $member['restrict_post'] == 1 )
{
	$message = 'Пользователю запретили писать сообщения на форуме навсегда';
}
else
{
	$restrict   = IPSMember::processBanEntry( $member['restrict_post'] );
	$start      = $this->registry->getClass('class_localization')->getDate( $restrict['date_start'], 'LONG', 1 );
	$end        = $this->registry->getClass('class_localization')->getDate( $restrict['date_end'], 'LONG', 1 );
	$count      = $restrict['timespan'];
	$unit       = ( $restrict['unit'] == 'd' ) ? 'дней': 'часов';

	$message    = "Пользователю запретили писать сообщения на форуме на {$count} {$unit} с {$start} по {$end}";
}
}
</php>

Здесь мы получили данные об ограничениях и сформировали сообщение о сроках.

 

Теперь в любое место можно добавить

{$message}

Чтобы было как на скрине, я сделал так

<if test="$member['restrict_post']"><div class='message error'>{$message}</div><br /></if>

restrict.jpg

  • Upvote 1

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


Ссылка на сообщение
Теперь в любое место можно добавить

Внутри тегов <php></php>, в начале шаблона, переменные будут изолированы. Т.е. значения присваиваются локально и в любом месте шаблона работать не будут. Ну, у меня не работают, покрайней мере внутри условий и циклов, если не объявлять их как переменные класса.

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


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

Внутри тегов , в начале шаблона, переменные будут изолированы. Т.е. значения присваиваются локально и в любом месте шаблона работать не будут. Ну, у меня не работают, покрайней мере внутри условий и циклов, если не объявлять их как переменные класса.

В шаблоне из примера из циклов только друзья, последние посетители, кастомные поля. Не думаю, что кто-то туда захочет добавить информацию об ограничениях :)

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


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

@Dmitriy427 и @newbie

Большое спасибо, помогли даже больше чем мне было нужно. Респект за советы.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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