Мой точно относится.
Решил недавно добавить такие условия:
Код: Выделить всё
if ($data['post_edit_reason'] || ($user->data['user_type'] != 3 && ($post_mode == 'edit' || $post_mode == 'edit_first_post' || $user->data['user_id'] != $poster_id)))
То есть, информация добавляется в следующих случаях (в порядке иерархии):
1) Само собой, когда указана причина (это - всегда, и не надо тут ничего менять).
2) Если редактирующий - не основатель.
3) Редактируется чужой пост, либо не последний или не единственный в теме пост.
Теперь я захотел добавить ещё и условие, чтобы информация всегда появлялась в тех случаях (для неоснователя), когда уже есть отметки о редактировании - это логично, и для этого решил использовать post_edit_count, а точнее добавить к последним условиям || $data['post_edit_count'] :
Код: Выделить всё
if ($data['post_edit_reason'] || ($user->data['user_type'] != 3 && ($post_mode == 'edit' || $post_mode == 'edit_first_post' || $data['post_edit_count'] || $user->data['user_id'] != $poster_id)))
Но сразу возникла проблема - ничего не работает: пишет "переменная неопределена (или что-то вроде того)" и всё тут.
Однако после этого при создании нового сообщения или темы стал вылазить глюк с неопределённой переменной post_edit_count. Решил я эту проблему вот так:
открыть
posting.php
find
Код: Выделить всё
'post_edit_reason' => $post_data['post_edit_reason'],
after add
Код: Выделить всё
'post_edit_count' => ($mode == 'edit') ? $post_data['post_edit_count'] : false,
То есть 'post_edit_count' берётся только для случаев редактирования сообщений, а не для всех сразу. Теперь всё работает, как надо.
Хотел спросить знатоков: всё ли там корректно?