» » » ZipArchive Comment [DLE 9.x - 10.2]

Ошибка добавление новости
Вы зашли на сайт как незарегистрированный пользователь.
Для добавления новости Вам требуется зарегистрироваться либо войти на сайт под своим именем.
Ошибка добавление вопроса
Вы зашли на сайт как незарегистрированный пользователь.
Для добавления вопроса Вам требуется зарегистрироваться либо войти на сайт под своим именем.

ZipArchive Comment [DLE 9.x - 10.2]

 Robot    2014.04.25    DLE хаки     1892 
ZipArchive Comment [DLE 9.x - 10.2]


Название: 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']);
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Посетители
not work dle 10.2


7 августа 2014 05:50 Пользователь offline
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.