1) Скопируйте из папки Uploads к себе на сайт, в корневую папки engine и uploads, из templates/VASH_SHABLON киньте содержимое в папку с вашим шаблоном. 

2) Поставьте права 777 на /engine/data/qrconf.php

3) Выполните запрос
INSERT INTO `dle_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES ('qr', 'QR Code', 'Генерация и вывод QR кодов загруженных файлов', 'qr.png', '1');


4) В engine/modules/functions.php

После while ( $row = $db->get_row() ) {
Вставьте
		require_once (ENGINE_DIR.'/data/qrconf.php');
		if ($qrconf['aktiv']=='on') {
		$size=$qrconf['size']*50;
		if($qrconf['popup']=='on') $qrimg="<script type=\"text/javascript\">function popup(href) { $(\".popup__overlay\").css(\"display\", \"block\");jQuery('.popup').qrcode({width: $size, height: $size, render	: 'table',text	: href});}function popupoff() { $(\".popup__overlay\").css(\"display\", \"none\");$(\".popup\").html(\"\");}</script><a href=\"javascript:void(0)\" onclick=\"popup('".$config['http_home_url']."uploads/files/".urlencode($row['onserver'])."');\"><img alt=\"qr\" style=\"padding: 0; margin: 0; border:0;\" src=\"{$config['http_home_url']}templates/{$config['skin']}/qr-code.png\" /></a>&nbsp;"; else $qrimg="<script type=\"text/javascript\">$(document).ready(function() {jQuery('#qr{$row['id']}').qrcode({width: $size, height: $size, render: 'table',text	: '".$config['http_home_url']."uploads/files/".urlencode($row['onserver'])."'}); });</script><div class=\"qr\" id=\"qr{$row['id']}\"></div>"; } else $qrimg='';

Вместо
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {

			$replace_1[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";
			$replace_2[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";

		} elseif( $config['files_count'] == 'yes' ) {

			$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
			$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";

		} else {

			$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}]</span>";
			$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}]</span>";

		}

Вставить 
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {

			$replace_1[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";
			$replace_2[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";

		} elseif( $config['files_count'] == 'yes' ) {

			$replace_1[] = "<span class=\"attachment\">{$qrimg}<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
			$replace_2[] = "<span class=\"attachment\">{$qrimg}<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";

		} else {

			$replace_1[] = "<span class=\"attachment\">{$qrimg}<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}]</span>";
			$replace_2[] = "<span class=\"attachment\">{$qrimg}<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}]</span>";

		}

7) В папке с шаблоном, в файле main.tpl
Между <head></head>
<link media="screen" href="{THEME}/style/qr.css" type="text/css" rel="stylesheet" />
 
 После <body> вставить
<div class="popup__overlay" onclick ="popupoff();">
    <div class="popup">

    </div>
</div>

В файле fullsory.tpl сверху вставить
<script type="text/javascript" src="{THEME}/js/jquery.qrcode.min.js"></script>

ДАЛЕЕ ТОЛЬКО ТЕМ, КТО ХОЧЕТ ВМЕСТО АВАТАР ВЫВОДИТЬ КАРТИНКИ QR-КОДОВ!
8) Файле engine/classes/comments.class.php
Вместо
			if( $row['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
			else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
Вставить
			require (ENGINE_DIR.'/data/qrconf.php');
			if( $row['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
			elseif ($qrconf['aktiv']=='on' && $qrconf['avatar']=='on') $tpl->set( '{foto}', 'http://qr.kaywa.com/img.php?s='.$qrconf['size'].'&d='.urlencode($config['http_home_url'].'user/' . $row['name']) ); else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
9) В engine/modules/profile.php
После
if( ! defined( 'DATALIFEENGINE' ) ) {
	die( "Hacking attempt!" );
}
Вставить
require_once (ENGINE_DIR.'/data/qrconf.php');
Вместо
			if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
	else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
Вставить
			if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
	elseif ($qrconf['aktiv']=='on' && $qrconf['avatar']=='on') $tpl->set( '{foto}', 'http://qr.kaywa.com/img.php?s='.$qrconf['size'].'&d='.urlencode($config['http_home_url'].'user/' . $row['name']) ); else  $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
10) В engine/ajax/pm.php
После
require_once ENGINE_DIR . '/modules/sitelogin.php';
вставить
require_once (ENGINE_DIR.'/data/qrconf.php');
Вместо 
			if( $member_id['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
			else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
Вставить
			if( $member_id['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
			elseif ($qrconf['aktiv']=='on' && $qrconf['avatar']=='on') $tpl->set( '{foto}', 'http://qr.kaywa.com/img.php?s='.$qrconf['size'].'&d='.urlencode($config['http_home_url'].'user/' . $member_id['name']) ); else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
11) В engine/init.php
После
if( ! defined( 'DATALIFEENGINE' ) ) {
	die( "Hacking attempt!" );
}
Вставить
require_once (ENGINE_DIR.'/data/qrconf.php');
Вместо
			if( $member_id['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
			else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
Вставить
			if( $member_id['foto'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
			elseif ($qrconf['aktiv']=='on' && $qrconf['avatar']=='on') $tpl->set( '{foto}', 'http://qr.kaywa.com/img.php?s='.$qrconf['size'].'&d='.urlencode($config['http_home_url'].'user/' . $member_id['name']) ); else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
12) В engine/ajax/profile.php
После
	require_once ENGINE_DIR . '/classes/templates.class.php';
Вставить 
	require_once (ENGINE_DIR.'/data/qrconf.php');
Вместо
			if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
			else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
Вставить
			if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
			elseif ($qrconf['aktiv']=='on' && $qrconf['avatar']=='on') $tpl->set( '{foto}', 'http://qr.kaywa.com/img.php?s='.$qrconf['size'].'&d='.urlencode($config['http_home_url'].'user/' . $row['name']) ); else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );


			
Установка завершена. Если файлы не качаются, удалите .htaccess из uploads/files
