Ответов: 6 Просмотров: 0
|
подтверждаю, ошибка имеется. причем вылезает только если на сервере установлен php 7, на пятерках работает прекрасно.
проблема в этом коде (Отобразить)CODE:function edit_topic_title() {
global $fm;
if ($fm->_POST === false) {
$fm->_Message($fm->LANG['MainMsg'], $fm->LANG['CorrectPost']);
}
$allforums = $fm->_Read2Write($fp_allforums, FM_ALLFORUMS);
if (( $topic_id = $fm->_Intval('topic') ) === 0 || ( $forum_id = $fm->_Intval('forum') ) === 0 || !isset( $allforums[$forum_id] )) {
$fm->_Message($fm->LANG['MainMsg'], $fm->LANG['CorrectPost']);
}
$fm->_GetModerators($forum_id, $allforums);
$list = $fm->_Read2Write($fp_list, 'forum' . $forum_id . '/list.php');
if (!isset( $list[$topic_id] ) || !file_exists('forum' . $forum_id . '/' . $topic_id . '-thd.php')) {
$fm->_Message($fm->LANG['MainMsg'], $fm->LANG['CorrectPost']);
}
if ($fm->_Moderator === false) {
$fm->_Message($fm->LANG['EditTopic'], $fm->LANG['EditNo']);
}
if ($fm->_Boolean($fm->input, 'request') === true) {
if ($fm->input['topictitle'] == '') {
$fm->_Message($fm->LANG['EditTopic'], $fm->LANG['EmptyTitle']);
}
$old_name = $list[$topic_id]['name'];
$fm->input['topictitle'] = $fm->bads_filter(substr($fm->input['topictitle'], 0, 255));
$fm->input['description'] = $fm->bads_filter(substr($fm->input['description'], 0, 160));
$fm->input['keywords'] = $fm->bads_filter(keywordsProcessor(substr($fm->_String('keywords'), 0, 255)));
// Обновление названия темы в родительском форуме, если тема находится в подфоруме
$pcatid = $allforums[$forum_id]['catid'];
if (stristr($pcatid, 'f')) {
$pforum = substr($pcatid, 1, strlen($pcatid) - 1);
if ($allforums[$pforum]['last_post_id'] == $topic_id && @$allforums[$pforum]['last_sub'] == $forum_id) {
$allforums[$pforum]['last_post'] = $fm->input['topictitle'];
}
}
if ($allforums[$forum_id]['last_post_id'] == $topic_id) {
$allforums[$forum_id]['last_post'] = $fm->input['topictitle'];
$fm->_Write($fp_allforums, $allforums);
}
$list[$topic_id]['name'] = $fm->input['topictitle'];
$list[$topic_id]['desc'] = $fm->input['description'];
$fm->_Write($fp_list, $list);
$topic = $fm->_Read2Write($fp_topic, 'forum' . $forum_id . '/' . $topic_id . '-thd.php', false);
$topic[$list[$topic_id]['date']]['name'] = $fm->input['topictitle'];
$topic[$list[$topic_id]['date']]['desc'] = $fm->input['description'];
$topic[$list[$topic_id]['date']]['keywords'] = $fm->input['keywords'];
$fm->_Write($fp_topic, $topic);
// Черканём запись в логе об изменении заголовка темы
if ($old_name != $list[$topic_id]['name']) {
$fm->_WriteLog(sprintf($fm->LANG['EditTopicLog'], $old_name, $list[$topic_id]['name'], strip_tags($allforums[$forum_id]['name'])), 2);
}
$fm->_Message($fm->LANG['EditTopic'], $fm->LANG['EditTopicOk'], 'topic.php?forum=' . $forum_id . '&topic=' . $topic_id);
}
else {
$forumname = $allforums[$forum_id]['name'];
$topicname = $list[$topic_id]['name'];
$description = $list[$topic_id]['desc'];
unset( $list );
$first = reset($fm->_Read('forum' . $forum_id . '/' . $topic_id . '-thd.php'));
$keywords = ( isset( $first['keywords'] ) ) ? $first['keywords'] : '';
$fm->_Title = ' :: ' . $fm->LANG['EditTopic'];
include( './templates/' . DEF_SKIN . '/all_header.tpl' );
include( './templates/' . DEF_SKIN . '/edit_topic_title.tpl' );
include( './templates/' . DEF_SKIN . '/footer.tpl' );
}
}
ругается на эту строку (Отобразить)CODE:$first = reset($fm->_Read('forum' . $forum_id . '/' . $topic_id . '-thd.php'));
решение проблемы : в данной строке заменить reset на current |