Trotor 27 10/10/13 10:18 Вывел некоторую информацию с базы данных на форум, с таблицы ibf_members, а именно с ячейки restrict_post (информация о том находиться пользователь на премодерации или нет).Но как сделать что бы эта инфа отображалась нормальной датой? Поставил так: {$member['restrict_post']} Поделиться сообщением Ссылка на сообщение
Bot 5 10/10/13 10:18 Обратите внимание По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них. Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 10/10/13 12:26 Если там unix timestamp, то:{parse date="$member['restrict_post']" format="short2" relative="true"}https://www.invisionpower.com/support/guides/_/advanced-and-developers/application/using-skin-templates-r154 Поделиться сообщением Ссылка на сообщение
Trotor 27 10/10/13 13:01 @Dmitriy427, А как вывести двойные значения, то есть время когда пользователя отправили на модерацию и время окончания модерации. Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 10/10/13 13:09 Если вам нужно время, а не только дата, то используйте format="long" или format="joined". По дате отправки на модерацию не подскажу, она вроди бы никуда не пишется. Если бы был фиксированный интервал, можно было бы включить математику, а с произвольным можно только добавить поле в таблицу и дописать обработчик modcp. 1 Поделиться сообщением Ссылка на сообщение
Trotor 27 10/10/13 13:26 По дате отправки на модерацию не подскажу, она вроди бы никуда не пишетсяЕсть, вот так в ячейке restrict_post она отображенна:1381411368:1381447368:10:h Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 10/10/13 13:41 Ну тогда:<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"} 1 Поделиться сообщением Ссылка на сообщение
newbie 1723 10/10/13 13:43 Если юзеру запрещают совсем постить, то значение будет равно 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}"; } 2 Поделиться сообщением Ссылка на сообщение
Trotor 27 10/10/13 14:39 Ну тогда:Получилось. Спасибо. ДобавьтеСюда - {parse date="$this->date_start" format="joined" relative="true"} - {parse date="$this->date_finish" format="joined" relative="true"} ? Далее используйте с учетом того, что написал Dmitriy427:А это куда поместить? Поделиться сообщением Ссылка на сообщение
newbie 1723 10/11/13 04:14 Строку добавить в свой код, где Вы получали данные о юзере. А это куда поместить? Далее используйте с учетом того, что написал 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> 1 Поделиться сообщением Ссылка на сообщение
Trotor 27 10/11/13 11:47 (изменено) @newbie, Я совсем запутался. :)Напишите пожалуйста, как это всё должно выглядеть в шаблоне. Изменено 11 октября 2013 пользователем Haktar Поделиться сообщением Ссылка на сообщение
newbie 1723 10/11/13 12:12 Давайте покажу на примере. Добавим информацию в профиль юзера.Для этого откроем шаблон 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> 1 Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 10/11/13 12:32 Теперь в любое место можно добавитьВнутри тегов <php></php>, в начале шаблона, переменные будут изолированы. Т.е. значения присваиваются локально и в любом месте шаблона работать не будут. Ну, у меня не работают, покрайней мере внутри условий и циклов, если не объявлять их как переменные класса. Поделиться сообщением Ссылка на сообщение
newbie 1723 10/11/13 13:04 Внутри тегов , в начале шаблона, переменные будут изолированы. Т.е. значения присваиваются локально и в любом месте шаблона работать не будут. Ну, у меня не работают, покрайней мере внутри условий и циклов, если не объявлять их как переменные класса. В шаблоне из примера из циклов только друзья, последние посетители, кастомные поля. Не думаю, что кто-то туда захочет добавить информацию об ограничениях :) Поделиться сообщением Ссылка на сообщение
Trotor 27 10/12/13 02:32 @Dmitriy427 и @newbieБольшое спасибо, помогли даже больше чем мне было нужно. Респект за советы. Поделиться сообщением Ссылка на сообщение