staker
Мастер
- Регистрация
- 24 Ноя 2006
- Сообщения
- 227
- Реакции
- 33
- Автор темы
- #1
Открываем следующий файлик:
Код
/engine/inc/files.php
Ищем там строчку:
Код
ПЕРЕД ней вставляем следующий код:
Код
Далее ищем такой кусок кода:
Код
ПОСЛЕ него вставляем:
Код
На этом подготовка для загрузки zip-архива закончена, теперь добавим кнопку "Вставить все сразу", это делается в этом же файле.
Ищем кусок кода:
Код
ПОСЛЕ него добавляем:
Код
Далее ищем такой кусок:
Код
ЗАМЕНЯЕМ его (целиком) на следующий:
Код
i
И предпредпоследний штрих, ищем строчку:
Код
ЗАМЕНЯЕМ ее на эту:
Код
Вот собсно и все. Файлик можно закрывать.
Предпоследнее что осталось - скачать библиотеку для работы с zip-архивами Для просмотра ссылки Войдиили Зарегистрируйся
и распаковать ее в папку:
И последнее: создаем в корне двига (там где лежат index.php и admin.php) папку "zip", а в ней подпапку "unziped", и ставим на обе папки права доступа "777".
Мод не мой, я просто разместил объяву.
Код
/engine/inc/files.php
Ищем там строчку:
Код
PHP:
if($_REQUEST['subaction'] == "upload") {
Код
PHP:
function ClearDir($fdir) {
$dir = opendir($fdir);
while ($file = readdir($dir)) {
if ($file != '.' and $file != '..' and $file != '.htaccess' and $file != 'system'){
@unlink($fdir . '/' . $file);
}
}
}
if($_REQUEST['subaction'] == "uploadzip") {
$current_image = "fromzip";
$image = $_FILES[$current_image]['tmp_name'];
$image_name = $_FILES[$current_image]['name'];
$image_size = $_FILES[$current_image]['size'];
$img_name_arr = explode(".",$image_name);
$type = end($img_name_arr);
if ($type != "zip") {
$img_result = "<div><font color=red>Разрешена загрузка только архивов zip.</font></div>";
} else {
$result_img = ROOT_DIR. "/zip/" . $image_name;
@move_uploaded_file($image, $result_img) or $img_result = "<div><font color=red>$lang[images_uperr_3]</font></div>";
}
if ($img_result == '') {
include_once ENGINE_DIR.'/inc/pclzip.lib.php';
$arc = new PclZip( $result_img );
if ($arc->extract(PCLZIP_OPT_PATH, ROOT_DIR . '/zip/unziped' ) == 0) {
ClearDir(ROOT_DIR . '/zip');
ClearDir(ROOT_DIR . '/zip/unziped');
die("Error : " . $arc->errorInfo(true));
}
$file_prefix = time()."_";
$fdir = ROOT_DIR . '/zip/unziped';
$dir = opendir($fdir);
while ($file = readdir($dir)) {
if ($file != '.' and $file != '..' and $file != '.htaccess' and is_file($fdir. '/' . $file)){
$img_name_arr = explode(".",$file);
$type = end($img_name_arr);
if (!in_array($type, $allowed_extensions)) continue;
$imageurl = $fdir. '/' . $file;
$image_name = $file;
if (!is_dir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX)) {
@mkdir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX, 0777);
@chmod(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX, 0777);
@mkdir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs", 0777);
@chmod(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs", 0777);
}
if (!is_dir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX)) {
echo "Directory Error /uploads/posts/".FOLDER_PREFIX."/ cannot created."; die();
}
@copy($imageurl, ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name) or $img_result = "<div><font color=red>$lang[images_uperr_3]</font></div>";
if (file_exists(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name)) {
@chmod (ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name, 0666);
$img_result .= "<div><font color=green>$current_image -> $lang[images_upok]</font></div>";
$row = $db->super_query ("SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '$author' AND news_id = '$add_id'");
if (!$row['count']) {
$added_time = time()+ ($config['date_adjust']*60);
$inserts = FOLDER_PREFIX."/".$file_prefix.$image_name;
$db->query ("INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '$author', '$add_id', '$added_time')");
} else {
$row = $db->super_query ("SELECT images FROM " . PREFIX . "_images where author = '$author' AND news_id = '$add_id'");
if ($row['images'] == "") $listimages = array();
else $listimages = explode("|||", $row['images']);
$error_image = "";
foreach ($listimages as $dataimages) {
if ($dataimages == FOLDER_PREFIX."/".$file_prefix.$image_name) $error_image = "stop";
}
if ($error_image != "stop") {
$listimages[] = FOLDER_PREFIX."/".$file_prefix.$image_name;
$row['images'] = implode("|||", $listimages);
$db->query ("UPDATE " . PREFIX . "_images set images='$row[images]' where author = '$author' AND news_id = '$add_id'");
}
}
include_once ENGINE_DIR.'/inc/makethumb.php';
$thumb=new thumbnail(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name);
if ($thumb->size_auto($config['max_image'])) {
$thumb->jpeg_quality($config['jpeg_quality']);
if ($config['allow_watermark'] == "yes") $thumb->insert_watermark($config['max_watermark']);
$thumb->save(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name);
@chmod (ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name, 0666);
}
if (file_exists(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name))
$img_result_th .="<div><font color=blue>$current_image -> $lang[images_thok]</font></div>";
$config['max_up_side'] = intval($config['max_up_side']);
if ($config['allow_watermark'] == "yes" OR $config['max_up_side']) {
$thumb=new thumbnail(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name);
$thumb->jpeg_quality($config['jpeg_quality']);
if ($config['max_up_side'])
$thumb->size_auto($config['max_up_side']);
if ($config['allow_watermark'] == "yes")
$thumb->insert_watermark($config['max_watermark']);
$thumb->save(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name);
}
}//if file is uploaded succesfully
}
}
ClearDir(ROOT_DIR . '/zip');
ClearDir(ROOT_DIR . '/zip/unziped');
}
}
Код
PHP:
echo <<<HTML
<div class="hr_line"></div>
<div style="padding:4px;">{$img_result}{$img_result_th}</div>
</form>
HTML;
Код
PHP:
echo <<<HTML
<form action='' method='post' enctype="multipart/form-data">
<input type="hidden" name="subaction" value="uploadzip">
<input type="hidden" name="area" value="{$area}">
<input type="hidden" name="images_number" id="images_number" value="1">
<div class="unterline"></div>
<table id="tblSample" class="upload">
<tr id="row">
<td>
Zip-архив с фото: <br /><input type="file" size="70" name="fromzip">
<input type="submit" class="buttons" value=" {$lang['db_load_a']} ">
</td>
</tr>
</table>
<div class="hr_line"></div>
</form>
HTML;
Ищем кусок кода:
Код
PHP:
$listimages = explode("|||", $row['images']);
$i = 0;
$this_size_2 = 0;
$total_size = 0;
Код
PHP:
$insert_all = "";
Код
PHP:
if (!$wysiwyg)
$thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','')\">$dataimages</a>";
else
$thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."')\">$dataimages</a>";
} else {
$thumb_link="<a class=maintitle href=\"java script:insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."')\">$dataimages</a>";
}
Код
i
PHP:
f (!$wysiwyg) {
$thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','')\">$dataimages</a>";
$insert_all .= "insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','');";
} else {
$thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."')\">$dataimages</a>";
$insert_all .= "insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."');";
}
} else {
$thumb_link="<a class=maintitle href=\"java script:insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."')\">$dataimages</a>";
$insert_all .= "insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."');";
}
Код
PHP:
<td colspan=4 align=\"right\"><input class=edit type=submit value=' $lang[images_del] '>
Код
PHP:
<td colspan=4 align=\"right\"><input class=edit type=button value=' Вставить все сразу ' onclick=eval(\"$insert_all\");> <input class=edit type=submit value=' $lang[images_del] '>
Предпоследнее что осталось - скачать библиотеку для работы с zip-архивами Для просмотра ссылки Войди
и распаковать ее в папку:
PHP:
/engine/inc/
Мод не мой, я просто разместил объяву.