Voyager
Посмотрел два твои файла и предлагаю сделать так:
post.php
CODE:<?php
//Если это добвление поста в тему и пост записывается как самостоятельный
//а не как "Добавление" или это создание новой темы то записываем в модульный
//файл пользователя данные об этом посте
if (($vars['action'] == 'addreply' && $post_added) || $vars['action'] == 'addnew') {
$user_file = $exbb['home_path'].'modules/lastposts/posts/'.$exbb['mem_id'].'-st.php';
//Если модульного файла пользователя не существует то массив пустой
//в противном случае считываем массив из файла
$post_message = (file_exists($user_file)) ? get_file($user_file):array();
$post_message[$currenttime]['forum'] = $inforum;
$post_message[$currenttime]['topic'] = $intopic;
//если в массиве больше одной записи, то отсортируем его
//иначе зачем его сортировать
if (count($post_message)>1) {
krsort($post_message,SORT_NUMERIC);
}
//записываем данные в модульный файл темы
save_file($user_file,$post_message);
unset($post_message);
}
?>
postings.php
CODE:<?php
$user_file = $exbb['home_path'].'modules/lastposts/posts/'.$exbb['mem_id'].'-st.php';
//Если существует модульный файл пользователя
if (file_exists($user_file)) {
//Читаем массив из файла
$post_message = get_file($user_file);
//Если в массиве существует запись с ID удаляемого поста
if (array_key_exists($id, $post_message)) {
//удаляем запись о посте
unset($post_message[$id]);
}
if (count() > 0) {
//Если массив данных не пуст сохраняем измененные данные в файл
save_file($user_file,$post_message);
} else {
//в противном случае удаляем файл, зачем нужен пустой файл на сервере :)
unlink($user_file);
}
//уничтожаем массив
unset($post_message);
}
?>
Насчет post.php. У тебя там стояла проверка типа "если да или если нет", то есть абсурд
Дальше не смотрел. Думаю ты уже сам сможешь оптимизировать код мода.
И это просто совет, не подумай чего то плохого .
Респект |