ZipArchive Comment [DLE 9.x - 10.2]
Robot 2014.04.25 DLE хаки 1892Название: ZipArchive Comment
Автор: Qnut
CMS: DLE 9.x - 10.2
Версия: 0.1.1
Описание:
Данный хак позволяет добавлять вам комментарий к загружаемому на сервер ZIP архиву.
Возможности:
Выбор типа комментария архива:
- Добавление обычного комментария в архив;
- Добавление файла в архив, который лежит в корне сайта;
- Создание файла с комментарием;
- Возможность указать максимальный вес файла, который будем править, в Кб, чтобы ограничить нагрузку на сервер;
Требования:
PHP 5: 5.2.0+
PECL zip: 1.1.0+
Установка:
Открыть engine/classess/uploads/upload.class.php, найти ~471 строка:
$uploaded_filename = $this->file->saveFile(ROOT_DIR . "/uploads/files/".FOLDER_PREFIX, $filename, $this->use_prefix);
Ниже вставить:
//Найстройка хака
$ZipArchiveOpt = array (
'type' => "1", // Тип (1 - Добавление обычного комментария в архив; 2 - Добавление файла в архив, который лежит в корне сайта; 3 - Создание файла с комментарием)
'size' => "10240", // Максимальный вес файла в Кб, чтобы ограничить нагрузку на сервер
'name' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет создан
'file' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет взят с папки uploads, в котором будет ваш комментарий
'comment' => "Архив скачан с сайта coderlaba.com", // Комментарий архива
);
if($ZipArchiveOpt['type'] == 1) {
if(stripos ( $filename, ".zip" ) AND ($size <= $ZipArchiveOpt['size']) AND (PHP 5 >= 5.2.0, PECL zip >= 1.1.0)) {
$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
$zip = new ZipArchive;
if ($zip->open($data_url) === TRUE){
$zip->setArchiveComment($ZipArchiveOpt['comment']);
$zip->close();
}
}
} elseif ($ZipArchiveOpt['type'] == 2) {
if(stripos ( $filename, ".zip" ) AND ($size <= $ZipArchiveOpt['size']) AND (PHP 5 >= 5.2.0, PECL zip >= 1.1.0)) {
$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
$data_urls = ROOT_DIR . "/uploads/" .$ZipArchiveOpt['file'];
$zip = new ZipArchive;
if ($zip->open($data_url, ZipArchive::CREATE) === TRUE){
$zip->addFile("{$data_urls}", "{$ZipArchiveOpt['file']}");
$zip->close();
}
}
} else {
if(stripos ( $filename, ".zip" ) AND ($size <= $ZipArchiveOpt['size']) AND (PHP 5 >= 5.2.0, PECL zip >= 1.1.0)) {
$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
$zip = new ZipArchive;
if ($zip->open($data_url, ZipArchive::CREATE) === TRUE){
$zip->addFromString("{$ZipArchiveOpt['name']}","{$ZipArchiveOpt['comment']}");
$zip->close();
}
}
}
У кого возникнут проблемы с кодировкой
Находим:
if($ZipArchiveOpt['type'] == 1 ) {
Вставялем выше:
$ZipArchiveOpt['comment'] = iconv("WINDOWS-1251", "UTF-8", $ZipArchiveOpt['comment']);
или
$ZipArchiveOpt['comment'] = iconv("UTF-8", "WINDOWS-1251", $ZipArchiveOpt['comment']);
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.