Перейти к контенту
  • 0

Дата сообщения для Гостей в IPB 1.3


Вопрос

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

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

  • 0

А зачем?

Дата хранится в базе в формате юниксштамп и при просмотре отображается в том часовом поясе, в котором настроен смотрящий.

Скорее наоборот, гостям может быть проблема, они увидят дату в том часовом поясе, на который настроен форум. Если гость сильно заморский, ему будет трудно...

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Просто нужно сокрыть дату или хотя бы время!!! Если не сложно, объясни мне дураку как это сделать для гостей??
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дата хранится в БД в формате юниксштамп: число секунд, прошедших с первого января 1970 года.

Для показа даты в "человеческом" формате в файле functions.php есть функция get_date(юниксштамп, 'формат')

Дальше нужно с умом добавить условия показа.

 

Например, если хочешь скрыть ото всех даты сообщений, оставленных гостями, и скрыть в топиках...

"В топиках" - значит ковырять Topics.php. Для принтпейджей, для поисков и т.д. придется то же повторить по соответствующим файлам: misk/print_page.php, Search.php и т.д.

 

Итак, ковыряем Topics.php

Запускаем поиск по подстроке "$std->get_date". И каждый раз внимательно анализируем, для чего этот вывод даты.

Первое найденное:

$this->topic['TOPIC_START_DATE'] = $std->get_date( $this->topic['start_date'], 'LONG' );

TOPIC_START_DATE - очевидно, что это дата создания топика. Не трогаем.

Ищем дальше.

$e_time0 = $std->get_date( $row0['edit_time'] , 'LONG' );

edit_time - время редактирования. Не трогаем.

Идем дальше:

$row0['post_date']	 = $std->get_date( $row0['post_date'], 'LONG' );

post_date - дата сообщения. Это то, что нам нужно. Если посмотреть код выше, будет понятно, что это только первое сообщение не первой страницы топиков с фиксацией первого сообщения. Но и тут тоже нужно.

Идем выше, смотрим откуда взялась переменная $row0['post_date']. Видим, что из запроса к БД - это поле таблицы ibf_posts. В этой же таблице есть поле author_id, которое у гостей ноль (пустое), а у зарегистрированных пользователей содержит цифру. И это поле забирается в запросе.

Значит

$row0['post_date']	 = $std->get_date( $row0['post_date'], 'LONG' );

меняем на

if($row0['author_id'])$row0['post_date']	 = $std->get_date( $row0['post_date'], 'LONG' );
else $row0['post_date']	 = "- - -";

Точно так же продолжаешь до конца файла...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.