Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Нужна помощь (добавление файла в архив)

#1 DanTes33

DanTes33
  • Пользователь
  • 1 сообщений
  • Репутация: 0
0

Отправлено 20 Июль 2014 - 19:24

Уважаемые форумчане, вот столкнулся я с такой незадачей:

Нужно к аттачам (архивам zip и rar ) добавить файл readme.txt (там будет написан текст типа "Файл был скачан с сайта site.ru") нашел я в просторах интернета хактакой...

Название: ZipArchive Comment
Автор: Qnut
CMS: DLE 9.x - 10.2

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

Возможности:
Выбор типа комментария архива:
- Добавление обычного комментария в архив;
- Добавление файла в архив, который лежит в корне сайта;
- Создание файла с комментарием;
- Возможность указать максимальный вес файла, который будем править, в Кб, чтобы ограничить нагрузку на сервер.


Установка:
Открыть 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' => "Архив скачан с сайта стерто.ru", // Комментарий архива
			);
			if($ZipArchiveOpt['type'] == 1 ) {
				if(stripos ( $filename, ".zip" ) AND ($size <= $ZipArchiveOpt['size'])) {
					$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'])) {
					$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
					$data_name = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
					$zip = new ZipArchive;
					if ($zip->open($data_url, ZipArchive::CREATE) === TRUE){
						$zip->addFile("{$data_name}", "{$ZipArchiveOpt['comment']}");
						$zip->close();
					}
				}
			} else {
				if(stripos ( $filename, ".zip" ) AND ($size <= $ZipArchiveOpt['size'])) {
					$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();
					}
				}
			}


Открыть language/Russian/adminpanel.lng, найти:
'wysiwyg_language'		=>  "ru",


Ниже вставить:
//zip_comment
'zip_comment'			=> "Архив скачан с сайта стерто.ru",

Но он не работает. и он только для zip (( помогите поправить его и сделать и для rar тоже.. надеюсь и другим ребятам хак будет полезен тоже. Версия DLE 10.2


 

 

  • 0


Оформление форума – IPBSkins.ru