Загрузка пользователем файла и картинки к нему (модуль Files для Slaed 2.1 Lite)
В стандартном варианте пользователю ну никак не загрузить скриншот с компьютера вместе с файлом - по умолчанию скриншот должен хранится на каком-то другом сайте, что очень неудобно пользователям.
Сегодня мы решим эту проблему стандартными функицями Slaed 2.1
II. Редактируем modules/Files/admin/index.php
3.1. После того, как администратор принял решение о размещении или удалении присланного пользователем файла необходимо также разместить или удалить картинку из временного каталога. Привожу начала соответствующих функций
Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| function delit_file($lid, $ok=0) {
global $prefix, $db, $temp_path, $path, $admin_file;
if ($ok==1) {
#---------------------------- начало изменений - в запрос добавлено поле img
$sql = "SELECT url, img FROM ".$prefix."_files WHERE lid=$lid";
#---------------------------- конец изменений
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$filelink = $row[url];
$filel = array_reverse(explode("/", $filelink));
if (file_exists("".$temp_path."/".$filel[0]."")) {
$delf = "".$temp_path."/".$filel[0]."";
@unlink($delf);
}
if (file_exists("".$path."/".$filel[0]."")) {
$delf = "".$path."/".$filel[0]."";
@unlink($delf);
}
#---------------------------- начало изменений
$filelink = $row[img];
$filel = array_reverse(explode("/", $filelink));
if (file_exists("".$temp_path."/".$filel[0]."")) {
$delf = "".$temp_path."/".$filel[0]."";
@unlink($delf);
}
if (file_exists("".$path."/".$filel[0]."")) {
$delf = "".$path."/".$filel[0]."";
@unlink($delf);
}
#---------------------------- конец изменений |
Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function file_add_save($lid, $title, $description, $cid, $filelink, $imglink, $author, $authormail, $authorurl, $f_version, $filesize) {
global $prefix, $db, $temp_path, $path, $admin_file;
$description = (intval($_POST['usehtml'])) ? nl2br(stripslashes($description)) : nl2br(stripslashes(text_filter($description, 2)));
$filel = array_reverse(explode("/", $filelink));
if (file_exists("".$temp_path."/".$filel[0]."")) {
$oldfile = "".$temp_path."/".$filel[0]."";
$newfile = "".$path."/".$filel[0]."";
@rename($oldfile, $newfile);
$filelink = "".$path."/".$filel[0]."";
}
#---------------------------- начало изменений
$filel = array_reverse(explode("/", $imglink));
if (file_exists("".$temp_path."/".$filel[0]."")) {
$oldfile = "".$temp_path."/".$filel[0]."";
$newfile = "".$path."/".$filel[0]."";
@rename($oldfile, $newfile);
$imglink = "".$path."/".$filel[0]."";
}
#---------------------------- конец изменений |
Т.е. происходят теже действия, как и с загруженным файлом, только мы подменили в коде ссылку на картинку.
На этом всё.
Не забудбте выставить параметры на картинки в конфигурациях модуля.
Файлы из дистрибутива системы со всем внесёнными изменениями можно скачать тут.
Дата публикации: 04.02.2007 Прочитано: 11171 раз |