Перейти к контенту
  • 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']	 = "- - -";

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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