Перейти к публикации

Рекомендованные сообщения

После перехода на DLE 9.6 перестал работать модуль QR-2.0, хорошо работал на версии 9.3. Помогите разобраться, вот инструкция по установке, если нужно, дам ссылку на сам модуль.

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

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

3) В БД в таблице dle_files создайте колонку qr с атрибутами как у onserver. Я это делаю SQL запросом (только уточняйте кодировку таблицы)

ALTER TABLE `dle_files` ADD `qr` VARCHAR( 250 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL

4) Откройте /engine/inc/options.php

Найдите:

$options['others'] = array (

Вставляем после:

array (

'name' => "QR Code",

'url' => "$PHP_SELF?mod=qr",

'descr' => "Генерация и вывод QR кодов загруженных файлов",

'image' => "qr.png",

'access' => $user_group[$member_id['user_group']]['admin_static']

),

5) Откройте /engine/inc/files.php

После

if( ! defined( 'DATALIFEENGINE' ) ) {

die( "Hacking attempt!" );

}

Поставьте

require_once (ENGINE_DIR.'/data/qrconf.php');

include "qrlib.php";

Вместо

$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time')" );

Поставьте

//qr-code

if ($qrconf['aktiv']=='on') {

$file_qr=$config['http_home_url']. "uploads/files/" .$file_prefix.$image_name;

$PNG_TEMP_DIR = ROOT_DIR.DIRECTORY_SEPARATOR.'uploads/qr-code'.DIRECTORY_SEPARATOR;

if (!file_exists($PNG_TEMP_DIR))

mkdir($PNG_TEMP_DIR);

$errorCorrectionLevel = $qrconf['ecc'];

$matrixPointSize = $qrconf['size'];

$qr=md5($file_qr.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';

$filename = $PNG_TEMP_DIR.$qr;

QRcode::png($file_qr, $filename, $errorCorrectionLevel, $matrixPointSize, 2);

$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, qr) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time', '$qr')" );

$ronid = $db->super_query("SELECT max(id) `id` FROM " . PREFIX . "_files");

for ($x=0; $x<$ronid['id']; $x++) {

$ron = $db->super_query("SELECT * FROM " . PREFIX . "_files WHERE id = $x");

if ($ron['id']!=''){

if ($ron['qr'] == ''){

$file_qr=$config['http_home_url']. "uploads/files/" .$ron['onserver'];

$qr=md5($file_qr.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';

$filenames = $PNG_TEMP_DIR.$ron['onserver'];

$filename = $PNG_TEMP_DIR.$qr;

QRcode::png($file_qr, $filename, $errorCorrectionLevel, $matrixPointSize, 2);

$db->query("UPDATE " . PREFIX . "_files SET qr = '$qr' WHERE id = $x");

$j=$j+1;

} else { $k=$k+1;}

}

}

$i=$j+$k;

if ($j!=0){

echo<<<HTML

Сгенерировано еще {$j} QR-кодов

HTML;

}

//qr-code

} else {

$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time')" );

}

6) В engine/modules/functions.php

Выше while ( $row = $db->get_row() ) { найти

$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );

вместо dcount FROM вставить dcount, qr FROM

В while ( $row = $db->get_row() ) {

После

$find_2[] = "#\#i";

Вставить

require_once (ENGINE_DIR.'/data/qrconf.php');

if ($qrconf['aktiv']=='on') {

if ($row['qr']!=''){

$qrimg="<a id=\"qr\" href=\"{$config['http_home_url']}uploads/qr-code/{$row['qr']}\" title=\"Это QR-код. Для его распознавания нужен декодер на считывающем устройстве. Подробнее на сайте http://qrqr.ru\"><img alt=\"qr\" style=\"padding: 0; margin: 0; border:0;\" src=\"{$config['http_home_url']}uploads/qr-code/qr.png\" /></a>&nbsp;";

} 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_x (их там 4ре) вставить {$qrimg} так:

<span class=\"attachment\">{$qrimg}<a href=

7) В папке с шаблоном, в файле main.tpl

Между <head></head>

<script type="text/javascript" src="{THEME}/js/jquery.fancybox-1.3.4.pack.js"></script>

<script type="text/javascript" src="{THEME}/js/qrpopup.js"></script>

<link rel="stylesheet" type="text/css" href="{THEME}/js/jquery.fancybox-1.3.4.css" media="screen" />

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...