Bogatyr666 0 Опубликовано: 18 мая 2012 Рассказать Опубликовано: 18 мая 2012 После перехода на 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> "; } 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 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.