Главная
Название темы
Просмотров
Ответов
Последний
» Установка модуля Яндекс диск для DLE версия 2.1

Установка модуля Яндекс диск для DLE версия 2.1

Минимальны требования для работы модуля: 
- ionCube Loader v.5.x и выше. Перейдя по ссылке, вы должны видеть надпись "ionCube on".
- PHP 5.5 и выше, ваша версия PHP 7.0.21 .

Дополнительно: 
Инструкция по полному удалению модуля
Описание функций модуля, для ваших наработок.

Установка

1. Выберете ваш тип базы данных и перейдите по ссылке для установки MyISAM или InnoDB

2. Скопируйте все файлы на ваш сервер.

3. Откройте файл /engine/download.php и найдите

 

$row = $db->super_query ( "SELECT static_id, name, onserver

 

рядом добавьте

 

, yandex

 

3.2. чуть ниже найдите

 

$row = $db->super_query ( "SELECT news_id, name, onserver

 

рядом добавьте

 

, yandex

 

3.3. ниже найдите

 

$file = new download ( FILE_DIR . $file_name, $row['name'], $config['files_force'], intval($user_group[$member_id['user_group']]['files_max_speed']) );

 

замените на

 

/* начало | временно скачиваем файл с яндекс диска на сервер | author: webarmen.com */
if( $row['yandex'] ) {

require_once ROOT_DIR . '/language/' . $config['langs'] . '/adminyandex.lng';
require_once ENGINE_DIR . '/data/yandex.config.php';
require_once ENGINE_DIR . '/modules/apps/yandex/yandex.functions.php';

$dir_file = downloadTempFile($yandex_config['time_cache_files'], $row['id'], $row['name'], $yandex_config['folder_files_server'], $row['onserver'], $config['charset']);

} else $dir_file = FILE_DIR . $file_name;
/* конец | временно скачиваем файл с яндекс диска на сервер | author: webarmen.com */

$file = new download ( $dir_file, $row['name'], $config['files_force'], intval($user_group[$member_id['user_group']]['files_max_speed']) );

 

 

3.4. ниже найдите

 

$file->download_file();

 

ниже добавьте

 

/* начало | удаляем временный файл с сервера | author: webarmen.com */
if( $row['yandex'] AND $yandex_config['time_cache_files'] AND !$yandex_config['moment_del_cache_files'] ) deleteTempFiles($yandex_config['time_cache_files']);
elseif( $row['yandex'] AND !$yandex_config['time_cache_files'] ) unlinkFile($dir_file);
/* конец | удаляем временный файл с сервера | author: webarmen.com */

 

4. Откройте файл /engine/ajax/upload.php и найдите

 

require_once ENGINE_DIR . '/inc/include/functions.inc.php';

 

ниже добавьте

 

require_once ROOT_DIR . '/language/'.$config['langs'].'/adminyandex.lng';
require_once ENGINE_DIR . '/data/yandex.config.php';
require_once ENGINE_DIR . '/modules/apps/yandex/yandex.functions.php';

 

4.2. ниже найдите

 

$make_watermark = $_REQUEST['make_watermark'] ? intval($_REQUEST['make_watermark']) : false;

 

ниже добавьте

 

$yandex = $_REQUEST['yandex'] ? intval($_REQUEST['yandex']) : false;

 

4.3. ниже найдите

 

$user_group[$member_id['user_group']]['max_file_size'] = $xfparam[15];

 

ниже добавьте

 

$yandex = $xfparam[21];

 

4.4. ниже найдите

 

$uploader = new FileUploader($area, $news_id, $author, $t_size, $t_seite, $make_thumb, $make_watermark, $m_size, $m_seite, $make_medium

 

рядом добавьте

 

, $yandex

 

4.5. ниже найдте

 

$row = $db->super_query( "SELECT id, onserver

 

рядом добавьте

 

, yandex

 

4.6. ниже найдите

 

@unlink( ROOT_DIR . "/uploads/files/" . $folder_prefix . $file );

 

замените на

 

if( $row['yandex'] ) deleteFile('/'.$yandex_config['folder_files_server'].'/'.$row['onserver'], $config['charset']);
else @unlink( ROOT_DIR . "/uploads/files/" . $folder_prefix . $file );

 

4.7. ниже найдите

 

$row = $db->super_query( "SELECT id, name, onserver

 

рядом добавьте

 

, yandex

 

4.8. ниже найдите

 

@unlink( ROOT_DIR . "/uploads/files/" . $folder_prefix . $file );

 

замените на

 

if( $row['yandex'] ) deleteFile('/'.$yandex_config['folder_files_server'].'/'.$row['onserver'], $config['charset']);
else @unlink( ROOT_DIR . "/uploads/files/" . $folder_prefix . $file );

 

4.9. ниже найдите

 

$uploaded_list[] = "<div class=\"uploadedfile\"><div class=\"info\">{$row['name']}</div><div class=\"uploadimage\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$row['id']}:{$row['name']}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" /></a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"files[]\" value=\"{$row['id']}\" data-type=\"file\">&nbsp;{$this_size}</div></div>";

 

замените на

 

if( $row['yandex'] ) $yadisklogo = "<img style=\"width:auto;height:auto;max-width:100px;max-height:90px;position:absolute;top:0;left:0;\" src=\"/engine/skins/images/yandex_file.png\" />";
else $yadisklogo = '';
$uploaded_list[] = "<div class=\"uploadedfile\"><div class=\"info\">{$row['name']}</div><div class=\"uploadimage\" style=\"position:relative;\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$row['id']}:{$row['name']}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" />{$yadisklogo}</a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"files[]\" value=\"{$row['id']}\" data-type=\"file\">&nbsp;{$this_size}</div></div>";

 

4.10. ниже найдите

 

$db->query( "SELECT id, name, onserver, size

 

рядом добавьте

 

, yandex

 

4.11. ниже найдите

 

$uploaded_list[] = "<div class=\"uploadedfile\"><div class=\"info\">{$row['name']}</div><div class=\"uploadimage\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$row['id']}:{$row['name']}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" /></a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"static_files[]\" value=\"{$row['id']}\" data-type=\"file\">&nbsp;{$this_size}</div></div>";

 

замените на

 

if( $row['yandex'] ) $yadisklogo = "<img style=\"width:auto;height:auto;max-width:100px;max-height:90px;position:absolute;top:0;left:0;\" src=\"/engine/skins/images/yandex_file.png\" />";
else $yadisklogo = '';
$uploaded_list[] = "<div class=\"uploadedfile\"><div class=\"info\">{$row['name']}</div><div class=\"uploadimage\" style=\"position:relative;\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$row['id']}:{$row['name']}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" />".$yadisklogo."</a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"static_files[]\" value=\"{$row['id']}\" data-type=\"file\">&nbsp;{$this_size}</div></div>";

 

4.12. ниже найдите

 

if( $config['allow_watermark'] ) $upload_param .= "<hr /><input type=\"checkbox\" name=\"make_watermark\" value=\"yes\" id=\"make_watermark\" checked=\"checked\">&nbsp;<label for=\"make_watermark\">{$lang['images_water']}</label>";

 

ниже добавьте

 

if( $yandex_config['checked_upload_files'] ) $checkya = " checked=\"checked\"";
if( $yandex_config['files_upload'] ) $upload_param .= " | <input type=\"checkbox\" name=\"yandex\" value=\"yes\" id=\"yandex\"{$checkya}>&nbsp;<label for=\"yandex\">" . $lang_yandex['ya_inc_upload_ya'] . "</label>";

 

4.13. ниже найдите

 

uploader._options.params['make_watermark'] = $("#make_watermark").is(":checked") ? 1 : 0;

 

ниже добавьте

 

uploader._options.params['yandex'] = $("#yandex").is(":checked") ? 1 : 0;

 

4.14. ниже найдите

 

$.post( "{$root}engine/ajax/upload.php", { news_id: "{$news_id}", imageurl: copyurl, ftpurl: ftpurl, t_size: t_size, t_seite: t_seite, make_thumb: make_thumb, m_size: m_size, m_seite: m_seite, make_medium: make_medium, make_watermark: make_watermark

 

рядом добавьте

 

, yandex: yandex

 

5. Откройте файл /engine/classes/uploads/upload.class.php и найдите

 

private $news_id = "";

 

ниже добавьте

 

private $yandex = 0;

 

5.2. ниже найдите

 

function __construct($area, $news_id, $author, $t_size, $t_seite, $make_thumb = true, $make_watermark = true, $m_size = 0, $m_seite = 0, $make_medium = false

 

рядом добавьте

 

, $yandex = 0

 

5.3. ниже найдите

 

$this->news_id = intval($news_id);

 

ниже добавьте

 

$this->yandex = intval($yandex);

 

5.4. ниже найдите

 

global $config, $db, $lang, $member_id, $user_group;

 

замените на

 

global $config, $yandex_config, $db, $lang, $member_id, $user_group;

 

5.5. ниже найдите

 

if ($user_group[$member_id['user_group']]['allow_admin']) $db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$added_time}', '{$_IP}', '36', '{$uploaded_filename}')" );

 

ниже добавьте

 

if( $this->yandex AND $yandex_config['files_upload'] == '1' ) {

if( uploadFile($uploaded_filename, 'uploads/files', $yandex_config['folder_files_server'], FOLDER_PREFIX, $config['charset']) == 'OK' ) unlinkFile(ROOT_DIR . '/uploads/files/' . FOLDER_PREFIX . $uploaded_filename);
else $this->yandex = '0';

} else $this->yandex = '0';

 

 

5.6. ниже найдите

 

$db->query( "INSERT INTO " . PREFIX . "_static_files (static_id, author, date, name, onserver, size, checksum) values ('{$this->news_id}', '{$this->author}', '{$added_time}', '{$filename}', '". FOLDER_PREFIX ."{$uploaded_filename}', '{$size}', '{$md5}')" );

 

замените на

 

$db->query( "INSERT INTO " . PREFIX . "_static_files (static_id, author, date, name, onserver, size, checksum, yandex) values ('{$this->news_id}', '{$this->author}', '{$added_time}', '{$filename}', '". FOLDER_PREFIX ."{$uploaded_filename}', '{$size}', '{$md5}', '{$this->yandex}')" );

 

5.7. ниже найдите

 

$return_box = "<div class=\"uploadedfile\"><div class=\"info\">{$filename}</div><div class=\"uploadimage\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$id}:{$filename}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" /></a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"static_files[]\" value=\"{$id}\" data-type=\"file\">&nbsp;".formatsize($size)."</div></div>";

 

замените на

 

if( $this->yandex ) $yadisklogo = "<img style=\"width:auto;height:auto;max-width:100px;max-height:90px;position:absolute;top:0;left:0;\" src=\"/engine/skins/images/yandex_file.png\" />";
else $yadisklogo = '';

$return_box = "<div class=\"uploadedfile\"><div class=\"info\">{$filename}</div><div class=\"uploadimage\" style=\"position:relative;\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$id}:{$filename}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" />".$yadisklogo."</a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"static_files[]\" value=\"{$id}\" data-type=\"file\">&nbsp;".formatsize($size)."</div></div>";

 

5.8. ниже найдите

 

$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, size, checksum) values ('{$this->news_id}', '{$filename}', '". FOLDER_PREFIX ."{$uploaded_filename}', '{$this->author}', '{$added_time}', '{$size}', '{$md5}')" );

 

замените на

 

$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, size, checksum, yandex) values ('{$this->news_id}', '{$filename}', '". FOLDER_PREFIX ."{$uploaded_filename}', '{$this->author}', '{$added_time}', '{$size}', '{$md5}', '{$this->yandex}')" );

 

5.9. ниже найдите

 

} else { $file_link = $config['http_home_url'] . "engine/skins/images/all_file.png";  $data_url = "#"; $file_play = ""; };

 

ниже добавить

 

if( $this->yandex ) $yadisklogo = "<img style=\"width:auto;height:auto;max-width:100px;max-height:90px;position:absolute;top:0;left:0;\" src=\"/engine/skins/images/yandex_file.png\" />";
else $yadisklogo = '';

 

5.10. ниже найдите

 

} else $return_box = "<div class=\"uploadedfile\"><div class=\"info\">{$filename}</div><div class=\"uploadimage\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$id}:{$filename}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" /></a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"files[]\" value=\"{$id}\" data-type=\"file\">&nbsp;".formatsize($size)."</div></div>";

 

заменить на

 

} else $return_box = "<div class=\"uploadedfile\"><div class=\"info\">{$filename}</div><div class=\"uploadimage\" style=\"position:relative;\"><a class=\"uploadfile\" href=\"{$data_url}\" data-src=\"{$id}:{$filename}\" data-type=\"file\" data-play=\"{$file_play}\"><img style=\"width:auto;height:auto;max-width:100px;max-height:90px;\" src=\"" . $file_link . "\" />{$yadisklogo}</a></div><div class=\"info\"><input type=\"checkbox\" id=\"file\" name=\"files[]\" value=\"{$id}\" data-type=\"file\">&nbsp;".formatsize($size)."</div></div>";

 

6. Откройте файл /engine/inc/xfields.php и найдите

 

if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}

 

ниже добавьте

 

require_once ROOT_DIR . '/language/' . $config['langs'] . '/adminyandex.lng';

 

6.2. ниже найдите

 

if ($editedxfield[3] == "text" OR $editedxfield[3] == "select") {

 

выше добавьте

 

if ($editedxfield[3] == "select") {
$editedxfield[21] = 0;
} else {
$editedxfield[21] = ($editedxfield[21] == "on" ? 1 : 0);
}

 

6.3. ниже найдите

 

$checked = ($editedxfield[5] ? " checked" : "");

 

ниже добавьте

 

$checked21 = ($editedxfield[21] ? " checked" : "");

 

6.4. ниже найдите

 

<label for="editxsixt"> <?php echo $lang['xfield_xw2']; ?>&nbsp;<span class="help-button" data-rel="popover" data-trigger="hover" data-placement="right" data-content="<?php echo $lang['xfield_xw3']; ?>" >?</span></label></span></div>
</div>

 

ниже добавьте

 

</div>

<div class="form-group">
<label class="control-label col-md-2"></label>
<div class="col-md-10">
<div id="optional">
<span><input class="icheck" type="checkbox" name="editedxfield[21]"<?php echo $checked21; ?> id="editxfive" />
<label for="editxfive"> <?php echo $lang_yandex['ya_inc_cfields']; ?></label></span></div>
</div>

 

Установка завершена! Перейдите по ссылке в панель управления и настройте модуль. Удалите install.php и ioncube.php

Дополнительно: работа бекапа базы данных через cron, то откройте файл /cron.php и найдите

 

include_once ROOT_DIR.'/engine/inc/dumper.php';

 

замените на

 

include_once ROOT_DIR.'/engine/modules/apps/yandex/dumper.php';

 

Дополнительно: работа бекапа файлов через cron, то откройте файл /cron.php и найдите

 

$cronmode = false;

 

ниже добавьте

 

$allow = false;
$array = false;

if ( $_REQUEST['allow'] ) $allow = $_REQUEST['allow'];
if ( $_REQUEST['array'] ) $array = $_REQUEST['array'];

 

ниже найдите

 

} else {

 

выше добавьте

 

} elseif($cronmode == "backup") {

require_once ENGINE_DIR . '/data/yandex.config.php';

if( $allow ) {

if( !preg_match('/^([a-z0-9]+)([,][a-z0-9]+)*$/i', $allow) ) die ('Error allow');

} else $allow = $yandex_config['allow_file_upload'];

if( $array != 1 AND $array != 2 ) $array = $yandex_config['in_array'];

require_once ROOT_DIR . '/engine/modules/apps/yandex/dump.files.functions.php';
$backup_files = backup_files($allow, $array);

if( $backup_files != 'Error' ) {

if( $yandex_config['upload_files_backup_ya'] ) {

require_once ENGINE_DIR.'/modules/apps/yandex/yandex.functions.php';
if( uploadFile($backup_files, 'backup', $yandex_config['folder_backup_full_ya'], '', $config['charset']) == 'OK' ) {

if( !$yandex_config['copy_backup_full_server'] ) unlinkFile(ROOT_DIR . '/backup/' . $backup_files);
directoryContents($yandex_config['folder_backup_full_ya'], $yandex_config['max_files_dir_full_ya'], $config['charset']);

die ("done");

}

} else die ("done");

} else die ("Error create backup on server, check install extension_loaded zip");

 

 

Дополнительно: работа бекапа через стандартный модуль "Управление базой данных". Откройте файл /engine/inc/dumper.php и найдите

 

if(!defined('DATALIFEENGINE')) {
die("Hacking attempt!");
}

 

ниже добавьте

 

require_once ENGINE_DIR.'/data/yandex.config.php';
require_once ROOT_DIR.'/language/'.$config['langs'].'/adminyandex.lng';

 

ниже найдите

 

function backup() {
global $lang, $config

 

рядом добавьте

 

, $yandex_config, $lang_yandex

 

ниже найдите

 

echo tpl_l("{$lang['dumper_17']}   " . fn_int($tabinfo[0]), C_RESULT);

 

ниже добавьте

 

/* начало | создание бекапа на яндекс диск | author: webarmen.com */
if ( $yandex_config['backup_upload'] ) {

require_once ENGINE_DIR.'/modules/apps/yandex/yandex.functions.php';

if ($this->SET['comp_method'] == 2) $name = $name.".sql.bz2";
elseif ($this->SET['comp_method'] == 1) $name = $name.".sql.gz";
else $name = $name.".sql";

if( uploadFile($name, 'backup', $yandex_config['folder_backup_ya'], '', $config['charset']) == 'OK' ) {

$status = str_replace ("{name}", $name, $lang_yandex['ya_dump_ok']);
if( !$yandex_config['copy_backup_server'] ) unlinkFile(ROOT_DIR . '/backup/' . $name);
directoryContents($yandex_config['folder_backup_ya'], $yandex_config['max_files_dir_ya'], $config['charset']);

}

echo tpl_l(str_repeat("-", 60));
echo tpl_l($status, C_RESULT);

}
/* конец | создание бекапа на яндекс диск | author: webarmen.com */

 

 


Надеемся, что работа с нашим модулем доставит вам только удовольствие.

С уважением, Web-zone.pro.

скачать софт
Яндекс.Метрика Рейтинг@Mail.ru Goon Каталог сайтов Megakassa
Анализ сайта web-zone.pro Индекс цитирования Анализ веб сайтов Анализ сайта Seo анализ сайта Seo анализ сайта Анализ веб сайтов Seo анализ сайта Бесплатный анализ сайта Бесплатный анализ сайта Seo анализ сайта Анализ сайта
Нименование Количество Цена / 1 шт.
Всего: 0 руб.