Freestyler(c) Опубликовано 11 Ноября 2009 Жалоба Поделиться Опубликовано 11 Ноября 2009 Возможно ли организовать такую штуку, чтобы когда гость оставлял сообщение, в нем не указывалось/скрывалось время и дата когда он отправил сообщение? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 11 Ноября 2009 Жалоба Поделиться Опубликовано 11 Ноября 2009 А зачем?Дата хранится в базе в формате юниксштамп и при просмотре отображается в том часовом поясе, в котором настроен смотрящий.Скорее наоборот, гостям может быть проблема, они увидят дату в том часовом поясе, на который настроен форум. Если гость сильно заморский, ему будет трудно...Дату по умолчанию и для гостей можно настроить в админке. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Freestyler(c) Опубликовано 11 Ноября 2009 Автор Жалоба Поделиться Опубликовано 11 Ноября 2009 Просто нужно сокрыть дату или хотя бы время!!! Если не сложно, объясни мне дураку как это сделать для гостей?? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 11 Ноября 2009 Жалоба Поделиться Опубликовано 11 Ноября 2009 Дата хранится в БД в формате юниксштамп: число секунд, прошедших с первого января 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'] = "- - -";Точно так же продолжаешь до конца файла... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Freestyler(c)
Ссылка на комментарий
Поделиться на других сайтах
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.