msnavigator, первое что бросается в глаза при сравнении моего файла
profile.php и вашего:
1. после
CODE:if ($is_moder && !$to_moder) {
у вас не то что должно быть.
2.
CODE:$moders_ban = ' [<a href="profile.php?action=show&member='.$user_id.'&ban=yes">'.(($user['status'] == 'banned') ? $fm->LANG['UserUnban'] : $fm->LANG['UserBan']).'</a>]';
у вас заменен на
CODE:// $moders_ban= '<a href="..........';
ее надо было закоментировать // , т.е. выглядеть она должна так:
CODE://$moders_ban = ' [<a href="profile.php?action=show&member='.$user_id.'&ban=yes">'.(($user['status'] == 'banned') ? $fm->LANG['UserUnban'] : $fm->LANG['UserBan']).'</a>]';
или удалите ее вообще.
3. далее,
CODE:if ($fm->_Boolean1('ban')) {
$user = $fm->_Read2Write($fp_user, 'members/'.$user_id.'.php');
$user['status'] = ($user['status'] == 'me') ? 'banned' : 'me';
$fm->_Write($fp_user, $user);
$fm->_WriteLog(sprintf(($user['status'] == 'banned') ? $fm->LANG['UserBanLog'] : $fm->LANG['UserUnbanLog'], '<b>'.$fm->user['name'].'</b>', '<b>'.$user['name'].'</b>'), 2); // Запись в лог
$fm->_Message($fm->LANG['UsersBan'], sprintf(($user['status'] == 'banned') ? $fm->LANG['UserBanned'] : $fm->LANG['UserUnbanned'], $user['name']), 'profile.php?action=show&member='.$user_id);
}
}
у вас стоит не там где надо.
что имеем в итоге:
в вашем измененном файле надо вам найти строку:
CODE:if ($is_moder && !$to_moder) {
и блок строк:
CODE: if (!isset($user['title']) || !$user['title']) {
switch ($user['status']) {
case 'ad' : $user['title'] = $fm->LANG['Admin'];
break;
case 'sm' : $user['title'] = $fm->LANG['SuperModer'];
break;
case 'me' : $user['title'] = $fm->LANG['User'];
break;
case 'banned' : $user['title'] = $fm->LANG['Banned'];
break;
}
}
все что между ними стереть и согласно инструкции воткнуть вот такой код:
разверни меня (Отобразить)CODE:// $moders_ban = ' [<a href="profile.php?action=show&member='.$user_id.'&ban=yes">'.(($user['status'] == 'banned') ? $fm->LANG['UserUnban'] : $fm->LANG['UserBan']).'</a>]';
$moders_ban= '';
if($user['status'] == 'banned' AND file_exists('data/banned_users/'.$user_id.'.php')) {
$usrban = $fm->_Read('data/banned_users/'.$user_id.'.php');
$moders_ban.= '<br />'.$fm->LANG['BanReason'].': <b>'.$usrban['reason'].'</b> '.$fm->LANG['BanDays'].' <b>'.$usrban['days'].'</b> '.$fm->LANG['BanDateEnd'].': <b>'.$fm->_DateFormat($usrban['end']).'</b>';
}
$moders_ban.= '<hr/><form action="profile.php?action=show&member='.$user_id.'&ban=yes" method="POST">';
if($user['status'] == 'banned') {
$moders_ban.= '<input type="hidden" name="unban" value="1">';
}else {
$moders_ban.= $fm->LANG['BanDays'].': <input type="text" size="5" name="days"> ';
$moders_ban.= $fm->LANG['BanReason'].': <input type="text" size="70" name="reason">';
}
$moders_ban.= '<input type="submit" value="'.(($user['status'] == 'banned') ? $fm->LANG['BanUnSet'] : $fm->LANG['BanSet']).'">';
$moders_ban.= '</form>';
if ($fm->_Boolean1('ban') AND ($user['status'] == 'me' OR $user['status'] == 'banned')) {
$days = isset($fm->input['days']) ? abs(intval($fm->input['days'])) : 0;
$reason = isset($fm->input['reason']) ? $fm->_String('reason') : '';
$unban = isset($fm->input['unban']) ? intval($fm->input['unban']) : 0;
if($reason!='' OR $unban==1) {
if($days>0 OR $unban==1) {
$days = $unban==1 ? 0 : $days;
$user_ban = $fm->_Read2Write($fp_ban, 'data/banned_users/'.$user_id.'.php');
$user_ban['user_id'] = $user_id;
$user_ban['user_name'] = $user['name'];
$user_ban['days'] = $days;
$user_ban['date'] = time();
$user_ban['end'] = mktime(0,0,0,date('m'),date('d')+$days,date('Y'));
$user_ban['reason'] = $unban==1 ? $user_ban['reason'] : ($reason ? $reason : '');
$user_ban['who_id'] = $fm->user['id'];
$user_ban['who_name'] = (isset($fm->LANG['Pun'.$fm->user['status']]) ? $fm->LANG['Pun'.$fm->user['status']].' ' : '').$fm->user['name'];
if($unban==1) {
$user_ban['whounban_id'] = $fm->user['id'];
$user_ban['whounban_name'] = (isset($fm->LANG['Pun'.$fm->user['status']]) ? $fm->LANG['Pun'.$fm->user['status']].' ' : '').$fm->user['name'];
}
$fm->_Write($fp_ban, $user_ban);
}else{
$fm->_Message($fm->LANG['MainMsg'], $fm->LANG['BanErrorDays']);
}
}else{
$fm->_Message($fm->LANG['MainMsg'], $fm->LANG['BanErrorReason']);
}
}
if ($fm->_Boolean1('ban')) {
$user = $fm->_Read2Write($fp_user, 'members/'.$user_id.'.php');
$user['status'] = ($user['status'] == 'me') ? 'banned' : 'me';
$fm->_Write($fp_user, $user);
$fm->_WriteLog(sprintf(($user['status'] == 'banned') ? $fm->LANG['UserBanLog'] : $fm->LANG['UserUnbanLog'], '<b>'.$fm->user['name'].'</b>', '<b>'.$user['name'].'</b>'), 2); // Запись в лог
$fm->_Message($fm->LANG['UsersBan'], sprintf(($user['status'] == 'banned') ? $fm->LANG['UserBanned'] : $fm->LANG['UserUnbanned'], $user['name']), 'profile.php?action=show&member='.$user_id);
}
}
собственно, в других ваших файлах программа-сравнивалка ошибок не выдала